How to Import Bank Statements into NetSuite for Reconciliation
Import bank statements into NetSuite: format profiles, CSV, OFX, BAI2 and CAMT.053 files, converting PDFs, matching rules and reconciling accounts.
Short answer
NetSuite reconciles bank and card accounts against imported bank data. You set up a financial institution and a format profile that tells NetSuite how to read your bank's file (CSV, OFX/QFX, BAI2 or CAMT.053 are common), then import statement files or connect a bank feed. Imported lines are matched to NetSuite transactions using matching rules, exceptions are resolved, and the account is reconciled to the statement balance. PDF statements must first be converted into one of the supported formats.
Key takeaways
- NetSuite reconciles against imported bank data, so the quality of the imported file determines how smoothly matching works.
- A format profile per bank defines the file type, column mapping and matching rules.
- CSV is the most flexible format for converted PDF statements; BAI2 and CAMT.053 are common for direct corporate bank files.
- Import complete statement periods without overlaps, then reconcile to the bank's closing balance.
NetSuite is used by growing companies and mid-market groups that have outgrown entry-level accounting software. Its bank reconciliation process is more structured than in small business tools: rather than simply ticking transactions, NetSuite compares imported bank data with transactions recorded in the system, applies matching rules and lets you reconcile once the statement balance agrees.
That makes the bank import step central. This guide explains how bank data gets into NetSuite, how to set up format profiles, which file formats to use, how to convert PDF statements, and how to match and reconcile efficiently. NetSuite is highly configurable and Oracle updates it regularly, so menu names, available SuiteApps and features in your account may differ from the general description here. Your administrator or NetSuite partner can confirm the set-up in your account.
How bank reconciliation works in NetSuite
In current versions of NetSuite, the reconciliation workflow generally has three parts:
- Bank data comes in: through a bank feed connection or by importing a statement file.
- Matching: NetSuite compares imported bank lines with transactions in the account register, such as customer payments, vendor payments, deposits, journal entries and transfers, using matching rules. You confirm automatic matches, match manually or create missing transactions.
- Reconciliation: when matched items account for the statement, you reconcile the account to the bank's ending balance as of the statement date.
Older NetSuite accounts may use legacy reconciliation pages. If your account still uses those, the import concepts still apply, but screens differ.
Step 1: Choose how bank data will reach NetSuite
| Method | How it works | Best for |
|---|---|---|
| Bank feed connection | Data retrieved automatically through supported connectors or the bank's integration | Ongoing daily data where available |
| Direct corporate bank files | Bank delivers BAI2, CAMT.053 or similar files, often via secure file transfer | Larger companies with treasury banking |
| Manual file import | Download a CSV or OFX file from online banking and import it | Smaller accounts, banks without connectors |
| Converted PDF statements | Convert PDFs to CSV or OFX, then import | History, gaps, closed accounts, PDF-only banks |
Many companies use a mix: feeds for main accounts and manual imports for smaller or foreign accounts. Whatever the mix, document which method covers each account and from which date, so nobody imports the same period twice.
Step 2: Understand the supported file formats
Commonly supported formats include:
- CSV: flexible, works with almost any bank and with converted PDFs. You map columns in the format profile.
- OFX and QFX: standard formats with unique transaction IDs, which help prevent duplicates.
- BAI2: a long-established cash management format used by many banks in North America for prior-day and intraday reporting.
- CAMT.053: an ISO 20022 XML end-of-day statement format, increasingly used internationally and in Europe.
Support for some formats may depend on installing a SuiteApp, such as a bank statement parser, in your account. Check with your administrator which parsers are installed.
For background on file formats, see QBO vs OFX vs QIF vs CSV.
Step 3: Set up the financial institution and format profile
The format profile tells NetSuite how to read a particular bank's files and how to match transactions. In general, an administrator:
- Creates or selects a financial institution record for the bank.
- Adds a format profile for that institution, choosing the connectivity method (file import or feed) and the file format.
- For CSV, defines the field mapping: which column holds the date, amount or debit and credit, description, reference or check number, and the date format.
- Links the profile to one or more NetSuite accounts (bank or credit card accounts in the chart of accounts).
- Reviews or adjusts transaction codes and matching rules.
Create a profile per bank and file type. If you use converted PDF statements, create a CSV profile that matches the converter's column layout, so every conversion imports the same way.
Step 4: Prepare the file
A clean CSV import file for NetSuite should have:
| Column | Example | Notes |
|---|---|---|
| Date | 2026-03-14 | One consistent format, matching the profile |
| Description or payee | ACME SUPPLIES INV 4471 | Keep invoice and reference numbers; they help matching |
| Amount | -1,250.00 | Signed, or use separate debit and credit columns |
| Reference or check number | 10452 | Improves matching for checks and payments |
| Transaction ID (optional) | Unique per line | Helps avoid duplicate imports |
Practical rules:
- One header row, no blank rows, totals or opening balance lines.
- Plain numbers: no currency symbols, and a consistent decimal separator.
- One account per file, matching the account the profile is linked to.
- Complete statement periods, with no overlap with earlier imports or feed data.
Step 5: Convert PDF statements when needed
You will need to convert PDFs when:
- Importing history before a feed or file transfer was set up.
- A feed was interrupted and the bank only provides PDF statements for the missing period.
- The account is closed.
- A subsidiary's local bank provides only PDFs.
- An acquisition brings in historic records as PDFs.
A bank statement converter extracts transactions from PDFs into CSV or OFX. StatementPilot checks that each statement's transactions reproduce its opening and closing balances, so you know the file is complete before it reaches NetSuite. Scanned statements are supported through OCR.
Step 6: Import the statement
In general, from the bank data import page in NetSuite:
- Select the account to import into.
- Choose the file and confirm the format profile.
- Submit the import and check the status. Errors usually relate to date formats, unexpected columns or duplicate data.
- Review the imported lines in the matching workspace.
If the import fails on a date or number format, fix the file or the profile rather than editing values one by one.
Step 7: Match bank data to NetSuite transactions
Matching is where most of the time goes, so it pays to optimise it.
How matching rules work
Matching rules compare fields such as amount, date (within a tolerance), transaction number, check number and memo or description between imported lines and NetSuite transactions. Rules can match one bank line to one transaction or handle one-to-many and many-to-one cases, depending on configuration. Automatic matches still need review and confirmation.
Improving match rates
- Put references on outgoing payments. Vendor payment batches should carry identifiers that appear on the bank statement.
- Ask customers to quote invoice numbers on payments; then deposits carry identifiable references.
- Record deposits the way the bank does. If the bank shows one deposit for a batch of customer payments, group payments into a single deposit in NetSuite so amounts match.
- Record bank fees and interest promptly, or use the option to create transactions from unmatched bank lines where available.
- Tune date tolerances: card settlements and ACH may take a day or two.
Handling exceptions
Typical unmatched items and what to do:
| Exception | Likely cause | Action |
|---|---|---|
| Bank line with no NetSuite transaction | Fee, interest, direct debit not yet recorded | Create the transaction |
| NetSuite transaction with no bank line | Outstanding check, deposit in transit, or recorded in error | Leave uncleared if genuine; otherwise correct |
| Amounts differ slightly | Bank charges deducted, foreign exchange | Record the difference |
| One bank line, several transactions | Batched deposit or payment run | Use group matching |
| Duplicate bank lines | Overlapping imports | Delete or exclude the duplicate import |
Troubleshooting import errors
When a file will not import, or imports with odd results, work through these checks:
- The import fails immediately. The file type may not match the format profile, for example a CSV uploaded to an OFX profile, or the CSV has an unexpected delimiter or encoding. Open the file in a text editor to see what it really contains.
- Dates are wrong or rejected. The profile's date format does not match the file, or some rows use a different format. Standardise every date in one format such as YYYY-MM-DD.
- Amounts have the wrong sign. The profile expects signed amounts but the file has separate debit and credit columns, or the reverse.
- Some rows are missing. Rows with blank required fields may be skipped. Check for descriptions that wrapped into a second row during conversion.
- Totals don't agree with the statement. Compare the imported total with the statement's debits and credits. If they differ, the file is incomplete or includes a summary row.
- Everything imported twice. The period overlapped an earlier import or feed. Remove the duplicate import and log the periods covered.
Fix the source file or profile and re-import, rather than editing hundreds of lines by hand.
Step 8: Reconcile the account
When matching is complete:
- Enter or confirm the statement end date and ending balance from the bank.
- Check that the difference is zero, after accounting for genuine outstanding items.
- Submit the reconciliation.
- Run the reconciliation report and keep it with the month-end close file.
Our general guide to how to reconcile a bank statement explains reconciling items and how to track down differences.
Worked example: a first import from PDF history
A software company migrates to NetSuite on 1 January. The bank's file transfer starts on 1 February, so January's activity must be imported from the PDF statement.
- Convert the January PDF to CSV. The converter confirms opening balance 214,880.40 plus credits 386,215.00 minus debits 402,317.92 equals the printed closing balance of 198,777.48.
- Import the CSV using the CSV format profile for this bank: 412 lines.
- Matching rules match 361 lines automatically to customer payments, vendor payments and payroll transfers.
- Of the remaining 51 lines, 38 are bank fees and card processor fees, created as transactions in bulk; 9 are grouped customer receipts matched as group matches; 4 are payments recorded with wrong amounts in NetSuite and corrected.
- Two checks written in late January have not cleared and remain outstanding.
- The account reconciles to 198,777.48 at 31 January.
From February, the automated file feeds the same process, and the January work is already done.
Multi-subsidiary and multi-currency considerations
NetSuite OneWorld accounts often have many bank accounts across subsidiaries and currencies:
- Create format profiles per bank and country, because file layouts, date formats and decimal separators vary.
- Import foreign currency accounts in the account's currency. NetSuite handles exchange rates according to its settings; do not convert amounts in the file.
- Watch intercompany transfers: they should be recorded on both sides so they match in both subsidiaries' accounts.
- Standardise naming of accounts and profiles so the team can find the right one quickly.
Credit card accounts
Corporate card statements can also be imported into credit card accounts in NetSuite. Remember that card statements usually show purchases as positive amounts, so check the sign convention in the profile or file. Card expenses are often recorded through expense reports or vendor bills, so matching rules may need to compare against those. See bank vs credit card statements.
Planning bank data for a NetSuite implementation
Bank data is often an afterthought in ERP projects, yet it affects go-live. Questions to settle early:
- Go-live date and opening balances. Usually the start of a month or year. Bring in each bank account's balance at that date, with a list of outstanding checks and deposits in transit so they can clear in the first reconciliation.
- History. Decide whether detailed historic bank transactions are needed in NetSuite. Many companies keep history in the old system and start fresh, while others import a period of history for continuity and reporting.
- Connectivity per bank. For each bank, decide between a feed, a corporate file transfer or manual import. Corporate file set-up can take weeks of bank paperwork and testing, so start early.
- Interim process. Until automated connectivity is live, plan manual imports, from downloaded files or converted PDF statements, so reconciliation is not delayed.
- Testing. Import a month of real data in a sandbox, tune format profiles and matching rules, and measure match rates before go-live.
Roles and controls
Bank reconciliation in NetSuite fits naturally into a segregated process:
| Role | Responsibilities |
|---|---|
| Administrator | Financial institutions, format profiles, matching rules, permissions |
| Accounts payable and receivable staff | Record payments with references that support matching |
| Treasury or cash accountant | Import bank data, perform matching, investigate exceptions |
| Controller or reviewer | Review and approve reconciliations, monitor aged unmatched items |
Controls worth putting in place:
- Reconciliation deadlines in the month-end calendar, such as within three business days of month-end.
- Review and sign-off of each reconciliation by someone who did not prepare it.
- Aged exceptions reports, with any unmatched item older than a set number of days escalated.
- Change control over matching rules and format profiles, since a careless rule can auto-match incorrectly.
- Restricted permissions for creating transactions from bank lines.
For the wider close process, see our month-end close checklist.
Measuring and improving match rates
Track the share of bank lines matched automatically each month, by account. A falling rate signals a change worth investigating: a customer stopped quoting invoice numbers, a payment run lost its references, or the bank changed its description format. Review the top unmatched description patterns monthly and add or adjust rules. Small improvements compound, because every matched line is one fewer manual decision at month-end.
Common pitfalls
- Overlapping imports, creating duplicate bank lines.
- Date format mismatches between the file and the profile.
- Statements with opening balance or total rows imported as transactions.
- Payments recorded without references, which kills automatic matching.
- Batch deposits recorded as individual receipts, so amounts never match the bank.
- Ignoring old unmatched items, which build up and hide real problems.
- Converting foreign currency amounts before import.
Frequently asked questions
What file formats can NetSuite import for bank statements?
Commonly supported formats include CSV, OFX, QFX, BAI2 and CAMT.053, often through format profiles and bank statement parsing SuiteApps. Which formats are available depends on your account's configuration and installed SuiteApps.
Can I import a PDF bank statement into NetSuite?
Not directly. Convert the PDF into CSV or OFX first, verify that the transactions reproduce the statement balances, and import the file through the appropriate format profile.
Why are my imported bank transactions not matching in NetSuite?
Common causes are missing references, date differences beyond the rule's tolerance, deposits recorded individually when the bank shows a batch, fees deducted from amounts, or transactions not yet recorded in NetSuite. Adjust matching rules and recording practices to improve match rates.
How do I avoid duplicate bank data in NetSuite?
Import complete statement periods only once, do not overlap file imports with feed data, and prefer formats with unique transaction IDs where possible. Keep a log of which periods have been imported for each account.
Do I need a NetSuite administrator to set up bank imports?
Usually, yes. Creating financial institution records, format profiles and matching rules normally requires administrator permissions. Once set up, finance users can import files and perform matching and reconciliation.
Summary
Importing bank statements into NetSuite means setting up a format profile per bank, preparing complete and consistent files (CSV, OFX, BAI2 or CAMT.053), importing without overlaps, matching with well-tuned rules, resolving exceptions and reconciling to the bank's balance. For PDF statements, convert first and verify the balances.
Convert PDF statements to NetSuite-ready CSV with StatementPilot, and see our NetSuite integration notes.