Daily Cash Position Roll-Up (Multi-Bank)
Multi-bank statement ingestion + GL book-tie + overdraft detection — cash position rollup automation in under 90 seconds per run.
| Bank Name | Account No. | IFSC | Opening | Credits | Debits | Closing |
|---|---|---|---|---|---|---|
| Acme Bank | ACMEXXX1001 | ACME0001001 | 85,00,000 | 27,50,000 | 19,00,000 | 93,50,000 |
| Acme Bank | ACMEXXX1002 | ACME0001002 | 43,75,000 | 18,50,000 | 11,12,500 | 51,12,500 |
| Acme Bank | ACMEXXX1003 | ACME0001003 | 60,00,000 | 0 | 0 | 60,00,000 |
The Problem
Treasury teams at mid-market companies spend the first 60–90 minutes of every morning on a task that should take under two minutes: downloading bank statement exports, re-keying balances into a master Excel, and manually tying each closing balance to the GL cash book — before the CFO needs the cash position rollup on their desk by 10:00 AM.
60–90 minutes of manual re-keying every morning
A treasury analyst at a five-bank entity manually downloads statement PDFs or portal exports from each bank, opens the master Excel, locates the correct row for each account, and keys in opening balance, credits, debits, and closing balance. With each additional bank account the process adds roughly 15–20 minutes of copy-paste work and one additional opportunity for a transcription error to misstate the consolidated position reported to the CFO.
Unrecorded receipts sit undetected until month-end
When the bank credits a receipt that the accounts team has not yet posted, the bank closing balance exceeds the GL book closing balance by that amount. In a manual process, a Rs 25,000 unrecorded receipt — as occurs routinely in the Acme Bank edge case — is discovered only at month-end bank reconciliation, potentially 20–30 days after it hit the account. Under Ind AS 7 (Statement of Cash Flows) the GL balance must agree to audited bank figures; a day-old discrepancy compounds into a multi-day closing problem.
Stale files silently invalidate the consolidated total
A treasury analyst who accidentally uploads yesterday's sweep account statement produces a stale opening balance that invalidates the entire consolidated INR total. There is no automated gate in a manual Excel-based process to prevent a prior-day file from being included. The CFO receives a figure that looks correct but reflects a position 24 hours old — which, for entities with working capital facilities, means the Drawing Power calculation fed to the lender is also wrong.
Overdraft breaches go unreported until penal interest accrues
For entities with CC (cash credit) or OD (overdraft) facilities, a negative closing balance is a reportable event under the facility sanction letter — not a bookkeeping anomaly. Without a daily automated check, an account that dips negative may not be flagged until the bank charges penal interest or formally notifies the entity of a covenant breach. Under the Companies Act 2013 and Secretarial Standards, the audit committee is expected to have same-day visibility into material treasury events of this kind.
The daily treasury cost of a manual cash position rollup for a mid-market entity with five or more operating bank accounts — entirely avoidable with automated extraction, GL-tie and exception-flagging. Under ICAI's Guidance Note on Internal Audit, the daily bank-to-book reconciliation is treated as a minimum-sufficiency cash control. When that control is performed manually, its reliability is bounded by analyst fatigue and schedule adherence — not by the data.
Why It Matters: Regulatory Context
The daily cash position report is not a convenience output — it is a primary input into short-term liquidity management and, for companies with working capital facilities, a covenant-compliance document. Four distinct regulatory frames impose obligations that a manual rollup struggles to satisfy consistently.
Cash and cash equivalents must tie to GL
Ind AS 7 (Statement of Cash Flows) requires that cash and cash equivalents in the balance sheet correspond exactly to the opening and closing balances in the cash flow statement. Any bank-book difference that is not explained and adjusted before the period close creates a direct misstatement in the financial statements. The daily bank-to-book tie is the upstream control that prevents such misstatements from accumulating.
Reconciliation gaps require explanation
The ICAI Guidance Note on Bank Reconciliation Statements requires that differences between the bank passbook balance and the cash book balance be explained and documented as part of month-end close. A daily automated check at a Rs 100 tolerance creates a continuous, dated record of these explanations — reducing the month-end reconciliation burden and providing auditors the evidence chain they need under ICAI SA 505 (External Confirmations).
Audit committee visibility into treasury risk
Under Section 177 of the Companies Act 2013, the audit committee is mandated to review the adequacy of internal financial controls, including controls over cash and liquidity. For entities with CC or OD facilities, the sanction letter typically imposes a Drawing Power calculation and a covenant that the account must not breach an agreed limit — making a negative closing balance a reportable event, not just a bookkeeping anomaly.
Auditors must understand cash controls
Under ICAI SA 315 (Identifying and Assessing the Risks of Material Misstatement), auditors are required to understand the entity's information system and internal controls relevant to financial reporting, including controls over cash balances. The Cadel run log — with check-by-check results, variance amounts, and run timestamps — constitutes documented evidence of a daily preventive control over treasury balances that directly supports this auditor assessment.
What This Workflow Automates
Seven deterministic passes from raw bank statement extract and GL cash book to a consolidated CFO treasury pack — in under 90 seconds per run, with a complete audit trail on every check.
Document ingestion & classification
Accepts two document types simultaneously — Bank Statements (one row per operating account: bank name, account number, IFSC, statement date, opening balance, credits, debits, closing balance) and Cash Book / GL Extract (same accounts with GL code, book date, book opening, receipts, payments, and book closing) — and classifies each file automatically based on column signature so the user can drop both together without labelling.
Structured field extraction
For each document, all fields are extracted into a typed data model. Amounts are parsed as Decimal to preserve paise precision with no rounding artefacts, dates are normalised to the run date's timezone (YYYY-MM-DD), and account numbers are canonicalised to strip leading zeros before matching — preventing false NO_MATCH results from format differences between the bank's export and the ERP's GL code.
Per-account validation checks
Six checks run per account entry on each document: Bank Book Tie (closing balance vs book closing within Rs 100 tolerance), Statement Date Current (statement date equals today's run date), Account Present In Both (account number in both files), No Negative Closing (closing balance ≥ 0), Opening Equals Prior Closing (today's opening = prior day's confirmed closing), and Entries List Non-Empty. Any check that cannot be evaluated because the counterpart document is missing returns not_performed rather than a false pass.
Cross-document reconciliation
The reconciliation engine joins bank statement rows to cash book rows on normalised account number, then evaluates Account Number Match, Bank Name Match (fuzzy 80% threshold via RapidFuzz), and Bank Book Closing Balance Tie — reporting the exact variance in rupees where a mismatch is detected, and flagging every source-only or target-only row as a missing-account exception.
Status badge assignment
Each account receives a status badge — Pass (green) if all checks succeed, Exception (amber) if a Bank Book Mismatch or Stale Statement is found, or Critical (red) if a Negative Closing or Missing Account is detected. Accounts with Stale Statement or Missing Account flags are excluded from the consolidated INR total to prevent a misleading aggregate reaching the CFO.
Consolidated cash position summary
Computes the confirmed cash position: sum of all green-badged closing balances, a separate subtotal of amber accounts under investigation, and a footnote for any excluded accounts — so the reader can distinguish confirmed cash from unverified cash at a glance. The consolidated position is accompanied by a count of exceptions by class (Mismatch, Stale, Negative, Missing) for the treasury controller's review.
Treasury pack generation & export
Produces an Excel treasury pack structured as the CFO's 10:00 AM daily report: one summary tab (consolidated position, status badges, exception count) and one detail tab (all extracted fields, check results, and variance amounts per account). The pack is available under the Roll-Ups view and exportable as .xlsx or CSV. The entire extraction-to-pack pipeline completes in under 90 seconds from upload.
Edge Cases We Simulate
Six synthetic test scenarios exercise every failure mode seen in real-world treasury data. Each produces a deterministic outcome an auditor or controller can verify in seconds.
Bank-Book Mismatch — Unrecorded Receipt
Stale-Dated Statement — Sweep Account
Missing Account in Roll-Up
Negative Closing Balance — Overdraft Breach
Opening Balance Discontinuity
Sample Files & Results
Eight seeded sample files — four bank statement variants paired with four matching GL cash book variants — exercise every check and edge case documented above.
bank_statements_clean.xlsx + cash_book_clean.xlsx
All six checks pass. Bank closing balance confirmed identical to GL book closing. Credits Rs 27,50,000 match book receipts exactly; debits Rs 19,00,000 match book payments. This pair serves as the baseline clean-match scenario for the 10:00 AM daily treasury pack.
bank_statements_bank_book_mismatch.xlsx
Bank receipts Rs 18,50,000 vs book receipts Rs 18,37,500 — a Rs 12,500 unrecorded credit that when combined with the book payments difference yields the Rs 25,000 closing variance. Detected on the same day it arose; in a manual process this would surface only at month-end close.
bank_statements_stale_statement.xlsx
Statement Date Current check fails. The sweep account is blocked from the consolidated INR total until the correct morning extract is uploaded. Cash book extract confirms book closing of Rs 60,00,000 but the bank-side figure is treated as unverified for this run.
bank_statements_overdraft_breach.xlsx
No Negative Closing check fails with a red status badge. Both bank statement and GL extract confirm a negative closing — the overdraft is reflected in both records. Exception log records account number, IFSC, and the negative figure for immediate same-day escalation to the CFO.
Why Automation Wins Here
For a treasury team managing five or more operating bank accounts across Acme Financial, Acme Commercial, Acme State, and other banks, this cash position rollup workflow reduces a daily 60–90 minute manual process to a deterministic sub-90-second run — with six validation checks per account and one cross-document reconciliation rule applied consistently on every cycle.
Mismatches caught the morning they arise
A Rs 25,000 unrecorded receipt that would stay hidden until month-end in a manual process is flagged at the 10:00 AM daily run on the same day — giving the accounts team a same-day window to post the missing entry against the correct GL code before the trial balance is affected and before the ICAI Guidance Note bank reconciliation obligation accumulates into a closing problem.
Stale files blocked before the CFO sees the number
The Statement Date Current check gates the consolidated INR total so that an account with a prior-day statement is excluded from the confirmed position rather than silently inflating or deflating it. The treasury controller gets an explicit prompt to re-upload the correct morning extract — ensuring the 10:00 AM figure reflects the actual current-day position, not a 24-hour-old one.
Audit-ready control evidence on every run
Every run produces an immutable log recording uploaded filenames, extracted field values, check-by-check results (Pass / Fail / Not Performed / Mismatch), variance amounts, and the run timestamp. The treasury controller can attach this log directly to the period-close audit workpaper as evidence that the daily bank-to-book control — required under ICAI SA 315 and consistent with Ind AS 7 cash disclosure requirements — was performed and reviewed on the relevant date.
Frequently Asked Questions
The questions treasury controllers and finance managers ask before deploying daily cash position automation.
Upload two files for the treasury date — the consolidated bank statement extract (one row per operating bank account, with columns for bank name, account number, IFSC, statement date, opening balance, total credits, total debits, and closing balance) and the internal cash book / GL extract for the same accounts (same structure plus GL code and book-side amounts). Cadel classifies each file automatically based on column signature, so you can drop both together without labelling them separately.
A consolidated daily cash position roll-up — an Excel treasury pack that sums the closing balance across every green-badged operating bank account, ties each bank closing to its GL book balance, and flags every account that broke a check. The pack has two tabs: a summary tab (consolidated confirmed position, status badges, exception count by class) and a detail tab (all extracted fields, check results, and variance amounts per account). It appears under the Roll-Ups view and is exportable to .xlsx or CSV.
Each account is matched on account number (normalised to strip leading zeros), then the bank closing balance is compared to the GL book closing balance. Any difference above a Rs 100 tolerance is flagged as a bank-book mismatch — typically an unrecorded receipt or payment that has not yet hit the books. The tolerance is aligned with the ICAI Guidance Note on Bank Reconciliation Statements and can be adjusted in workflow settings if your banking covenants or internal control policy mandates a tighter figure.
Four exception classes: Bank-Book Mismatch (variance above Rs 100 tolerance — typically an unrecorded receipt or payment), Stale Statement (statement date does not match the current run date — prior-day or cached file uploaded), Negative Closing Balance (closing balance below zero — potential overdraft covenant breach), and Missing Account (account present in one file but not the other — statement not uploaded or filed under a different account number). Accounts with Stale or Missing flags are excluded from the consolidated INR total.
The workflow accepts GL cash book data as a structured Excel file (.xlsx) with columns for bank name, account number, GL code, book date, and movement amounts. Most mid-market ERPs — including Tally Prime (exported via Tally ODBC or the cash ledger report), SAP Business One (via the General Ledger report export), and Zoho Books (via the bank reconciliation CSV export) — can produce this format natively. No API integration or ERP plugin is required; the treasury team uploads the morning extract and the bank statement export at the start of each day.
Any number. Every operating, collection, payroll, escrow, and sweep account across all your banks goes on one sheet in a single consolidated upload, so the roll-up gives the CFO a single INR-equivalent confirmed cash position for the group. The workflow matches rows by account number and produces one status badge per account in the consolidated treasury pack, regardless of how many accounts are included, with no change to the underlying reconciliation logic.
Yes. The roll-up is generated as an .xlsx file and can be exported from the Roll-Ups view. A CSV of the per-roll-up summary (consolidated position, exception count, run timestamp) is also available. Both exports are structured for direct attachment to the period-close audit workpaper file as control evidence under ICAI SA 315.
The Rs 100 tolerance is a treasury operations convention aligned with the ICAI Guidance Note on Bank Reconciliation Statements and Ind AS 7 (Statement of Cash Flows) Para 6–7, which require that cash and cash-equivalents balances agree to audited GL figures. For entities subject to stricter banking covenant thresholds — for example, a sanctioned facility requiring daily book-bank agreement within Rs 10 — the tolerance can be adjusted in workflow settings without any code change. The standard Rs 100 threshold is suitable for most mid-market INR operating accounts where paise-level rounding differences are common but amounts above Rs 100 represent a genuine posting gap requiring investigation.