Bank statements, CSV exports, Plaid imports, and manual entries all arrive as drops. Each drop is extracted, split into commits, and staged. Raw lines are preserved. Nothing writes to the ledger until finalization.
A file upload, Plaid sync, or manual entry creates a drop. The system assigns a commit_category (one of 44 types).
The parser reads raw lines. Each stored as raw_line (frozen) and line (working copy).
Large drops are split into commits. A payroll file with multiple pay periods becomes several independent commits.
Each commit lands on the staging workbench. Analysis begins: mapped, reconciled, classified, segregated, reviewed.
Upload once. Stage, review, finalize.