Automated Bank Reconciliation & Matching

What it does

This NetSuite customization automates the matching of imported bank statement lines to the corresponding NetSuite records — payments, customer receipts, deposits, and journal entries — using configurable rules based on amount, date, reference number, and memo fields. High-confidence matches are cleared automatically, while ambiguous items are routed to a structured exception queue for human review.

Finance and accounting teams benefit most at period close, where manual bank reconciliation is one of the most time-consuming bottlenecks. By automating the matching process inside NetSuite, the solution eliminates the line-by-line comparison work that typically takes hours or days per account — freeing the team to focus on genuine exceptions, improve cash visibility, and close faster without sacrificing accuracy.

Automated matching
Bank lines cleared without manual comparison
Configurable rules
Match on amount, date, reference, or memo
Exception handling
Unmatched items flagged for team review
Audit-ready
Every match and clearing traceable in NetSuite

Common use cases

Bank reconciliation automation handles a range of matching scenarios — from simple exact-amount clears to complex bulk deposits, outstanding checks, and recurring bank charges.

Exact Amount & Date Match

Bank lines that match a NetSuite payment or receipt exactly on amount and value date are automatically cleared — the most common and highest-confidence matching scenario.

Reference Number Matching

Payments carrying a check number, wire reference, or invoice number in the bank memo are matched by reference — even when amounts differ due to fees or rounding.

Bulk Deposit Matching

A single bank deposit line covering multiple customer receipts is split and matched across the constituent payments automatically — eliminating the most complex manual matching scenario.

Outstanding Check Clearing

Checks issued in NetSuite are matched against bank clearings as they arrive, with outstanding check aging tracked automatically — no external spreadsheet required.

Bank Fee & Interest Posting

Recurring bank charges, interest credits, and service fees are recognized on import and posted to the correct GL account without manual journal entries each period.

Multi-Bank & Multi-Currency

Organizations running multiple bank accounts or foreign-currency accounts can reconcile all accounts in a single scheduled run, with per-account rules and FX handling configured separately.

How it's built

SuiteScript scheduled scripts drive the matching engine against NetSuite's bank feed data — with configurable scoring rules, exception routing, and automatic GL posting for cleared and unmatched items.

1

Bank Feed Import

Bank statement lines are imported via NetSuite's bank feed integration or a custom CSV/API import — staged as unmatched transactions and queued for the matching engine.

Bank feed CSV import API import
2

Matching Engine

Configurable rules score each bank line against open NetSuite records — evaluating amount, date proximity, reference number, and memo fields to identify the best candidate match.

Amount match Reference match Date tolerance
3

Auto-Clear & Exception Flag

High-confidence matches are cleared automatically. Low-confidence or unresolved lines are routed to a structured exception queue with an alert for the accounting team to review.

Auto-clear Exception queue Team alerts
4

GL Posting & Close

Cleared transactions update the NetSuite reconciliation record. Bank fees and unmatched items are posted via auto-generated journal entries to the configured GL accounts.

Reconciliation update Auto JE GL posting
Visibility & Audit Trail
Every match, clearing, exception, and GL posting is logged inside NetSuite. Saved searches and custom dashboards give the finance team a live view of matched vs. unmatched balances, outstanding checks, and period reconciliation status — no external tools required.
Match/unmatch report Period summary GL posting log
Extensible for advanced reconciliation scenarios
The matching engine can be extended to handle multi-bank account reconciliation in a single run, foreign-currency FX adjustments, lockbox file imports, and custom tolerance rules per account — scaling to complex treasury environments without leaving NetSuite.
Multi-bank FX handling Lockbox import Custom tolerances

Before → After

Before

  • Bank reconciliation is done line-by-line — manually comparing the bank statement to NetSuite records, a process that takes hours or days per account each period.
  • Finance staff must investigate every unmatched item regardless of whether it's a genuine discrepancy or a timing difference.
  • Outstanding checks and deposits in transit are tracked in spreadsheets outside NetSuite, creating version control and accuracy risks.
  • Bank fees and interest postings require manual journal entries each period, adding time and error risk to close.
  • Financial close is delayed while reconciliation is completed, compressing the review window and increasing close-period stress.

After

  • The majority of bank lines are matched and cleared automatically — typically 80–95% straight-through — reducing reconciliation from days to minutes per account.
  • Finance staff focus only on the exception queue, reviewing genuinely ambiguous items rather than every transaction.
  • Outstanding checks and deposits in transit are tracked automatically inside NetSuite with no external spreadsheets required.
  • Recurring bank fees and interest are posted to the correct GL accounts without manual entries each period.
  • Reconciliation can run daily rather than monthly, giving the team a real-time cash view and eliminating close-period bottlenecks.
Talk to us about automated bank reconciliation

Explore more capabilities on the NetSuite Solutions hub or read about our customization services.