Offline Document Classifier & Metadata Extractor
A downloadable Python script that sorts a document into one of 10 types (invoice, credit note, purchase order, receipt, quote, contract, delivery note, bank statement, HR letter, meeting minutes) and extracts a date/ID if present — running entirely on your own machine. No cloud call, no account, no data ever leaves your device.
$39 one-time, single-machine license
Buy the tool What's includedWhat's included
document_classifier.py— the classifier, unmodified from the tested version- 10 sample fixtures (one per document type) so you can verify correct output before running it on your own files
- Setup + usage instructions, plus the exact scope and disclosed accuracy evidence
Requires only Python 3.10+'s standard library to run — no third-party packages. Your own documents need to already be extracted to a simple JSON text shape (works directly with Docling exports; reshape any other PDF/OCR pipeline's output to match).
What this is not
- Not a trained ML model. Weighted-keyword rule scoring — transparent and inspectable, not a black box, but only as good as its keyword coverage.
- Not a PDF extraction tool. It classifies already-extracted text; it doesn't pull tables/text out of a raw PDF itself (see our PDF-to-Excel service for that).
- Not guaranteed on every document mix. Disclosed real evidence: 10/10 on
a synthetic 10-document set including 2 deliberately confusable pairs; 0 wrong-label
events across a separate 33-case stress test (OCR-style noise + non-English text,
correctly abstaining rather than mislabeling). English-language documents are the
primary tested coverage — other languages correctly return
UNCLASSIFIEDrather than a wrong guess.
License
Single-machine, single-organization use. Modify freely for your own internal use; redistribution or resale of the script itself is not permitted.
How you get it
Instant download after payment: document-classifier-bundle.zip. If the link ever doesn't work, email hello@tsaielectro.com with your order confirmation and we'll send it directly.