Skip to main content

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.
Use the posting filter to separate 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 reports resolved, 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 marks unposted_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.py defines the posted/unposted union, excluded intake states, exact amount rules, metadata, and detail projection.
  • backend/app/logics/finance/gl_lineage.py defines the source catalogue and the resolved, missing, and legacy_unverified states.
  • The GreatBook web repository’s src/lib/gl-transactions.ts validates server-declared filters and refuses unknown filter values instead of issuing a misleading query.