Ledger Lens

building
metrics…

Drop in a month of purchase invoices and your GSTR-2B; see every mismatch explained and the vendor emails drafted

Month-end bundle
Mode

Plays the recorded extraction and drafts for the bundle. No network, no keys.

Eval 2026-04-kanpur-textiles · 34 invoices

computed in CI · 2026-09-14

field F1
98.7%
threshold 95.0%
mismatch recall
85.7%
threshold 90.0%
mismatch precision
70.6%
flags that were seeded
cost / invoice
21.2 paise
at ₹88/$ · list price
  • vendor name100.0%
  • vendor gstin100.0%
  • invoice number94.1%
  • invoice date94.1%
  • taxable value100.0%
  • cgst100.0%
  • sgst100.0%
  • igst100.0%
  • total100.0%

No field below 90.0%. Scored against the ground truth every bundle was generated from; the matcher then runs on the extracted values, so a misread date shows up here as a flag that was not seeded. make evals recomputes this and fails under threshold.

Your own month

paste a key in the drawer first

Up to 60 invoice images (PNG or JPEG, under 2 MB each) and the GSTR-2B B2B CSV from the portal. Nothing is stored: the images go to the model once, through the gateway, with the key you pasted, and the response is the only thing kept, in your tab.

Every invoice, vendor, GSTIN and amount in these bundles is fictitious and generated by a script in the repo. The GSTINs are format-valid only and belong to nobody. Nothing here is tax advice; the matcher applies stated rules and shows its reasons.