The month lives in several sources
Payments are in the bank while documents sit in KSeF, email, portals, folders, and scans.
Local MVP / test build
Payment-to-document matching systemFor an owner or finance assistant assembling each month from bank data, KSeF, email, portals, PDFs, and scans. CraftedBills imports payments and documents, explains match candidates, leaves uncertainty to a person, and prepares a coherent handoff package.
Payments are in the bank while documents sit in KSeF, email, portals, folders, and scans.
Amount, date, and counterparty suggest candidates, but some cases require judgment.
It is unclear whether a document is missing, excluded, or still awaiting review.
Payments and documents are collected from several sources into separate files.
Data from PDFs and scans is retyped or checked manually.
The team compares amounts, dates, and counterparties without a durable reason trail.
A package goes to the accountant and questions return by email or phone.
The system imports payments from supported formats and rejects duplicates.
Documents enter through PDF, OCR, or a watched folder and become comparable data.
The engine presents candidates with explicit matching reasons.
A person confirms, rejects, excludes, or leaves each case as an exception.
The month ends with a completeness snapshot, missing-item list, and accountant export.
Import supports mBank PDF/CSV, MT940, and CAMT.053 and recognizes repeated input.
PDF parsing and a watched folder provide comparable fields. Apple Vision OCR has a manual fallback, and the image-only PDF path still needs end-to-end validation.
Every candidate exposes signals such as amount, date, or counterparty.
The user confirms a case and leaves a state that remains understandable later.
Groups, missing items, exclusions, and conflicts remain visible.
Export and month snapshot give the accountant both material and unresolved-item context.
The local build supports mBank PDF/CSV, MT940, CAMT.053, PDF documents, and a watched folder. Apple Vision OCR is implemented with manual fallback, but the current image-only PDF test does not pass end to end.
KSeF TEST and Fakturownia adapters have local contract tests. Full authenticated synchronization remains pending and production is disabled. Data is local in SQLite and secrets use Keychain.
An uncertain match, conflict, missing item, or exclusion remains visible for user decision and month close.
The pilot compares the same workflow and keeps quality guardrails visible.
Payments with an accepted document match / all payments in the month.
User minutes spent resolving one payment.
Accountant requests for a document, explanation, or repeat export / monthly package.
Map sources, formats, rules, and the handoff method.
Review one closed month and active work time.
Test import, candidates, decisions, and exceptions.
Adapt parsers, OCR, rules, and export.
Run a bounded month with manual quality review.
Enable more sources after data and security review.



We need the bank format, document sources, current exception list, and the way materials reach the accountant.
Start with the workflow