Standard NetSuite SFTP tooling doesn't support Pretty Good Privacy (PGP) digital signatures. If you bank with JPMorgan Chase, that means NetSuite doesn’t provide an end-to-end ACH file solution out of the box. And if your vendor bank details originate from an upstream Vendor Onboarding platform, one of the most common alternative 3rd party solutions may not be a fit either.
If you're running Electronic Bank Payments (EBP) out of NetSuite and transmitting ACH files to JPMorgan Chase, there's a good chance your current process has a manual step tucked in the middle of it — someone downloading a file, running it through a local encryption and signing app like Kleopatra or a similar tool, and pushing it out to an SFTP server via FileZilla or equivalent. These steps involve manual human touch points that introduce risk, break your chain of custody for sensitive banking information, and break your clear audit trail.
This article covers what JPM Chase actually requires, where NetSuite's native tooling falls short, where FISPAN (ie, JPM Treasury Ignition) fits and where it doesn't, and how we approached building something that threads the needle for ACH file transmission.
What JPM Chase requires: encryption is not enough
JPM Chase mandates PGP digital signatures on ACH file transmissions — not just encryption.
Encryption protects the data in transit. A digital signature does something different: it cryptographically verifies the sender's identity and confirms the file hasn't been altered between creation and receipt. For some banks, like JPM Chase, that verification requirement is non-negotiable.
NetSuite's N/pgp SuiteScript module, included in Release 2024.2, supports this — but it requires a custom implementation. As part of this implementation, sensitive keys are stored as API Secret Records, not as plain-text fields.
The standard SFTP SuiteApp doesn't cover this
NetSuite's SFTP Connector SuiteApp handles PGP encryption. It does not handle PGP digital signatures.
Where FISPAN fits — and one gap worth knowing about
FISPAN is a well-built solution and worth serious consideration for many NetSuite organizations banking with JPM Chase. It does a lot more than transmit ACH files — positive pay, bank statement import, and live bank balance visibility inside NetSuite are all part of what it brings to the table. If your treasury team wants that broader set of capabilities from a single integration, FISPAN is a legitimate path and we have no reservations recommending it in the right context.
Our solution doesn't address any of that. Our SFTP Advanced Connector is purpose-built for one thing: threading the needle of technical requirements for ACH payment file transmission to the bank and upstream bank detail requirements. If that's the problem you're solving, it might be a good tool. If you are interested in the broader treasury integration picture, FISPAN might be worth a look.
Where FISPAN does run into difficulty is when organizations use an upstream vendor onboarding platform to bring bank details into NetSuite EBP Bank Detail Records. The problem is a data synchronization disconnect — bank details that arrive in NetSuite via a vendor onboarding platform live in NetSuite's EBP Bank Detail Records, but FISPAN maintains its own separate bank detail records with no systematic pathway to keep them in sync. The result is a dual-maintenance burden: two sets of banking records that have to be managed independently.
For organizations that create bank details directly in NetSuite, this likely isn’t an issue. But if your vendor onboarding process is the authoritative source of bank detail data and it flows into NetSuite EBP, this gap is hard to work around cleanly. We hope the FISPAN team addresses it — it's the one thing standing between an otherwise strong solution and broader applicability for complex NetSuite environments.
What a compliant, automated ACH transmission workflow looks like
We built the SFTP Advanced Connector at Opal Creek Consulting to solve the PGP signature gap with a fully automated, auditable file transmission workflow. The setup is all built into the central SFTP Control Tower Record.
- Secret Keys
- JPM SFTP Password: For SFTP connection
- JPM Public Key: For encryption
- Organization Private Key: For digital signature
- Test Connection: to test the SFTP connection without transmitting
- List of Files Pending Signature and Encryption
- Sign & Encrypt: to digitally sign and encrypt the file, while storing a backup of the original
- List of Files Pending Transmission
- Upload (SFTP transmission)
And here's what the file journey looks like end to end:
- The EBP Payment File Administration (PFA) record generates the ACH file into a designated staging folder
- The original file is moved to an archive folder — preserving the direct link to the PFA record for audit purposes
- A copy is created, the PGP digital signature and encryption are applied via API Secret Records, and the signed file moves to the transmission queue
- The file is transmitted and moved to a processed folder. No manual downloads, no local machine handling, no broken chain of custody
The entire sequence runs on a Map/Reduce-scheduled SuiteScript. Every step is logged.
Sandbox safety bonus
In addition to the digital signature functionality, we also added a safety switch that prevents sandbox environment files from accidentally being transmitted to a production bank SFTP endpoint. Accidental live transmissions from test environments are a real failure mode, and a configuration-level control is more reliable than process documentation.
The bottom line
If you're running NetSuite EBP with JPM Chase and you haven't explicitly solved for PGP digital signatures in your integration architecture, you likely have a manual step or two in there that are exposing you to risk, breaking your chain of custody, and breaking your audit trail. The standard tooling doesn't cover it.
If you're evaluating FISPAN and your vendor bank details flow in from an upstream vendor onboarding platform, you will likely hit the wall around the lack of a dynamic synching solution.
We hope native NetSuite and FISPAN will move to close these gaps, but in the meantime, the presented solution offers a way forward. If you find yourself in this particular boat, reach out and we can help.


