All Workflows

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.

Live demo Drop your bank statement extract and GL cash book — Cadel ties every closing balance and flags every exception in seconds.

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.

60–90 min

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.

Ind AS 7 · Para 6-7

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.

ICAI Guidance Note · Bank Reconciliation

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).

Companies Act 2013 · Section 177

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.

ICAI SA 315 · Para 18

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

Clean Tie — Acme Bank Current Account

ScenarioBank statement closing (Rs 93,50,000) and GL book closing identical; credits match receipts; statement date equals run date.
Expected outcomeAll six checks return Pass. Account receives a green status badge in the consolidated treasury pack and its closing balance is included in the confirmed INR total.

Bank-Book Mismatch — Unrecorded Receipt

What's wrongAcme Bank closing balance (Rs 51,12,500) exceeds the GL book closing (Rs 50,87,500) by Rs 25,000, breaching the Rs 100 tolerance — an unrecorded receipt not yet posted against GL code 1101002.
Expected outcomeBank Book Closing Balance Tie check returns Mismatch with variance Rs 25,000 in the exception log. Account receives an amber badge; raw figures from both documents are surfaced for the controller to investigate same-day.

Stale-Dated Statement — Sweep Account

What's wrongThe bank statement for the sweep account (ACMEXXX1234, GL 1101003) carries a statement date that does not match the current processing run date — the treasury team uploaded a prior-day or cached file.
Expected outcomeStatement Date Current check returns Fail. The account is blocked from the consolidated INR total and flagged with a Stale Statement exception badge prompting the user to re-upload the correct morning extract before 10:00 AM.

Missing Account in Roll-Up

What's wrongA GL cash book entry exists for a fourth operating account with no corresponding bank statement row in the same run — the statement was not uploaded or was filed under a different account number.
Expected outcomeAccount Present In Both check returns Fail. The workflow lists the missing account number and GL code in the exception table and excludes its balance from the consolidated INR total, preventing an understated cash position from reaching the CFO.

Negative Closing Balance — Overdraft Breach

What's wrongA bank statement or GL book closing balance is negative, indicating the account has gone into overdraft — which may breach the entity's sanctioned OD limit or banking covenant, triggering penal interest charges.
Expected outcomeNo Negative Closing check returns Fail. The account is flagged with a red status badge. The exception log records account number, IFSC, and negative closing figure so the treasury team can arrange same-day cover or notify the CFO before 10:00 AM.

Opening Balance Discontinuity

What's wrongToday's bank statement opening balance does not equal the prior day's confirmed closing balance — indicating a possible upload error, bank correction entry, or an out-of-sequence file.
Expected outcomeOpening Equals Prior Closing check returns Fail with the expected prior-closing amount and the actual opening amount shown side by side. The account is excluded from the consolidated roll-up until the discontinuity is resolved or explicitly overridden by the treasury controller.

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 match
6/6 Pass

bank_statements_clean.xlsx + cash_book_clean.xlsx

Acme Bank current account ACMEXXX1001 · GL code 1101001 · Opening Rs 85,00,000 → Closing Rs 93,50,000
Bank closing93,50,000Rs
Book closing93,50,000Rs — exact tie
VarianceRs 0green badge

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-book mismatch
Mismatch

bank_statements_bank_book_mismatch.xlsx

Acme Bank account ACMEXXX1002 · GL code 1101002 · unrecorded receipt Rs 25,000
Bank closing51,12,500Rs
Book closing50,87,500Rs — delta Rs 25k
VarianceRs 25,000amber badge

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.

Stale-dated statement
Stale date

bank_statements_stale_statement.xlsx

Acme Bank sweep account ACMEXXX1234 · GL code 1101003 · statement date ≠ run date
Statement datePrior daynot 2026-06-22
Book closing60,00,000Rs
Included in totalNoexcluded

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.

Overdraft breach
Critical

bank_statements_overdraft_breach.xlsx

Operating account · negative closing balance · potential covenant breach
Bank closing< 0overdraft
Book closing< 0both negative
StatusRedescalate now

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.

60–90 min → 90 s
Daily treasury time saved per run on a five-bank entity
Rs 100
Tight tolerance gate on every bank-book tie — not a month-end exercise
6 checks
Per-account validation checks on every run, applied deterministically
Same day
Unrecorded receipts and overdraft breaches flagged the morning they arise

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.

Which documents do I upload?

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.

What does the workflow produce?

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.

How is the bank balance reconciled to the book balance?

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.

Which exceptions does it flag?

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.

How does the workflow connect to Tally, SAP, or other ERP systems?

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.

How many bank accounts can the roll-up handle?

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.

Can I export the treasury pack?

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.

What accounting standard governs the Rs 100 reconciliation tolerance, and can it be changed?

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.