Expense Reimbursement
Receipt OCR + duplicate detection + policy validation — expense reimbursement with Zoho/Concur export.
The Problem
Mid-market finance teams process 200–2,000 expense reimbursement claims per month, each one a heterogeneous bundle of restaurant photos, hotel folio PDFs, ride-share emails, and FX credit-card slips. Four problem classes silently leak cash, GST credit, and audit trail every month.
20 hours of clerk-keystroke entry per month
At ~6 minutes per claim, 200 claims/month consumes 20 hours of pure data entry — vendor name, GSTIN, date, amount, tax split — before a single approval is routed. T&E policy PDFs run 14–22 pages and no one reads every line.
2–4% duplicate-receipt leakage
The same cab bill claimed in March and again in April, the email PDF and camera photo of the same restaurant bill — duplicates slip past manual review at 2–4%. Every paid duplicate is direct cash leakage that surfaces only at year-end audit, if ever.
Hidden ineligibles inside hotel folios
Itemized hotel folios bury mini-bar, in-room movies, and paid Wi-Fi between legitimate room and meal lines. Without line-item tagging at intake, personal expenses get reimbursed and the salary-recoverable amount is never posted.
GST credit silently disqualified
B2B invoices above ₹50,000 missing the company GSTIN silently disqualify the GST component from input tax credit under Section 16(2) of the CGST Act. Loss only surfaces 2 months later during GSTR-2B reconciliation.
Of pure clerk-keystroke entry on a 200-claim month, before any approval is routed. Combined with 2–4% duplicate leakage and routine GST credit disqualification under Section 16(2) of the CGST Act, the manual reimbursement cycle is the highest-volume policy-breach exposure in a mid-market AP team.
Why It Matters: Regulatory Framework
Expense reimbursement sits at the intersection of three regulatory regimes — GST input credit, FX translation, and audit policy testing — all of which the auditor samples during year-end SA 530 substantive procedures.
Blocked-credit routing
Blocked-credit categories under Section 17(5) — food & beverages, club memberships, employee travel benefits where not statutorily mandated — must be routed to a non-creditable expense GL automatically. Misrouting these inflates input tax credit and triggers GSTR-3B mismatch with GSTR-2B.
FBP tax exemption discipline
Flexible Benefit Plan components — telephone, fuel, broadband, professional development — require employee-declared annual caps under Rule 2BB. Exceeding the cap loses Section 10(14) exemption and exposes the employer to TDS-default penalties at year-end.
Documentation & confirmation
SA 230 requires the auditor to retain documentary evidence of every reimbursed claim — original receipt, OCR result, policy clause cited, approver chain. SA 505 (external confirmations) drives sample testing on T&E expense balances during the year-end audit.
Year-end substantive sampling
SA 530 substantive sampling on T&E expense balances tests both the population and individual high-risk claims. A reimbursement workflow that can't produce an immutable claim-level audit trail forces the auditor to expand procedures and risks an opinion qualification.
What This Workflow Automates
Seven deterministic passes from receipt upload to Zoho Expenses CSV + payroll register export — in under 30 seconds per claim with reviewer focus only on the exception lines.
Receipt upload + classification
Each uploaded file is classified as a Reimbursement Bill or filtered out at intake (contracts, brochures, bank statements rejected by the document classifier). Hotel folios, restaurant bills, taxi receipts, and FX credit-card slips all route through the same pipeline.
OCR + line-item extraction
Vendor name, GSTIN, invoice number, receipt date, every line description with its amount, tax breakup (CGST/SGST/IGST or US sales tax), and total payable extracted from receipt images or PDFs — including itemized hotel folios where mini-bar and movie lines hide between room and meal entries.
GSTIN + place-of-supply capture
For B2B receipts above the threshold, supplier GSTIN, place of supply, and tax breakup feed the input-credit ledger. Section 17(5) blocked-credit categories route to a non-creditable expense GL automatically — no manual classification required at period close.
Perceptual-hash duplicate check
Receipt image hashed and matched on the tuple (vendor, date, amount, last-4-of-bill-number) against every claim from the same employee in the trailing 180 days. Second submission blocked with pointer to the original claim ID, approver, and payout date.
Policy rule-engine evaluation
Each line evaluated against the T&E policy threshold table — meal caps, hotel caps by city tier, mileage rates, per-diem matrices. Over-cap amount splits into a non-reimbursable sub-line with the specific policy clause cited inline; finance edits the rules through a console without touching workflow code.
FX conversion for foreign currency
Foreign-currency receipts converted using the RBI reference rate for the receipt date or the corporate card posted rate where a statement reference is available. Both source amount and INR-converted amount retained on the line — the treatment expected under Ind AS 21 for short-term employee advances.
Zoho Expenses + payroll export
Approved claim lines exported to Zoho Expenses CSV with category codes, tax columns, FX-converted amounts, and approver chain. FBP-eligible components pushed directly to the payroll register for tax-exempt processing under Section 10(14); non-FBP overflow routed back to standard reimbursement.
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.
Missing GSTIN on B2B Invoice
Policy Threshold Breach
Personal Expense Mixed in Itemized Bill
Foreign Currency Receipt Without FX Rate
Stale Receipt Past Submission Window
Sample Documents
Seeded sample files used to demonstrate this workflow. Each one exercises a specific scenario or failure mode.
Multi-line hotel folio with room, meals, and laundry — exercises line-item categorization and GST-on-services capture.
Cab receipt used to test duplicate detection across the email PDF and the photographed copy.
Photographed restaurant bill with handwritten tip — demonstrates OCR tolerance and policy meal-cap enforcement.
USD-denominated hotel invoice that triggers the FX conversion path using the RBI reference rate.
System-generated summary matching submitted bills against the claim register before Zoho Expenses export.
Why Automation Wins Here
The Cadel expense reimbursement software replaces clerk-by-clerk receipt verification with deterministic line-item extraction, perceptual-hash duplicate detection, and policy-rule enforcement — converting AP labour into focused exception handling.
Frequently Asked Questions
The questions accountants and finance controllers ask most often before deploying this workflow.
Yes. For each receipt above the B2B threshold, the workflow extracts the supplier GSTIN, place of supply, and tax breakup, and posts the eligible CGST/SGST/IGST to the input credit ledger. Receipts missing the company GSTIN or carrying a blocked-credit category under Section 17(5) are routed to a non-creditable expense GL automatically.
Each uploaded receipt is hashed on the image (perceptual hash) and on the extracted tuple of vendor name, date, amount, and bill or invoice number. A match on either dimension against any claim filed in the last 18 months blocks the new submission and shows the employee the original claim ID, approver, and payout date.
The default export is the Zoho Expenses CSV schema with employee ID, expense category, GST split, and approver chain. Concur, Fyle, and ERP-side connectors (Tally, NetSuite, SAP) consume the same canonical JSON, and the FBP component can be pushed directly to the payroll register for tax-exempt processing.
Every claim stores the original file, the extracted JSON, the OCR confidence per field, the policy rules evaluated, the approver decisions with timestamps, and the final GL posting reference. This satisfies ICAI SA 230 working paper requirements and provides the immutable trail an internal auditor needs for sample testing.
Yes. Foreign currency receipts are converted using the RBI reference rate on the receipt date, or the corporate card posted rate when a statement reference is available. Both the source currency amount and the INR-converted amount are retained on the line, which is the treatment expected under Ind AS 21 for short-term employee advances.
Policy lives in a structured rule set covering per-meal caps, hotel tiers by city class, mileage rates, per-diem matrices, and submission windows. Finance edits the rules through a console; the workflow re-evaluates pending claims on rule changes and cites the specific clause on every breach so approvers see why a line was flagged.
Yes. The workflow segregates FBP-eligible claims — telephone reimbursement, fuel and vehicle maintenance, books and periodicals, broadband, professional development — from regular T&E claims, applies the per-component cap declared by the employee at the start of the financial year, and pushes the validated amount directly to the payroll register for tax-exempt processing under Section 10(14) and Rule 2BB of the Income Tax Rules. The non-FBP overflow is routed back to standard reimbursement so the employee is reimbursed without losing the exemption headroom.
The workflow runs three structural checks that catch the most common fabrication patterns: (a) EXIF and pixel-noise analysis on receipt images to flag re-rendered or synthetic captures, (b) cross-validation of vendor GSTIN, invoice serial number, and bill date against the GSTN supplier portal where the vendor is registered for B2B invoicing, and (c) round-number and duplicate-vendor pattern detection across the employee's claim history. Receipts that fail any structural check are routed to a forensic-review queue with the specific anomaly cited, rather than approved silently.