Skip to main content

Hold, don't drop

Some accounting entries cannot be built at the moment they are needed. There is no connection yet, or the account they require has not been mapped.

Yessort keeps them.

What used to happen, and why it changed​

Entries in this position were previously discarded. The code path handled the missing configuration gracefully, carried on, and left nothing behind — so the accounting consequence of a real warehouse event simply never existed, and nobody found out until the books did not balance.

Now nothing is dropped. An entry that cannot be built is recorded as a held post, and it waits.

What is kept​

Not a note that something failed — everything the entry needed, captured at the moment it was built.

That distinction matters. The held entry is replayed exactly as it was, rather than worked out again from today's data. An entry from three weeks ago posts with three-week-old figures, which is what makes it correct.

What is held​

Two kinds:

  • The goods-receipt valuation journal — the entry recognising stock received and what is owed for it.
  • The native supplier bill.

Both come from real events in the warehouse, which is exactly why losing them was serious.

One row per problem​

Re-attempting the same goods receipt or supplier invoice updates the existing held entry rather than adding another. A recurring problem shows once, with the current reason.

What releases a held entry​

Fixing the configuration. Map the missing account, or connect the provider.

The part worth knowing in advance: you do not need to find and re-run anything. Held entries are re-attempted nightly, and a live attempt for the same thing will also clear them — whichever gets there first.

So the workflow is: look at Issues, see what configuration is missing, set it up, and the backlog clears itself. Someone who does not know this will go hunting for a way to replay history and will not find one, because there is nothing to find.

Not the same as a failed post​

A held entry was never sent. It could not be built.

A failed post was sent and did not succeed. Retrying one is meaningful; retrying the other does nothing until the missing configuration exists.

See the three queues and resolve an accounting issue.