Petty Cash Voucher Audit
Five internal-control checks per voucher, zero manual spreadsheets — petty cash audit software with a Clean or Flagged verdict in seconds.
The Problem
For mid-market finance teams in India, petty cash remains the least-controlled disbursement channel in the organisation — a stack of physical vouchers, a manual spreadsheet, and a month-end deadline that punishes thoroughness.
Two to three working days per monthly cycle
A typical AP clerk collecting physical vouchers from multiple cost centres manually transcribes voucher numbers, dates, payees, amounts, and GL codes into a spreadsheet, then cross-checks each line against policy by eye. For 80–150 vouchers per month across two or three office locations, this cycle routinely consumes two to three full working days before the reconciliation can close.
Four distinct error surfaces, each invisible to the last
Section 40A(3) cash limits, supporting-bill mandates, approver-signature requirements, and GL-code alignment are independent checks. A voucher can be clean on three of four and still be a statutory or audit risk. Manual review misses the fourth check precisely when the first three look fine — the Rs 1,500 refreshments voucher with a correct GL code and a signed approver but no bill reference is the archetype of what slips through under month-end pressure.
GL mismatches post silently to the wrong expense head
When a company changes its chart of accounts, opens a branch, or adds headcount, the manual check sheet falls out of sync. Courier expense coded to GL 6201-Conveyance distorts departmental cost reports for an entire quarter before a variance report flags the anomaly — by which time reversals require additional journal entries and restatement of interim management accounts.
Exceptions discovered at audit, not at disbursement
High-value vouchers without approver signatures are filed and forgotten. Missing bills are never chased. By the time the internal auditor reviews the petty cash register, exceptions have already posted to the ledger. Under ICAI SA 265 (Communicating Deficiencies in Internal Control), a pattern of 12 such control failures in a quarter becomes a reportable systemic weakness — individually immaterial, collectively a qualification risk.
The monthly manual cycle cost for an 80–150 voucher petty cash register across two cost centres. The bulk of that time goes to transcription and policy cross-checks that produce no analysis — only a spreadsheet that the internal auditor must retest anyway. Section 40A(3) of the Income Tax Act, 1961 disallows cash payments above Rs 10,000 per payee per day, and a petty cash policy set at Rs 2,000 per voucher to create the buffer below that ceiling needs automated enforcement to be reliably applied at 150 vouchers per month.
Why It Matters: Regulatory Framework
The petty cash voucher audit sits at the intersection of Indian income-tax law, internal audit standards, and financial reporting requirements. Four overlapping citations create the compliance obligation that this workflow enforces automatically.
Cash payment disallowance above threshold
Any business expenditure paid in cash exceeding Rs 10,000 per payee per day (Rs 35,000 for goods transporters) is disallowed as a deduction under Section 40A(3), read with Rule 6DD of the Income Tax Rules, 1962. Internal petty cash policies typically enforce a tighter Rs 2,000 per-voucher ceiling to create headroom below the statutory limit and to keep each transaction independently auditable without aggregation analysis.
Control-testing documentation standard
ICAI SA 315 (Identifying and Assessing Risks of Material Misstatement) requires auditors to document the design and operating effectiveness of relevant internal controls. SA 500 (Audit Evidence) and Standard on Internal Audit SIA 3 (Internal Audit Documentation) treat the absence of authorised approval and supporting bills as reportable control deficiencies. Cadel’s per-voucher Audit Note provides the machine-generated documentation that satisfies these requirements directly.
Systemic deficiency reporting threshold
Under SA 265, a pattern of recurring control failures — even individually immaterial ones — must be communicated to management and, in some cases, to those charged with governance. A recurring approver-signature gap on vouchers above Rs 500 across 12 transactions in a quarter crosses the threshold for a significant deficiency that an external auditor is required to report, regardless of the voucher amounts individually.
GL classification and expense completeness
For Ind AS preparers, consistent and correct GL-code assignment directly supports the completeness and classification assertions for other expenses in the income statement under Ind AS 1 (Presentation of Financial Statements), Para 17. A courier payment coded to 6201-Conveyance rather than the correct courier GL account misclassifies the expense, distorts segment reporting, and can cause misclassification in the Schedule III income-tax computation, creating a reconciling difference in the tax audit under Section 44AB of the Income Tax Act.
What This Workflow Automates
Seven deterministic passes from scanned petty cash vouchers to audited, exception-queued records with Audit Notes — in seconds per document, with zero manual transcription.
Voucher ingestion and classification
Accepts petty cash vouchers uploaded as PDFs — one per file or multi-page scans — and identifies each document as a Voucher type against the configured template (header text, key field presence, and layout signals). Files are routed to the correct extraction schema regardless of source office or voucher print format.
Structured field extraction
Extracts nine structured fields from every voucher: voucher_no, voucher_date, payee, expense_category, amount, gl_code, approver, bill_reference, and the boolean approver_signed. Fields that cannot be read from the document are recorded as null rather than defaulting to zero, preventing silent arithmetic errors in downstream records.
Cash limit enforcement (Sec 40A(3))
Compares the extracted amount against the Rs 2,000 per-voucher ceiling configured for this workspace. Any breach raises a FAIL with the specific quantum noted in the exception comment — for example, “Rs 3,200 vs. Rs 2,000 limit” — so the controller can identify the exact disbursement before cash leaves the drawer.
Supporting bill check
Tests whether bill_reference is populated for any voucher where amount exceeds Rs 1,000. A null or blank field triggers a FAIL regardless of whether other fields are clean. The rule mirrors most mid-market internal audit policies and ensures that every material cash disbursement is backed by a documentary reference before posting.
Approver signature validation
Evaluates approver_signed as a boolean. Any voucher above Rs 500 with approver_signed: false raises a FAIL and routes to the exception queue with the payee name, GL code, and bill reference retained in the exception record — giving the designated approver the full context needed to review and clear the item without reopening the source document.
GL–category alignment check
Maps each extracted expense_category value — Conveyance, Refreshments, Courier, Stationery, Printing — against the expected GL code range configured in the workspace dictionary. A mismatch raises a FAIL: for example, Courier expense posted to 6201-Conveyance is flagged with the expected code (6301-Courier) versus what was recorded, routing the item for GL correction before month-end close.
Audit Note generation and export
Generates a one-page Audit Note for every voucher recording the voucher details, all five internal-control checks run, and a Clean or Flagged verdict with the specific findings. A voucher_date_current_month warning check also runs, surfacing stale or backdated vouchers as amber-badged items before they enter the reconciliation register. The full register is available for CSV/Excel export to attach directly to the month-end petty cash workpapers.
Edge Cases We Simulate
A battery of five synthetic test vouchers that exercise every failure mode seen in real-world petty cash registers. Each scenario produces a deterministic outcome a controller or auditor can verify in seconds.
Cash Limit Breach (Sec 40A(3))
cash_limit_2000 raises a FAIL with “Rs 3,200 vs. Rs 2,000 limit” in the comment. All other checks pass, isolating the single policy breach.Missing Supporting Bill
bill_reference field populated; policy mandates a supporting bill for any payment exceeding Rs 1,000.supporting_bill_required raises a FAIL. The three co-existing checks on the same voucher pass — confirming the engine isolates individual policy gaps without false positives.GL–Category Mismatch
gl_category_alignment raises a FAIL identifying the expected code (6301-Courier) versus what was recorded, routing the item to the exception queue for GL correction.Unapproved High-Value Voucher
approver_signed: false; policy requires an authorised signature on any voucher above Rs 500.approver_signature_required raises a FAIL; the exception record retains payee, GL code, and bill reference for the approver’s review trail without reopening the source document.Backdated Voucher (Period Warning)
voucher_date_current_month raises a WARNING (amber badge, not a FAIL). Finance admins can escalate to FAIL severity at period close to block backdated entries entirely.Sample Files & Results
Five seeded vouchers — each engineered to exercise a different control failure. One passes cleanly. Four each produce exactly one FAIL, confirming the validation engine isolates individual policy gaps without generating false positives on co-existing rules.
voucher_clean.pdf
Baseline clean case. All four FAIL-severity checks pass; voucher receives a Clean badge in the inbox register. Demonstrates zero false positives on a fully compliant voucher with signed approver and bill reference present.
voucher_exceeds_cash_limit.pdf
Triggers the Section 40A(3) cash_limit_2000 FAIL. Exception comment records “Rs 3,200 vs. Rs 2,000 limit”. All other checks — approver signature, bill reference, GL alignment — pass cleanly on the same voucher.
voucher_missing_supporting_bill.pdf
The most operationally significant exception in the demo batch: bill_reference extracted as null, triggering supporting_bill_required FAIL. A manual reviewer scanning a thick voucher packet misses this precisely because the approver signature was present and the GL code was correctly mapped — giving a superficial impression of a complete voucher.
voucher_gl_category_mismatch.pdf
gl_category_alignment FAIL: Courier expense posted to 6201-Conveyance instead of the correct courier account. Workflow identifies both the recorded and the expected GL code in the exception record, enabling one-click correction by the bookkeeper without cross-referencing the chart of accounts manually.
Why Automation Wins Here
For a mid-market finance team processing 80–150 petty cash vouchers each month, the manual transcription and policy-check cycle consumes two to three working days. Cadel’s petty cash audit software reduces that to minutes — with deterministic, field-level evidence that satisfies ICAI audit documentation standards without any reformatting by the controller.
Exceptions caught at disbursement, not at audit
The five-check validation runs the moment a voucher is uploaded — before cash leaves the drawer. A Rs 3,200 stationery payment flagged as a Section 40A(3) breach is blocked at source, not discovered during the tax assessment six months later when it has already been claimed as a deduction. Controllers see only the vouchers that need intervention; clean vouchers flow through without manual handling.
Audit-ready documentation per voucher
Every processed voucher produces an immutable Audit Note recording the filename, extraction timestamp, each field value as read from the document, the pass/fail result per validation rule, and the user who reviewed or cleared each exception. The note and the exception log export to CSV and are designed to satisfy ICAI SA 230 (Audit Documentation) requirements — attachable directly to the internal audit file, the Section 40A(3) deductibility workpaper, or the management letter response package.
GL accuracy maintained across chart-of-accounts changes
The workspace GL dictionary is updated once; every subsequent voucher is checked against the current mapping. When a company adds a cost centre, opens a branch, or reclassifies a GL account, the rule update propagates instantly to all future voucher processing — eliminating the quarter-long lag before a variance report surfaces the mismatch in the management accounts or in the income-tax computation under Section 44AB.
Frequently Asked Questions
The questions controllers and internal auditors ask most often before deploying petty cash voucher audit automation.
Upload your petty cash vouchers as PDFs — one voucher per file, or a multi-page scan. Cadel classifies each file as a Voucher automatically, so you can drop them together without pre-sorting by office or cost centre.
For every voucher it generates a one-page Audit Note recording the voucher details, the five internal-control checks run, and a Clean or Flagged verdict with the specific findings. The notes appear in the Audit Notes view and export to CSV for the month-end petty cash reconciliation pack.
Five checks: the Rs 2,000 single-voucher cash limit (Sec 40A(3) of the Income Tax Act, 1961), a mandatory supporting bill for amounts above Rs 1,000, a mandatory approver signature for amounts above Rs 500, GL-code-to-expense-category alignment, and a voucher-date period check (WARNING severity) confirming the date falls within the current calendar month.
Section 40A(3) of the Income Tax Act disallows the expense as a deduction if a single cash payment exceeds Rs 10,000 (Rs 35,000 for transporters). Most mid-market internal policies set a tighter Rs 2,000 per-voucher ceiling to stay well within the statutory threshold, to simplify internal audit testing, and to keep each disbursement independently traceable without aggregation analysis. The workflow enforces whichever ceiling your workspace is configured to apply.
Each voucher that fails a control is surfaced in the Exceptions view with the exact rule that tripped and the offending value — for example, “cash_limit_2000: Rs 3,200 vs. Rs 2,000 limit” or “gl_category_alignment: Courier mapped to 6201-Conveyance, expected 6301-Courier.” The controller can route each exception to the right person for correction before cash is disbursed or before the month-end register is closed.
Yes. Export the Audit Notes and their verdicts to CSV from the Audit Notes toolbar. The exported register includes voucher number, date, payee, GL code, amount, exception flag, and rule names — formatted to map directly to Tally’s voucher import template and to SAP FI journal-entry upload layouts, so a controller can download, filter on status = FAIL, correct entries, and re-import without reformatting.
It flags them. Each expense category maps to an expected GL prefix (Conveyance to 6201, Courier to 6301, Refreshments to 6410, Stationery to 6501, Printing to 6601); if the voucher’s GL code does not match, the Audit Note records a GL Category Alignment finding with the expected code versus what was recorded, so the bookkeeper has a one-line correction instruction without needing to consult the chart of accounts.
No. Your vouchers are processed only to produce this workflow’s audit notes and results, and are not used to train any model. Each document is processed in an isolated run and the source PDF is retained only as part of the immutable audit trail for your workspace.