All Workflows

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.

Live demo Drop your own petty cash vouchers — Cadel extracts every field and runs all five internal-control checks 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.

2–3 days

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.

Sec 40A(3) · Income Tax Act 1961 · Rule 6DD

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.

ICAI SA 315 · SA 500 · SIA 3

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.

ICAI SA 265 · Communication to Management

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.

Ind AS 1 · Para 17 · Completeness and Classification

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

07

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.

Clean Baseline Voucher

What it testsPCV-2026-0142 — Rs 850 Conveyance, auto-rickshaw receipt #4471, signed approver, GL 6201-Conveyance matching the category.
Expected outcomeAll four FAIL-severity checks pass; voucher receives a Clean status badge in the inbox register. Confirms the validation engine produces no false positives on compliant vouchers.

Cash Limit Breach (Sec 40A(3))

What's wrongPCV-2026-0143 records a single cash payment of Rs 3,200 to Acme Corp Traders for stationery — exceeding the Rs 2,000 per-voucher ceiling.
Expected outcomecash_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

What's wrongPCV-2026-0144 for Rs 1,500 (Refreshments, Local Caterer) has no bill_reference field populated; policy mandates a supporting bill for any payment exceeding Rs 1,000.
Expected outcomesupporting_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

What's wrongPCV-2026-0145 classifies the expense as ‘Courier’ (DTDC slip #DTDC-99812) but carries GL code 6201-Conveyance, reserved for travel reimbursements, not courier dispatches.
Expected outcomegl_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

What's wrongPCV-2026-0146 for Rs 1,800 (Printing, Acme Corp, Invoice #QP-2231) has approver_signed: false; policy requires an authorised signature on any voucher above Rs 500.
Expected outcomeapprover_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)

What's wrongVoucher date falls outside the current calendar month — a stale or backdated disbursement that would distort the current month’s petty cash reconciliation if processed undetected.
Expected outcomevoucher_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 · All checks pass
Clean

voucher_clean.pdf

PCV-2026-0142 · Rs 850 Conveyance · Ramesh Kumar · receipt #4471
Amount₹ 850below limit
Checks5 / 5passed
GL match6201Conveyance

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 · Cash limit breach
Flagged

voucher_exceeds_cash_limit.pdf

PCV-2026-0143 · Rs 3,200 Stationery · Acme Corp Traders
Amount₹ 3,200exceeds limit
FAIL checks1cash_limit
Pass checks3others clean

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 bill
Flagged

voucher_missing_supporting_bill.pdf

PCV-2026-0144 · Rs 1,500 Refreshments · Local Caterer · bill_reference: null
Amount₹ 1,500above Rs 1,000
Bill referencenullmissing
GL code6410Staff Welfare

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 mismatch
Flagged

voucher_gl_category_mismatch.pdf

PCV-2026-0145 · Rs 320 Courier · DTDC slip #DTDC-99812 · GL 6201-Conveyance
CategoryCourierdetected
GL recorded6201Conveyance
GL expected6301Courier

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.

2–3 days
Reduced to minutes per monthly cycle on a 100-voucher petty cash register
< 30 s
Per-voucher processing time, including all five internal-control checks
100%
Vouchers checked against all four FAIL-severity rules simultaneously, not sequentially
0
False positives on co-existing clean checks when one rule trips on the same voucher

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.

Which documents do I upload?

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.

What does the workflow produce?

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.

Which internal-control checks does it run?

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.

Why is the Rs 2,000 cash limit important?

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.

How are exceptions classified?

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.

Can I export the results?

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.

Does the workflow handle GL-code mismatches automatically?

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.

Is my data used to train models?

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.