Transactions and ledger lineage
Transactions is the default view inside Books → Ledger. One row is the business event behind the accounting, not one debit or one imported feed row. The list deliberately unifies two authorities:- posted and draft journal-entry sets from the canonical GL;
- intake documents that are still waiting to post.
posted from unposted without leaving the list.
The finer event state distinguishes a posted event, a draft journal group, and an original event that has been reversed.
Follow the evidence
A posted event opens to every entry in its set, every line, the immutable checksum evidence, its source record or approved workpaper, and its intake document where one exists. Lineage reportsresolved, missing, or legacy_unverified; it never manufactures a source record from a display label.
An unposted document has no posted amount.
GreatBook shows its explicit proposed amount only when the document schema supplies one, and never converts a foreign proposed number into base currency with an assumed rate.
What this surface refuses
Transactions excludes rejected documents because rejection is a decision, not pending accounting work. It does not net a balanced journal to zero and call that the transaction amount, hide a missing source, treat a draft as posted, or infer that an optional intake source is empty when that source could not be read.When the answer is unknown
If the optional intake half is unavailable, the endpoint returns the narrower posted-only answer and marksunposted_available false.
If lineage cannot be proven, the event stays visible with missing or legacy_unverified rather than being called resolved.
An unreadable transaction response is an error, not an empty ledger.
Verified at source
langgraph_chat/devcenter/gl_api.pydefines the posted/unposted union, excluded intake states, exact amount rules, metadata, and detail projection.backend/app/logics/finance/gl_lineage.pydefines the source catalogue and theresolved,missing, andlegacy_unverifiedstates.- The GreatBook web repository’s
src/lib/gl-transactions.tsvalidates server-declared filters and refuses unknown filter values instead of issuing a misleading query.