4 · Gate 1, the intake approval
What you are doing. Answering one question: is this document real and correctly extracted? You are not deciding how it should be booked. That is gate 2, and it belongs to a different person.Read the flags, then decide
For anything the Clerk was unsure about you get a flags block naming each concern: a possible duplicate of an existing queue item, a missing related document in the chain, a classification it could not settle. Resolve each one in your head, then choose.Duplicates. A
source_ref flag reading “possible duplicate of queue item …; verify this is not a
re-upload” is the Clerk asking you to look, not telling you it is a duplicate.
The detail pane also shows Duplicate of with the sibling row’s id.Confirm, and understand what you are confirming
Approving asks you to confirm, and the confirmation says precisely what happens next: the Bookkeeper drafts a journal entry and stops.What just happened underneath
Two things, and they are deliberately separable. The approval is durable the moment that request returns 200. It is written, attributed and stamped in the audit trail. The Bookkeeper launch that follows it can still fail. The handoff is an outbox, not a call: the approval does not wait on the agent, and the agent’s start is a job that gets finished afterwards. That is why the response carries alaunch block.
A reviewer is told when the launch failed and whether it is retryable, rather than being shown an unconditional success for an operation that may have done nothing.
Two endpoints finish the job: a retry for one row, and a sweep for all of them.
Within seconds the row leaves Needs review and appears under Awaiting posting.
The audit trail now shows two events: your
approve, then bookkeeper_launched.What you cannot do here, and why
Approving here does not move money. It advances the row and starts the Bookkeeper. The ledger is untouched, and it stays untouched until a different person approves the posting. You cannot approve a document you submitted. The intake gate enforces its half of the separation-of-duties rule at the gate you are standing at, rather than letting the row become active and turn out to be permanently unpostable two steps later. The refusal is a 409 with a readable reason:separation of duties: ’…’ submitted this document and cannot also approve itA document with no recorded submitter cannot be approved at all.
this document has no recorded submitter, so approving it would leave nobody accountable for having filed it. It has to be re-submitted by the person who owns itThat refusal exists because “nobody is recorded as having submitted this” and “you cannot approve your own document” are two very different things to tell someone standing at a money gate, and the system checks for the first before it checks for the second.
Next
5 and 6 · The Bookkeeper drafts, then gate 2
The proposed debits and credits, and the refusal that proves the rule is real.
Related
- Working the review inbox - reject, send back and revise in full
- Who does what - the three-distinct-people rule