StrukLokal: Local-First Receipt OCR for Freelancers
Description and use
StrukLokal is a local-first receipt OCR app that lets freelancers and small businesses convert paper receipts into expense records without sending data to a hosted OCR service.
Problem
Freelancers and small businesses need to convert paper receipts into expense records without sending sensitive data to a hosted OCR service.
Outcome
The app flow (upload → correction/approval → CSV) has been verified with mocked OCR; all 14 parser unit tests passed, and linting and repository hygiene checks succeeded.
Workflow
- Clone the StrukLokal repository
- Follow Windows setup steps in the README and install requirements
- Run
python prepare_models.pywhile connected to the internet to download and initialize the OCR model - Run
python app.pyand open http://127.0.0.1:5000 - Upload receipt image or PDF, review suggested fields, edit if necessary, approve transaction, export approved records to CSV
Evidence
StrukLokal is a local-first receipt capture app for freelancers and small businesses that want to turn paper receipts into expense records without sending receipt contents to a hosted OCR service.
It reads receipt images or scanned PDFs and suggests a store name, transaction date, and total. A person can review and correct those fields, approve the transaction, and export approved records to CSV.
The Flask upload → correction/approval → CSV route has been checked with OCR mocked; this verifies the app flow after OCR returns, not OCR inference itself.
On the reviewed commit, all 14 parser unit tests passed. Ruff lint and format checks, Python syntax compilation, and repository hygiene checks passed as well.
Using open-source OCR makes local inference possible: the application does not need to upload receipt contents to a commercial OCR API during processing.
- Record date: 2026-10-14T00:41:04.456Z