Skip to content

Journal entry status machine

A journal entry is one double-entry posting drafted from a document. It carries classificationConfidence (HIGH / MEDIUM / LOW / UNCLASSIFIED) and a free-form flags[] (e.g. KEYWORD_MATCH_ONLY, NON_BASE_CURRENCY, REVIEWER_ATTENTION_REQUIRED).

What each state means

StateMeaningWho actions it
DRAFTFreshly constructed by the classify-and-draft worker; not yet reviewedBookkeeper
FLAGGEDLow-confidence fields, unclassified CoA, or otherwise needs attentionBookkeeper / Senior Accountant
APPROVEDReviewer accepted (as-is or edited); goes into the upload fileTerminal
REJECTEDReviewer removed from the batch; logged with reasonTerminal
ESCALATEDFlagged for senior review with a commentSenior Accountant resolves

Confidence levels

ConfidenceWhenDefault state
HIGHVendor-master exact matchDRAFT (auto-approvable on review)
MEDIUMCoA keyword matchDRAFT
LOWKeyword match without vendor masterFLAGGED (KEYWORD_MATCH_ONLY)
UNCLASSIFIEDNothing matchedFLAGGED

Common flags

FlagMeaning
KEYWORD_MATCH_ONLYLOW confidence — keyword fired but vendor unknown
NON_BASE_CURRENCYDocument not in client's base currency (FX rate applied)
REVIEWER_ATTENTION_REQUIREDSenior accountant override is needed
DUPLICATE_SUSPECTEDHash matches another entry in the same batch

Overriding a flag (clearing the entry to APPROVED despite the flag) requires the OVERRIDE_JOURNAL_FLAG action — Senior Accountant or Platform Admin only.

Where these transitions happen in the handbook

Internal use only — BreezyCorp