Acumatica · Customization

Acumatica Cash Management — Bank Reconciliation

How to use Acumatica Cash Management for fast, accurate bank reconciliation — statement import, auto-matching, manual match UI, and the workflows that close the loop with AP and AR.

John Kihiu12 min read

Bank reconciliation is where an Acumatica implementation proves whether its cash management setup was done properly. When the Cash Accounts, entry types, and clearing accounts are configured right, month-end rec is a twenty-minute matching exercise. When they are not, it is a spreadsheet-assisted archaeology dig. Having set this up for companies banking across Kenyan and regional banks — where statement formats are, let us say, diverse — here is how the pieces fit and where implementations go wrong.

The moving parts

Reconciliation in Acumatica revolves around a few objects:

The manual flow, briefly

On CA302000 you create a statement for the cash account, set the statement date and the bank's ending balance, and Acumatica lists all unreconciled cash transactions up to that date — AP payments, AR receipts, cash entries, transfers. You tick what appears on the bank statement. The screen maintains the running arithmetic: reconciled balance versus statement balance, with the difference on display. When the difference is zero, you release the reconciliation, which stamps the transactions as reconciled and locks them.

The discipline that makes this work: nothing touches the bank GL account except through Cash Management documents. The moment someone posts a manual GL journal directly to the bank account, that entry exists in the ledger but not in the CA subledger, and your reconciliation screen can never see it. The fix is configuration, not vigilance — on the GL account, restrict direct posting (control account settings on recent builds make the bank account a CA-controlled account), forcing everything through cash transactions.

Bank feeds and auto-matching

For any account with real volume, manual ticking is a waste of a human. The Process Bank Transactions flow imports statement lines — via bank feeds (Plaid and similar in supported regions), OFX/QFX, or a CSV import scenario, which is what I build for most East African banks — and auto-matches them against open cash transactions.

Matching quality is configurable on the Cash Account's reconciliation settings: date tolerance in days, amount matching, reference number weighting, and payee fuzziness. My starting values, tuned per bank afterwards: ±3 days date tolerance, exact amount required, reference weight high if the bank preserves your payment references (many do not — test with a real month of data before promising anything).

CSV IMPORT SCENARIO — TYPICAL MAPPING
Source column        -> Target field (CABankTran)
TXN_DATE             -> Tran. Date
VALUE_DATE           -> (ignored; matching uses Tran. Date)
NARRATION            -> Tran. Desc
REF_NO               -> Ext. Ref. Nbr
DEBIT / CREDIT       -> Disb. / Receipt (two columns, one signed
                        amount — normalise in the scenario formula:
                        =IIf([DEBIT]<>'', -Cdec([DEBIT]), Cdec([CREDIT])) )

Unmatched statement lines fall into two buckets: transactions Acumatica has that the bank shows differently (usually timing — cheques in transit), and bank-side items Acumatica has never heard of (charges, interest, reversed items). For the second bucket, entry types shine — the reconciler picks "Bank Charges" from a dropdown and the screen creates and releases the cash transaction with the right offset account, no accountant intervention.

Deposits in transit need a clearing account

If receipts are batched — the till takes fifty payments, one consolidated amount hits the bank — reconcile against a clearing cash account and use CA deposits to group receipts into the amount the bank actually shows. Trying to match fifty AR payments to one bank line without deposits is the single most common reason auto-matching "doesn't work" on retail-ish implementations.

The recurring failure modes

Tying it to period close

I put bank reconciliation first on every period-close checklist, because it is the earliest reliable detector of subledger drift: un-reconcilable differences are usually mispostings that also pollute AP/AR. Release the reconciliation, file the bank statement PDF against the reconciliation record (attach it — auditors love this), and only then move down the close list.

Wrapping up

Good reconciliation is 90% setup: cash accounts flagged and locked against direct posting, uncleared items loaded at cutover, entry types for bank-side noise, deposits for batched receipts, and an import scenario tuned to your bank's actual file quality. Get those right and the monthly ritual becomes what it should be — a fast, boring confirmation that cash is where the ledger says it is.

John Kihiu
Acumatica ERP Developer · Laravel Engineer

Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.