Still spending hours reconciling Excel files?
Bank, vendor, GST and TDS reconciliation in a Windows desktop app. Load both files, set how each field should match, and let the engine run the passes — with the reason written next to every row it touched.
- 6 match passes in priority order
- 1:1, 1:N, N:1 and N:N matching
- Amount & date tolerances
- Confidence + written reason per row
1,500 = 500 + 1,000
Last-4-digit matching on voucher no.
| INV-2024-0412 | Sharma Traders | 1,24,500 | Matched |
| INV-2024-0413 | Krishna Enterprises | 82,000 | Suggested |
| INV-2024-0455 | Balaji & Sons | 47,320 | Unmatched |
| INV-2024-0456 | Balaji & Sons | 47,320 | Duplicate |
Where the reconciliation hours actually go
It is rarely the matching itself. It is the four cases a formula grid was never built for.
Two files, thousands of rows
Bank statement on one side, ledger on the other. VLOOKUP breaks on the first duplicate invoice number and you are back to manual scanning.
Amounts that almost match
₹82,000 in your book, ₹82,050 in the portal. A difference of ₹50 costs the same review time as a difference of ₹50,000.
One payment, many invoices
A single ₹1,00,000 receipt clears four invoices. A row-by-row formula can never make that match.
Duplicates and near-duplicates
The same entry posted twice, once with a trailing space, once with a different voucher format. Neither VLOOKUP nor your eye catches it reliably.
Four reconciliations, one engine
The fields and tolerances change. The way it matches does not.
Bank reconciliation
Bank statement against cash/bank ledger — match on date, voucher, instrument number and amount, with a date window for clearing delays.
Vendor reconciliation
Vendor ledger against your payables — match on invoice number and party name, tolerating spelling differences and part payments.
GST reconciliation
GSTR-2B or GSTR-1 against your purchase or sales register — match on GSTIN, invoice number and tax amounts, field by field.
TDS reconciliation
Form 26AS or TRACES against your TDS ledger — match on deductee, section, amount and date tolerance.
Import → Map → Rules → Run → Save Workflow → Review
Set it up once. Save the workflow. Next time, reconcile in one click.
Import both files
Load the two sides — bank statement and ledger, GSTR-2B and purchase register, 26AS and TDS ledger. .xlsx, .xls and .csv.
Map the columns
Auto-map detects the common fields — invoice, GSTIN, date, amount, party. Rename a mapping by hand when a client uses a different header.
Set the rule per field
Tell the engine how each field should match: exact, numeric tolerance, date window, fuzzy threshold or last-N-digits. Mark a field required or optional.
Run the stages
Each stage tries the relationship modes in order — 1:1, then 1:N, N:1, N:N — across the six match passes. Whatever clears moves on; the rest falls to the next stage.
Save the workflow
Save the whole setup as a workflow — the column mappings, the rule and tolerance per field, the relationship modes and the side labels. Next time it loads exactly as you left it.
Review and export
Open the results by status — matched, suggested, partial, unmatched, duplicates, amount differences — with the reason recorded per row, then export the working.
Pick the saved workflow and drop in the two files. Your mappings, rules and tolerances load with it — there is nothing to map and no rule to set again.
The six match passes
- 1All required fields match exactly
- 2Required exact + optional exact
- 3Required exact + optional fuzzy
- 4Key fields exact, numeric within tolerance
- 5Key fields exact, date within tolerance
- 6All fields fuzzy match
Each pass runs in order. A row that fails an earlier pass is retried by the next one, so a ₹50 amount difference or a three-day clearing gap does not become a false exception.
How you set each field
| Field | Match rule |
|---|---|
| Invoice No | Exact · strips prefixes and leading zeros |
| GSTIN | Exact · upper-cased and normalised |
| Amount | Tolerance (₹ value you set) |
| Txn Date | Date tolerance (± days) |
| Party Name | Fuzzy (similarity threshold you set) |
| Voucher No | Last-N-digits match (count from the right) |
Mark a field required and a match cannot happen without it. Mark it optional and it only raises or lowers the confidence score.
The result is a working paper, not a yes/no
Every record gets a status, a confidence score and a written reason. Totals are split so you can see how much is still open, not just how many rows.
| Invoice | Book A | Target B | Reason | Status |
|---|---|---|---|---|
| INV-2024-0412 | 1,24,500 | 1,24,500 | All required fields matched exactly | Matched |
| INV-2024-0413 | 82,000 | 82,050 | Key fields exact, amount within ₹50 tolerance | Partial |
| INV-2024-0455 | 47,320 | 47,320 | Party name fuzzy 88% — confirm manually | Suggested |
| INV-2024-0456 | 31,600 | — | No candidate on Side B | Unmatched |
Amount Difference
Same invoice on both sides, different amount — reported separately instead of as missing/extra.
Statuses you review by
- Matched
- Suggested
- Partial
- Unmatched
- Duplicate
Separate result sets
- Matched records
- Unmatched — Side A
- Unmatched — Side B
- Amount differences
- Duplicates
Totals per side
- Total amount A / B
- Matched amount
- Difference amount
- Match rate A / B
- Debit / credit split
What the matching engine does
Every setting below exists in the app.
6 match passes, in priority order
A voucher that fails one test is retried against the next instead of being dumped into unmatched.
1:1, 1:N, N:1 and N:N matching
Group matching clears one payment against several invoices, and many invoices against one receipt.
Confidence score + written reason
Every result carries a 0–100 confidence and a plain-English reason, so a reviewer knows why it matched.
Amount difference analysis
Same invoice, different amount on the two sides — reported as its own result instead of missing and extra.
Duplicate detection
Flags records repeated within the same file, with what they duplicate.
Debit / credit separation
When debit and credit columns are mapped, unmatched and matched totals are split by side.
Per-field tolerances
₹ tolerance on amounts, day tolerance on dates, similarity threshold on names — set independently.
Stage log
See what each stage processed, how many it matched and how long it took.
Microsoft Excel is required. Piloteq Automate works with your installed copy of Excel — no add-ins and no macros to set up — and runs offline on your PC.
Who reconciles with it
CA & tax practices
Run the same GSTR-2B vs purchase register reconciliation for every client each month without rebuilding a formula sheet.
Accounts payable teams
Clear the vendor ledger against payments and open invoices, and hand the exceptions to the purchase team with a reason attached.
Accounts & finance
Bank reconciliation that survives duplicate voucher numbers and one-payment-many-invoices entries.
Accounts outsourcing firms
A repeatable reconciliation routine across many client files, on your own PC, without uploading client data anywhere.
One price. Four reconciliations included.
No tiers, no per-client add-ons, no enterprise sales call.
Single PC License · Windows desktop app
12-month license
Included in the license
- Full desktop app access
- Bank, Vendor, GST & TDS reconciliation
- 6 match passes across 1:1, 1:N, N:1 & N:N
- Per-field tolerance, fuzzy & last-N-digits rules
- Amount difference analysis & duplicate detection
- Results export with reason per row
Reconciliation questions
Stop reconciling line by line. Let the engine run the passes.
Bank, Vendor, GST and TDS reconciliation on your own PC, for ₹1,499.
Windows 10/11 Razorpay secured payment Files stay on your PC
Other Excel problems Piloteq Automate solves
One Windows app, one license. Every one of these runs on the same ₹1,499 license.