All Workflows

Bank Reconciliation

Three-way match across statement + AP schedule + ERP — bank reconciliation software in under 60 seconds.

Live demo Drop in a bank statement and your GL export. Cadel matches every line and proposes adjustment journals for the rest.

The Problem

Manual bank statement reconciliation for mid-market finance teams is a 3–5 day monthly exercise — a controller exports a bank statement, pulls the AP payment schedule from a spreadsheet, and cross-references both against NetSuite bill records. Four classes of problem slip through every cycle.

Three formats, one VLOOKUP nightmare

Bank statements use ISO dates, AP schedules use US dates, NetSuite uses payment IDs. Aligning them requires VLOOKUP chains and conditional formatting that breaks the moment a colleague edits the file.

Controllers cut corners at 200+ payments

Above ~200 monthly payments, controllers match on amount alone when references differ, skip small variances, and defer unreconciled items to next month. A single unposted NetSuite bill payment overstates cash and misstates AP ageing.

Cut-off errors at every quarter-end

A payment clears the bank on 31 March but is posted to NetSuite on 1 April. The closing cash balance and AP liability both misstate under ASC 855 (Subsequent Events) or Ind AS 10 — an audit-explainable difference that escalates findings.

Unposted bank charges = lost tax deductions

Wire fees and FX charges that originate at the bank without a corresponding AP entry create book-to-bank differences. If never posted, the expense is understated and the tax deduction is lost — an ICAI SA 240 fraud-risk indicator requiring escalation.

3–5 days

Per monthly close cycle spent in spreadsheets aligning bank statement + AP schedule + NetSuite ledger by hand. At 200+ vendor payments per month, the manual process becomes a fraud-risk indicator and audit-finding generator under PCAOB AS 2201, SOC 1 Type II, and Section 128 of the Companies Act 2013.

Why It Matters: Audit & Control Context

Bank reconciliation isn’t bookkeeping — it’s a fundamental internal control tested in every audit. Four frameworks impose the discipline that bank reconciliation automation has to meet.

COSO 2013 · PCAOB AS 2201

Fundamental US internal control

Under US GAAP, bank reconciliation is a fundamental internal control. Auditors test it under PCAOB AS 2201 for accelerated filers and as a standard walkthrough item in any SOC 1 / SSAE 18 Type II audit. A persistent gap escalates from effective → deficient → material weakness.

Section 128 · Companies Act 2013

Indian statutory true-and-fair view

Books of account must give a true and fair view of the state of affairs. A bank reconciliation gap that persists across periods is a direct indicator that books do not reconcile to external bank confirmation — auditors expand procedures and may qualify the opinion.

ICAI SA 240 · SA 505

Fraud-risk indicator & confirmation

SA 240 identifies unreconciled bank items as a fraud-risk indicator requiring escalation. SA 505 (External Confirmations) requires auditors to independently verify bank balances — a reconciliation that can’t be traced back to source documents forces expanded confirmation procedures.

ASC 855 · Ind AS 10

Cut-off / subsequent events

A payment that clears the bank in one period but posts to the ERP in another misstates both closing cash and AP liability under Subsequent Events guidance. Recurring cut-off errors are among the most-cited audit findings in mid-market period-close engagements.

What This Workflow Automates

Seven deterministic passes that turn three raw exports into a classified, audit-ready bank reconciliation in under 60 seconds, regardless of transaction volume.

01

Three-source ingestion

Ingests the bank statement (PDF or CSV), AP payment schedule (Excel or CSV) and NetSuite bill payment export (CSV or XLSX) as three discrete document types — normalising dates, reference numbers and amounts to a common schema.

02

Reference normalisation

Payment reference strings are cleaned: whitespace stripped, leading zeros standardised, cheque numbers and wire reference codes aligned. Format differences no longer cause false mismatches.

03

Three-way matching engine

Each bank statement line is matched to an AP schedule entry and a NetSuite bill record on the composite key of payment reference and amount. A transaction is marked Matched only when all three agree.

04

Six-class exception classification

Unmatched transactions are classified deterministically: Missing ERP Entry, Outstanding / Timing, Amount Variance, Duplicate Reference, Cut-Off Exception, or Bank-Originated Charges.

05

Three-way delta surfacing

For Amount Variance exceptions, the workflow shows the per-source delta — bank vs AP schedule vs NetSuite — so the controller can determine whether the gap is a bank charge, partial payment or FX rounding before posting the adjustment JE.

06

Cut-off detection

Transactions where the bank value date and ERP posting date fall in different calendar periods are flagged with the gap noted — supporting the controller’s determination under ASC 855 or Ind AS 10.

07

Audit workpaper output

Exports the reconciliation as a structured report listing matched items, each exception class with source-level detail, and a summary count — ready to attach to the period-close audit file without reformatting.

Edge Cases We Simulate

The workflow ships with a battery of synthetic test scenarios that exercise every failure mode we have seen in real-world data. Each scenario produces a deterministic outcome that an auditor or controller can verify in seconds.

Payment Present in Bank Statement Only

What's wrongA payment appears in the bank statement but has no corresponding entry in either the AP payment schedule or the NetSuite bill records, suggesting an unposted or missed ERP transaction.
Expected outcomeItem flagged as 'Missing ERP Entry'; controller is prompted to create the corresponding bill payment record in NetSuite before period close.

Payment Present in AP Schedule but Not in Bank

What's wrongAn AP payment schedule line exists and NetSuite carries a bill payment record, but the transaction never cleared the bank within the reconciliation period.
Expected outcomeItem flagged as 'Outstanding Payment / Timing Difference'; treated as an in-transit item and held for the following period's recon run.

Amount Mismatch Across All Three Sources

What's wrongA transaction reference matches across the bank statement, AP schedule, and ERP, but the monetary amounts differ — commonly caused by bank charges, partial payments, or FX conversion rounding.
Expected outcomeItem flagged as 'Amount Variance' with the three-way delta displayed; workflow does not auto-match so the controller can investigate and post an adjustment journal entry.

Duplicate Payment Reference

What's wrongThe same payment reference number appears more than once in the bank statement or ERP records, indicating a potential duplicate disbursement or a voided-and-reissued cheque.
Expected outcomeAll instances flagged as 'Duplicate Reference Alert'; the workflow surfaces each line with its date, amount, and source document so the AP team can confirm which entry is legitimate.

Date Boundary Straddle

What's wrongA payment clears the bank on the last calendar day of one period but the ERP bill payment is recorded on the first day of the next period, creating a cut-off discrepancy.
Expected outcomeItem flagged as 'Cut-Off Exception'; workflow notes the one-day gap between bank value date and ERP posting date so the controller can determine whether a reversing entry is required per ASC 855 / Ind AS 10 subsequent events guidance.

Bank Charges and Fees With No AP Schedule Entry

What's wrongBank-originated debit entries such as wire fees, SWIFT charges, or account maintenance fees appear in the bank statement but have no corresponding line in the AP payment schedule or NetSuite bills.
Expected outcomeItems classified as 'Bank-Originated Charges — No AP Source'; controller is prompted to post a miscellaneous expense journal entry to the appropriate GL account before closing the period.

Sample Documents

Seeded sample files used to demonstrate this workflow. Each one exercises a specific scenario or failure mode.

Bank Statement
bank_statement_oct_2024.pdf

Monthly bank statement showing cleared debits and credits including wire transfers, ACH payments, and bank charges; used as the primary source of truth for cash movements during reconciliation.

Payment Schedule
ap_payment_schedule_oct_2024.xlsx

AP team's exported payment run register listing vendor name, invoice reference, payment date, and amount; compared against bank statement lines to detect timing differences and missing disbursements.

ERP Transaction
netsuite_bill_payments_oct_2024.csv

NetSuite bill payment transaction export (Transaction ID, Vendor, Amount, Posting Date, Status) used as the third leg of the match to confirm that cleared bank items are properly recorded in the general ledger.

Why Automation Wins Here

Replacing manual VLOOKUP-chain reconciliation with deterministic bank reconciliation automation takes a 3–5 controller-hour exercise down to 2 minutes of active work: upload, 60s automated run, sign-off on the exception dispositions.

3–5 hrs → 2 min
Per-cycle controller time for the full month-end reconciliation
< 60 s
Automated classification regardless of transaction volume
6
Exception classes detected deterministically per run
3
Sources cross-matched (bank statement + AP schedule + NetSuite GL)

Duplicate payments caught upstream

Reference normalisation + duplicate detection catches paired wire references differing only by a trailing check digit — the cash leak class that survives every manual reconciliation, recoverable only weeks later from the vendor’s next statement.

Cut-off errors flagged automatically

Payments where the bank value date and ERP posting date fall in different periods are surfaced as Cut-Off Exceptions — supporting the controller’s ASC 855 / Ind AS 10 determination without manual cross-period investigation.

SOC 1-ready workpaper

The structured reconciliation report — matched item counts, per-class exception detail, three-way deltas, source-line references — drops directly into the period-close audit file, satisfying COSO, ICAI SA 505 and SOC 1 walkthrough requirements.

Frequently Asked Questions

The questions accountants and finance controllers ask most often before deploying this workflow.

Which accounting standards or internal control frameworks does this reconciliation satisfy?

The workflow supports compliance with ASC 305 (Cash and Cash Equivalents) under US GAAP and Ind AS 7 (Statement of Cash Flows) under Indian GAAP, both of which require that cash balances presented in financial statements agree with bank records. For internal control purposes, the three-way match satisfies the segregation-of-duties and independent reconciliation requirements prescribed under COSO 2013 Control Activities and is directly relevant to ICAI's SA 315 risk-assessment procedures, which require auditors to evaluate the design of bank reconciliation controls.

Does this workflow integrate directly with NetSuite, Tally, or SAP?

Cadel accepts the ERP leg as a structured export (CSV, XLSX, or PDF) from any system — NetSuite, SAP Business One, Tally Prime, QuickBooks, or Zoho Books — without requiring an API connector. For NetSuite specifically, the standard Transaction > Bill Payments saved-search export maps directly to the workflow's ERP Transaction document type. Mid-market teams that do not have a dedicated ERP integration team can run the reconciliation by uploading the three source files manually each period.

How does the workflow handle multi-currency payments?

When the bank statement records a payment in a foreign currency (e.g., USD wire from an INR-functional entity), the workflow compares amounts in the currency as recorded in each source document rather than converting to a single base currency. Any discrepancy arising from the bank's applied exchange rate versus the ERP's booked rate is surfaced as an Amount Variance exception, giving the controller the raw figures needed to post an FX gain or loss journal entry under Ind AS 21 or ASC 830.

What does the audit trail look like, and can it be exported for external auditors?

Every reconciliation run produces a timestamped, line-level results table showing the match status ('Matched', 'Missing ERP Entry', 'Outstanding Payment', 'Amount Variance', 'Duplicate Reference', 'Bank-Originated Charge') alongside the source document, page or line reference, and the amounts from all three legs. This output can be exported as a PDF or XLSX workpaper and attached directly to the period-close audit file, satisfying the documentation requirements under ICAI SA 230 (Audit Documentation) and PCAOB AS 1215.

How long does the reconciliation take compared with a manual VLOOKUP-based process?

A typical mid-market entity with 200–400 payment transactions per month that previously required 6–10 person-hours of manual VLOOKUP, pivot-table, and email-chase work can complete the same three-way reconciliation in under 20 minutes using Cadel. The time saving is concentrated in the matching and exception-isolation steps; the controller still reviews and approves flagged items, which preserves the internal control integrity of the process.

Can this workflow be used for multi-entity or multi-bank-account reconciliations?

Yes. Each workflow run is scoped to one bank account and one reconciliation period, so controllers running reconciliations for multiple entities or multiple bank accounts simply initiate a separate run per account. There is no cross-contamination of data between runs. For groups that consolidate under Ind AS 110 or ASC 810, the per-entity reconciliation outputs serve as supporting schedules for the consolidated cash and cash-equivalents note.