Post statements from your platform through the Bank Feeds API and NetSuite imports them into Banking, Match Bank Data on its next import cycle. Your customer’s admin sets it up once, in about 15 minutes, on the token-based authentication they already use with Apideck.
x-apideck-service-id: netsuite{ "bank_feed_account_id": "bfa_ns_10442", "start_date": "2026-10-05T00:00:00Z", "end_date": "2026-10-11T23:59:59Z", "start_balance": 52000.00, "start_balance_credit_or_debit": "credit", "end_balance": 49981.60, "end_balance_credit_or_debit": "credit", "transactions": [ { "source_transaction_id": "card_88231", "posted_date": "2026-10-06T12:00:00Z", "description": "AWS, October usage", "counterparty": "Amazon Web Services", "amount": 1840.20, "credit_or_debit": "debit", "transaction_type": "payment" }, { "source_transaction_id": "card_88240", "posted_date": "2026-10-08T12:00:00Z", "description": "Trade show booth deposit", "counterparty": "Expo Hall Events", "amount": 450.00, "credit_or_debit": "debit", "transaction_type": "payment" }, { "source_transaction_id": "card_88257", "posted_date": "2026-10-10T12:00:00Z", "description": "Refund, duplicate charge", "counterparty": "Expo Hall Events", "amount": 271.80, "credit_or_debit": "credit", "transaction_type": "credit" } ]}
01How it works
NetSuite does not take bank transactions pushed straight into its ledger. It imports bank data through Financial Institution records and Format Profiles: a connectivity plug-in fetches the data, a parser turns it into transactions, and NetSuite lists them in Banking, Match Bank Data for the bookkeeper to match against what is already in the books.
Apideck ships that plug-in. An admin installs the Apideck bundle once, points a Format Profile at it, and links the bank and card accounts to feed. From then on, every statement you post to the Bank Feeds API is staged inside the customer’s NetSuite account and picked up on the next import, scheduled or on demand.
01 · Your platform
POST /accounting/bank-feed-statements
02 · Apideck
Writes the statement to staging records through the Apideck RESTlet
03 · NetSuite import
The Apideck connectivity plug-in hands the lines to the CSV parser
04 · Match Bank Data
Transactions appear on the linked GL account, ready to reconcile
02Setup
A NetSuite administrator does this once per account. It reuses the token-based authentication from the existing Apideck connection, so there is no new auth flow.
Under Setup, Company, Enable Features, SuiteCloud tab: Client SuiteScript, Server SuiteScript, Custom Records and Token-Based Authentication.
Oracle’s free Bank Statement Parsers SuiteApp (bundle 293699) provides the CSV parser the Apideck plug-in relies on. Skip if already installed.
From Customization, SuiteBundler. It adds the statement and transaction record types, the Apideck Bank Feed RESTlet, a maintenance script and the Apideck Bank Feed Connectivity plug-in.
Setup, Accounting, Financial Institution, Format Profiles. Profile type Bank Reconciliation, connectivity method Apideck Bank Feed Connectivity, parser CSV Plugin Implementation.
Run Update Imported Bank Data once to list the Bank and Credit Card accounts, then link each one to its GL account with an earliest transaction date.
Copy the script and deploy IDs from the RESTlet deployment into the NetSuite connection settings in Apideck Vault. Optionally set an import schedule; every 6 hours is common.
Full step-by-step instructions: NetSuite bank feeds setup guide.
03Fields
The plug-in emits the column headers of NetSuite’s default CSV bank statement template, so the Format Profile’s field mapping works without changes on a standard account.
| NetSuite field | CSV column the plug-in emits | |
|---|---|---|
| Account Number | Account Number | Required by NetSuite |
| Date | Date | Required by NetSuite |
| Transaction Type | Transaction Type | Required by NetSuite |
| Amount | Amount | One signed column |
| Payee or Payer Name | Payee or Payer Name | |
| Transaction Number | Transaction ID | |
| Amount Currency | Currency | |
| Memo | Memo | |
| Customer Name and ID | NS Customer Name, NS Customer Internal ID | |
| Invoice Numbers | Invoice Numbers |
Credit Amount, Debit Amount, Amount Indicator and the closing balance fields stay blank: the single signed Amount column carries the direction. Dates use MM/DD/YYYY and numbers 1,000,000.00, the defaults on a US English account. A locale-aware build of the plug-in is available from Apideck support for other locales.
04In production
Banking, Banking Import History lists every run.
Each failed run offers a downloadable CSV with a reason per row. Send it to Apideck support if the error is unclear.
A scheduled script marks staging records still pending after 7 days as errors and deletes successful ones after 30 days.
Lines appear on the next import: on the profile’s schedule, or when someone clicks Update Imported Bank Data.
05FAQ
Not one you can post transactions to. NetSuite imports bank data through Format Profiles and connectivity plug-ins, then lists it in Match Bank Data. Apideck provides the plug-in and a RESTlet, so you post statements to the Apideck Bank Feeds API and NetSuite imports them on its next cycle.
About 10 to 15 minutes for a NetSuite administrator: enable a few SuiteCloud features, install Oracle’s Bank Statement Parsers SuiteApp and the Apideck bundle, create one Format Profile, link the accounts and save two RESTlet IDs in Apideck Vault.
On the next import cycle. Set an import schedule on the Format Profile, for example every 6 hours, or trigger Update Imported Bank Data on demand. Transactions then appear in Banking, Match Bank Data on the linked GL account.
No. Bank feeds reuse the token-based authentication of the existing Apideck NetSuite connection. The role on that token needs Custom Record Entries, Custom Record Types, SuiteScript and REST Web Services at full level.
Yes. On NetSuite the Bank Feeds API supports listing, reading and creating bank feed accounts, and posting statements against them.
One Bank Feeds API, every ledger
The statement you send to NetSuite is the same one that reaches Xero, Exact Online, Moneybird and the other native ledgers, and QuickBooks Online through Intuit.