NetCash - Tips and Troubleshooting
Overview
This article covers the issues NetCash users hit most often - bank activity not syncing, reconciliations out of balance, automation rules not creating or matching, duplicate transactions, and CSV imports that won't read. If a bank feed stopped, a reconciliation won't tie, an automation rule isn't firing, or a CSV upload shows nothing, start here. Most of these resolve without a support ticket once you know where to look.
Tips
Stagger your automation schedules. If a Create Transaction rule produces duplicate journal entries, the usual cause is the bank-sync job and the automation job running at the same time. Set your automation scripts (NetCash | Bank - Automate - Create / Match / Trans | MR) to run an hour or two *after* your bank sync job so the day's activity is fully imported before rules fire.
Unmatch can delete your GL transactions
The Unmatch process offers an option to delete the corresponding GL transaction along with the match. If you select it, NetCash removes those NetSuite transactions and there is no undo inside NetCash - recovery means recreating them or a NetSuite data restoration. Keep this in mind when unmatching, and select Void or Keep instead of delete if you do not intend to delete the transaction.
Troubleshooting
Before anything else, confirm you're on the latest NetCash SuiteApp version - it resolves many of the issues below. To check your version, visit marketplace.netgain.tech/apps and select Sign In in the top right corner. Follow the prompts to sign into your NetSuite account. Then, select NetCash and check the latest vs installed version.
| Issue | What to check |
|---|---|
| Bank transactions stopped importing / a day or account is missing | Check:
|
| Reconciliation is out of balance / shows a variance | Check:
|
| Automation rule isn't creating or matching | Check:
|
| Duplicate bank transactions or duplicate journal entries | Check:
|
| Manual Match page won't load / spins / can't pull data | Check:
|
| Match History shows a bank total of zero | Check:
|
| "You are not enabled as a NetCash User" / can't open NetCash pages | Check:
|
| Reconcile page, Reconciliation Detail, and Proof of Cash don't tie | Check:
|
Importing bank activity (CSV)
When a bank isn't connected by feed, or a feed missed a transaction, you upload activity through NetCash > Setup > Import Bank Activity using the Transaction CSV Import Tool. This is the source of a specific cluster of issues, almost all about how the file is formatted.
Tips for a clean import
- Include the required fields: Name/Description, Date, Amount (or separate Debit/Credit), and the Account identifier. Save as a comma-delimited `.csv`.
- Note that the Name field has a 300-character limit but Description and Alt Description have a 4,000-character limit.
- Use slash-separated dates (ex. `MM/DD/YYYY` or `DD/MM/YYYY`). Dot-separated European dates (`01.01.2026`) are the most common cause of a "date format invalid" error.
- To route a multi-account file automatically, leave the Bank Account dropdown blank on the import page, then, map the account number column to the account number stored on the NetCash Bank Account record OR map the account text column to the account name stored on the NetCash Bank Account record.
| Import issue | What to check |
|---|---|
| File uploads but no data appears / everything lands in one column | Check:
|
| "Date format is invalid" | Check:
|
| Data shows the wrong sign after import (debit/credit) | In NetCash, debit is cash in and credit is cash out. Oftentimes, the bank statement is opposite. If it's opposite what you expect after upload, reupload using the other field (Amount or Debit/Credit) or you may need to manually edit your file before import to reflect debit = cash in and credit = cash out. |
| Import error / "NetCash | Data Import | MR" fails | Check:
|
| Imported the wrong month / a duplicate batch | Check:
|
Automation rules and CSV imports
If "Run Automation Rules" is enabled on the import, your rules fire against the imported activity as soon as it lands. That's convenient, but confirm the imported transactions carry the fields your rules need (Merchant, subsidiary) so the rules don't error or post to the wrong place.
Viewing script errors
Most NetCash behavior runs through background Map/Reduce scripts, so the real error is in the logs, not on screen.
- Script Execution Logs - Customization > Scripting > Script Execution Logs. Filter Type = Error and filter to the relevant script (for example, `NetCash | Data Import | MR` for imports or `NetCash | Bank - Automate - Create | MR` for Create Transaction rules), plus the date the issue occurred.
- Map/Reduce Script Status - Customization > Scripting > Map/Reduce Script Status shows whether a job actually ran, is queued, or failed, and on which deployment.
- Per-deployment Execution Log - open the script > Deployments > the deployment > Execution Log subtab to see logs for that specific deployment.
- Log lines read as `script id | stage | error: message` - the message is what support needs.
If you have the Netgain Tools SuiteApp, there's a faster way. The Netgain Tools SuiteApp - the same one that delivers Shared Transactions and Cross-Validation Rules - adds Netgain's own log viewer at Netgain > Development > Script Logs. It reads the same execution logs but is built for troubleshooting: you can search the log message text directly (an error name or a record ID), filter across several scripts, log types, and a date range at once, and see timestamps in your local time instead of server time. The Netgain menu only appears when that SuiteApp is installed, so it is not available on a NetCash-only account.
When you contact support
Include the script name, the exact error message and its timestamp, the bank account and period involved, and the subsidiary.
NetCash scripts
These are the background scripts a customer is most likely to meet in a log or in troubleshooting. Script names and IDs are from the current SuiteApp.
| Script (NetSuite name) | Type | What it does | When it runs |
|---|---|---|---|
| NetCash | Data Import | MR | Map/Reduce | Processes bank activity uploaded through the Import Bank Activity (CSV) tool | When you submit a CSV import |
| NetCash | Bank - Automate - Create | MR | Map/Reduce | Creates NetSuite transactions (JE, Check, Deposit) from bank activity per your Create Transaction rules | On its scheduled deployment (set it to run after the bank sync) |
| NetCash | Bank - Automate - Match | MR | Map/Reduce | Runs GL Match / auto-match rules against unmatched bank and GL activity | Scheduled deployment, or on demand via Execute |
| NetCash | Bank - Automate - Trans | MR | Map/Reduce | Creates transfers per your Create Transfer rules | Scheduled deployment |
| NetCash | Bank Tran - Plaid | MR (and Finicity, Skript, GoCardless, NetSuite Bank equivalents) | Map/Reduce | Pulls bank activity from the aggregator/feed into NetCash | On schedule, typically early each morning |
| NetCash | Bank Go Live | MR | Map/Reduce | Builds cutover items and opening balances during go-live | When you generate/refresh the Go Live page |
| NetCash | Bank App | SL | Suitelet | Serves the NetCash pages (Manual Match, Reconcile, Match History, Dashboard) | When you open a NetCash page |
Direct bank API connections sync through RESTlets rather than the Map/Reduce jobs above. Several user-event and client scripts also run automatically as you work in NetCash - for example, the user-event script that enforces the NetCash User requirement when you open a NetCash page.
Frequently asked questions
| Question | Answer |
|---|---|
| Why don't the Reconcile page, Reconciliation Detail report, and Proof of Cash agree? | They calculate the difference differently and on different dates. The Reconcile and Proof of Cash pages compute an adjusted bank balance (bank balance plus outstanding checks and deposits in transit) against the GL balance, so outstanding items net to zero by design. The Reconciliation Detail report is a period-based snapshot and does not classify an item as outstanding until the month *after* its transaction date. A December check isn't "outstanding" on the December Detail report - it appears once you advance to January. A zero Proof of Cash difference alongside outstanding items on the Detail report is normal. |
| A transaction shows in NetSuite's native Match Bank Data but not on the NetCash Manual Match page. Why? | Most often the transaction is dated before the cutover date (handle it as a cutover item), or was already picked up by a Create Transaction rule. Pre-cutover items live in the Go-Live cutover flow, not the Manual Match page. |
| How do I record a beginning/opening balance? | The beginning balance on the Reconciliation Detail report is the cutover-date GL balance, not the Initial Balance field on the bank account. If there's no GL transaction before the cutover date, set the Initial Balance to 0 and bring the opening amount in as a bank transaction / cutover item on the Go-Live page. |
| How do I tell which transactions are matched vs. unmatched? | There is no native "Cleared" flag like standard NetSuite bank rec. Use the Bank Activity report filtered to matched or not matched, and the Reconcile page per account. The All Reports page lists all available reports. |
| Why is my credit card reconciliation off by transactions that posted after the statement date? | Credit card charges entered in one month but cleared the next are normal reconciling items - the statement-date vs. posting-date timing gap. Leave them outstanding in the current reconciliation; they clear the following period. NetCash uses the Statement Eligibility Date to handle this timing. |
| Can I wipe NetCash and start over? | Yes, with the Mass Delete tool, deleting record types in dependency order: Match Items, then Match Groups, Transactions, Bank Accounts, Automation Rules, Automation Groups, Bank Institutions. Note that deleting a bank account also clears its reconciliation records - inactivate rather than delete if you want to keep history. |
| Can NetCash auto-assign the bank account on a CSV import from the file? | Only if the account number in the file matches the account number stored on the NetCash Bank Account record OR the account text column in the file matches the account name stored on the NetCash Bank Account record. Import templates otherwise upload to the account saved on the template. |
| How does NetCash connect to my bank and import transactions? | NetCash pulls bank activity through open banking APIs, whether directly or using third-party providers. It does not use bank file transfers, file parsers, or screen scrapes. Where no API connection is available, you bring activity in through the CSV import tool (see Importing bank activity above). |
| Why can't NetCash connect to my bank? | NetCash does not connect to every bank. A bank has to allow third-party open banking API access, and many banks - and whole regions - have not adopted it. If a bank does not permit API connections, NetCash cannot pull its data and you would import activity by CSV instead. Availability varies by region:
If your bank is not connectable, use the CSV import tool, or ask Netgain whether a direct API connection is available. |
| What is open banking, and why does NetCash use it instead of file transfers or parsers? | Open banking lets you share your bank data with a third-party provider through APIs, replacing older methods: bank file transfers (data files such as the BAI2 cash-management format, which the bank has to send and which vary between banks), file parsers (programs that reformat a bank file for another system), and screen scraping (capturing data from the bank's website). APIs return data in a consistent format with minimal setup and support real-time access and automation, so NetCash uses them by default. |
Still need help?
If you've worked through the relevant section and the issue persists, email support@netgain.tech with a detailed description of your issue including any errors or related scripts, how your bank is connected to NetCash, the bank account and reconciliation period involved, and the subsidiary.
