Visitors looking at a painting in a museum.
Jordan Jeffery from the Prints library
entrées conceptlog REL-0003 2026-10-23

Approval before the books

A statement is evidence. It is not an instruction to post every row.

A statement is evidence. It is not an instruction to post every row.

Pacioli's current import flow separates reading a bank CSV from approving an entry.

Pacioli's current import flow separates reading a bank CSV from approving an entry. The parser works in whole cents, gives rows stable identifiers and suggests categories. The person can change the category before the entry reaches the books.

The choice

Keep approval visible. The alternative this design avoids is treating a plausible category as a settled accounting fact. Faster import is not useful if the person cannot see what was written.

The constraint

A journal must balance. Floating-point arithmetic is the wrong representation for that check; whole cents make a one-cent difference explicit. Duplicate detection must also survive the same statement arriving twice.

What this teaches

The useful boundary is between suggestion and commitment. Test that boundary with invented CSV rows, a repeated import and an intentionally unbalanced entry. A passing parser test is not proof of an entire hosted workflow.

The kitchen receipt connection remains unwired. The current app reads Beancount; this note makes no claim of current Beancount export or client delivery.

  • 261023 Entrees_Approval Before the Books_CX_v1.0 — Approval before the books (docs/261023 Entrees_Approval Before the Books_CX_v1.0.md)
Structured from the source notes; not composed. Rendered by tools/tearsheet from the entrées brain.

Take this sheet — one file, everything inlined