feat: the invoice PDF, with stamps and each payment (P4b S3)
check / check (push) Canceled after 0s

ledger-import invoice_pdf (templates/invoice.typ): seller, bill-to,
number, dates, terms, lines, total, each settled line and the balance
due; money formatted in Rust (the template does no arithmetic), text as
data, deterministic bytes. Stamps as a rubber stamp would mark it, in
red: PAID (with the day it was paid in full: the invoice is then the
customer's receipt), PARTIALLY PAID, PAST DUE, VOID; DRAFT in gray for
S4's preview. ledger-package invoice_document builds it from the books
as of a day: the derived figures (B-38), each payment that stands on its
own line with its date, payment method and reference; re-created copies
say so (the issued copy is kept from S4 on and never changes).
books.document pdf hands it over as a download; the viewer's invoice
page saves or opens it. The owner asked for the paid stamp with the
payment's date and details (2026-10-24).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
This commit is contained in:
swaitsandClaude Opus 5.5 committed 2026-10-24 18:20:55 -06:00
1 parent b7b7f17163
commit c1f9001cfe
12 files changed
+843 -4

No files matched your search

+9 -1
View File
@@ -235,7 +235,15 @@ tie-out in `books.verify` and `control_problems` in `books.digest`; the
over-the-wire test `documents_void_and_tie_out_over_the_wire`. Still for
later slices: the processor fee on a payment (S6, with multi-document
payments and discounts), Needs attention in the viewer for the control
check, and S2 to S7.
check, and S2 to S7. S2 (2026-10-24): `books.documents`,
`books.document`, and the viewer's Invoices & Bills (Money in, Money out,
a document's page, overview tiles). S3 (2026-10-24): the invoice PDF
(`ledger-import` `invoice_pdf`, `templates/invoice.typ`; `ledger-package`
`invoice_document`): re-created from the books, each payment on its own
line with its date, method and reference, stamped PAID with the day,
PARTIALLY PAID, PAST DUE or VOID (DRAFT, gray, for S4's preview); by
download from `books.document pdf`, and Save invoice PDF in the viewer.
The copy issued is kept from S4 on and never changes.
**Still open after P3 (each for the phase named, or the lead):**
- Invoices and bills take a project now (above), behind the new journal
feature `document_line_projects`: the first company's books declared