The supplier staples the tax invoice to a lorry receipt. The photocopy arrives as a two-page PDF. Page 1: tax invoice for ₹2,80,000. Page 2: lorry receipt with a GSTIN, a vehicle number, and a freight amount of ₹18,000. The system splits two pages. Page 1 exports as a purchase. Page 2 exports as a purchase. Now Tally thinks you owe ₹2,98,000. You owe ₹2,80,000.
Lorry receipts are transport documents. They are not tax invoices. Section 16 wants a tax invoice. A photocopy of a lorry receipt is not that document. See section 16. Posting it as a purchase is fiction.
Lorry hints: "lorry receipt", "consignment note", "goods receipt note", "vehicle no". If two or more fire, pageclass votes lorry. The row should not export. But some lorry receipts carry GSTINs. If the gate passes GSTIN and arithmetic, the row may still auto-export. That is a miss. Score it.
How lorry receipts sneak through
The lorry receipt has a GSTIN (some do, for the transporter). It has amounts (freight, weight). The gate runs GSTIN checksum: pass. Arithmetic: pass (the freight amount closes). Regime: pass (if the GSTIN is in the same state). The row exports. The product has posted a transport document as a purchase. That is wrong.
The miss is not that pageclass failed. pageclass may have voted lorry. The miss is that the gate passed GSTIN and arithmetic on a non-invoice. The gate does not ask "is this a tax invoice." It asks "does the GSTIN checksum and do the rupees add." Those are different questions.
Tax invoice
Pass. Export.
Lorry receipt
Should not export. If it does, that is a miss.
Score both pages in the bake-off.
What to do in a bake-off
Include a lorry receipt in the 500 scans. One with a GSTIN and amounts. If it auto-exported, that is a miss. Score it. Do not hide it behind "the gate worked." The gate passed the wrong document. That is a product bug.
Include a lorry receipt without a GSTIN. If it went to review, the gate blocked it (required GSTIN). That is the correct failure. Score it separately. Both are misses. They are different classes of miss.
What we will not do
We will not add "is this a tax invoice" as a gate check. That is a classification problem, not a checksum problem. It belongs in pageclass, not in the validator. Do not conflate the two. The movement paper with legal teeth is the e-way bill: movement paper vs money paper.
We will not promise "lorry receipts never export." They may, if they carry a GSTIN and pass arithmetic. That is a known hole. Bake-off it. Do not pretend we closed it.
Meter
If we rasterised the lorry receipt, it is a page. The meter counts it. That is honest billing. If you want to skip non-invoice pages, that is a product conversation. Not a blog promise.
- EntryLedger
extraction/pageclass.pyLorry hints. Keyword vote. Not a classifier.
- EntryLedgerChallan post
Same class of miss: non-invoice page that passes the gate.
Does it catch lorry receipts?+
Yes, when keywords fire. But if the page has a GSTIN and amounts, it may still pass the gate. Score it.
Will you fix this?+
Lorry receipts with GSTINs are a known hole. Bake-off them. Do not pretend we closed it.
Meter?+
If rasterised, billed. Honest billing.