Journal batch status machine
A journal batch groups journal entries for one client and processing period (typically monthly). It moves through five states.
What each state means
| State | Meaning | Lock semantics |
|---|---|---|
DRAFT | Batch exists, entries are being ingested or drafted by the classify pipeline | Entries can be added, edited, deleted |
UNDER_REVIEW | All entries actioned at least once; reviewer is walking through them | New drafts cannot enter the batch — they spill to the next batch |
APPROVED | All entries are APPROVED or REJECTED; ready for upload-file generation | Frozen; the upload file generates from this state |
EXPORTED | Upload file has been generated and downloaded by the reviewer | Awaiting confirmation that the file landed in Xero / QBO / Zoho / Tally |
CLOSED | Reviewer confirmed the upload landed in the target accounting platform | Sealed; no further edits |
Why batches lock at UNDER_REVIEW
Entries arriving after the reviewer starts walking through cause inconsistency: the reviewer might skip an entry that didn't exist when they began. Locking at UNDER_REVIEW ensures everything classified between batch boundaries goes into the next batch, not the current one.
Where these transitions happen in the handbook
DRAFT → UNDER_REVIEW → APPROVED: Review a journal batch (B-05)APPROVED → EXPORTED: Generate upload file (B-06)EXPORTED → CLOSED: confirmation step at the end of B-06
Related
- Journal entry status machine — the per-entry state nested inside a batch
- SOP — Bookkeeping §4