Ledger Map · checked 23/10/2026 · live production data and the sample PDF folder · ← first page: where the ₹55,000 EMIs went
The three problems the other fix leaves open: what real data shows
The other fix makes contra suggestions look only at the PDFs of the current import. We ran that fix's own matching code on live production data and on the sample folder, and looked for proof of each remaining problem.
The short answer
- Wrong bank links: proven, and it already did damage. This happened twice in production. At 02:45 on 23/10/2026 a wrong contra entry built from a wrong link was accepted, and it is still saved. With the fix, a wrong link inside one import still gives 9 wrong suggestions.
- Account number in the file name is ignored: proven. Across 24 uploads, the app filled in the bank for 2. The account number in the file name points to the right ledger for 12, and it would have flagged the wrong link in party CMP0001.
- Silent hiding of rows with two partners: not found in real data. With the fix, 0 cases in 16 production imports and in 9 sample companies with two or more banks. It can happen (made-up demo below), but we have no proof that it does.
Problem 1 · A PDF connected to the wrong bank Proven
Nothing checks a PDF's bank link. The app knew these PDFs, because each one was uploaded and connected correctly 9 to 12 times before in the same party. It still gave no warning.
Case A · A wrong contra entry, accepted and still saved (live version, CMP0122)
Before: the import of 23:34 on 22/10/2026
Step 1: the import of 02:37 on 23/10/2026 · the app suggests a contra entry
as contra
Both rows are from the same loan statement. They are the loan's own charge and deposit, not a transfer between two banks.
Step 2: 02:45:16 on 23/10/2026 · the suggestion is accepted
The fix stops this exact case, because it no longer reads the 23:34 import. Case B shows the same mistake inside one import.
Case B · The same wrong links inside one import, run through the fix's code
What happens: we ran the fix's code on the 23:34 import alone
The four PDFs were connected crosswise: current account PDF → “₹43,100 loan”, ₹43,100 loan PDF → “Current account”. The fix reads only this import, so these wrong links decide everything.
✕
| Date | Row (PDF it really is) | Suggested partner (PDF it really is) | Right? |
|---|---|---|---|
| 25/04/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +43,100.00 O.S. DEPOSIT TRANSFER (₹43,100 loan) | ✕ |
| 25/05/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +O.S DEPOSIT and +O.S. DEPOSIT TRANSFER, as a group (₹43,100 loan) | ✕ |
| 25/06/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +43,100.00 O.S. DEPOSIT TRANSFER (₹43,100 loan) | ✕ |
| 25/07/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +43,100.00 O.S. DEPOSIT TRANSFER (₹43,100 loan) | ✕ |
| 25/08/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +43,100.00 O.S. DEPOSIT TRANSFER (₹43,100 loan) | ✕ |
| 25/09/2026 | −43,100.00 WITHDRAWAL TRANSFER (current account) | +43,100.00 O.S. DEPOSIT TRANSFER (₹43,100 loan) | ✕ |
| 21/04/2026 | −3,800.00 LOAN TRF (current account) | +TRANSFER REPAYMENT CHA and +DEPOSIT TRANSFER, as a group (₹43,100 loan) | ✕ |
| 03/10/2026 | −1,047.25 INSPECTIONCHARGERECOVERY (current account) | +1,047.25 TRANSFER REPAYMENT CHA (₹77,000 loan) | ✕ |
| 05/10/2026 | −2,832.00 TRF (current account) | +2,832.00 TRANSFER REPAYMENT CHA (₹77,000 loan) | ✕ |
All 9 suggestions have the wrong ledgers. The six ₹55,000 EMIs get no suggestion at all: both of their PDFs were connected to “₹43,100 loan”, and the app never pairs a bank with itself. So they go to Suspense.
Case C · A PDF of one party connected in another party (20/10/2026)
3 uploads
Problem 2 · The account number in the file name is ignored Proven
When you connect a PDF, the app fills in a bank ledger only if the file name and the ledger name share a word. A shared account number alone counts for nothing. We ran the app's own fill-in code on every production upload (24 different file names per party).
| Party | File name | App fills today | Account number finds |
|---|---|---|---|
| ASMARK (both parties) | AccountStatement_4153859322_Oct15_… | ✕ nothing | ✓ CBI MACHINERY TERM LOAN 4153859322 – 77000 |
| ASMARK (both parties) | AccountStatement_5149380565_Oct15_… | ✕ nothing | ✓ CBI C/A 5149380565 |
| ASMARK (both parties) | AccountStatement_5164197786_Oct15_… | ✕ nothing | ✓ CBI MACHINERY TERM LOAN 5164197786 – 43100 |
| ASMARK (both parties) | AccountStatement_5701294918_Oct15_… | ✕ nothing | ✓ CBI MACHINERY TERM LOAN 5701294918 – 55000 |
| CMP0005 | Acct_Statement_XXXXXXXX7920_… | ✕ nothing | ✓ HDFC C/A …7920 |
| CMP0001 | Acct_Statement_XXXXXXXX7920_… | ✕ nothing; you picked …9790 | ! no ledger ends in 7920: “Is this the right party?” |
| CMP0802 | Acct_Statement_XXXXXXXX9966_… | ✕ nothing | ✓ HDFC JETPUR C/A …9966 |
| CMP0016 | Acct Statement_4396_03072026_… | ✕ nothing | ✓ HDFC C/A …4396 |
| CMP2011 | Acct Statement_9001_16102026_… | ✕ nothing | ✓ HDFC CURRENT …9001 |
| 2 parties | AXIS BANK SA SOA 2025-26 · ICICI bank 01.04.2026… | ✓ by the bank name | no number in the name |
| Others | 2026_10_06_09_55_44 · IOB_22.10.2025… · Account_September 2026_XX1420 … | nothing | no number, or the Miracle ledger has none (“Kotak Bank”) |
The number would also have caught two uploads into the wrong party: CMP0016's PDF (…4396) uploaded in ASMARK CMP0122, and CMP0235's PDF (…1420) uploaded in CMP0252. Neither was connected to a bank, so they did no harm.
Problem 3 · A row with two possible partners is hidden without a word Not found in real data
We looked for rows that the fixed code hides even though they have a possible partner.
The rule still exists, so it can happen. Below are made-up rows run through the fix's real matching code. These rows are not from your PDFs.
Made up · one transfer of ₹50,000
Made up · two transfers of ₹50,000 on one day
A second made-up case: one current account paying two loans with the same EMI on the same day also gives 0 suggestions. Either way, any pair would be equally right in the books, so “show both and let me pick” would cost one click.
What this means
- Fix the bank step next. Fill in the ledger from the account number in the file name. Warn when the number matches no ledger of the party, or when the same PDF was connected to another bank before. This would have stopped all the wrong links we found.
- Unpair the wrong contra entry on the ₹77,000 loan's 09/10/2026 “ADV:TO GL AS CHARGES” row (−27,396.06) in CMP0122 before the next export.
- Silent hiding can wait. Count how often the rule hides a row, and act when the count is not zero.