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:
12 files changed
+843
-4
No files matched your search
@@ -2027,13 +2027,17 @@ accounting only: the caller supplies every figure), tax filing.
|
||||
anything still owed), `overdue`, `paid`, `void`, `written_off`,
|
||||
`overpaid` or `all`; `party` (a customer's or vendor's name or id) and
|
||||
`due_by` narrow the list (P4b S2).
|
||||
- `books.document { ref, as_of? }` → `{ ref, party, date, due_date,
|
||||
- `books.document { ref, as_of?, pdf? }` → `{ ref, party, date, due_date,
|
||||
entry_id, lines: [{ description, amount, project? }], total, paid,
|
||||
discounted, written_off, outstanding, status, overdue_days, timeline:
|
||||
[{ date, entry_id, kind, amount, reversal, stands }] }`. `ref` is
|
||||
`invoice:N` or `bill:N`; the timeline is every ledger line tagged with
|
||||
the document in posting order, each saying whether its entry still
|
||||
stands as of the day (P4b S2).
|
||||
stands as of the day (P4b S2). With `pdf: true` an invoice's PDF comes
|
||||
back as a handed file (`pdf`: run its download): re-created from the
|
||||
books as of the day, each standing payment on its own line with its
|
||||
date, method and reference, stamped PAID (with the day), PARTIALLY
|
||||
PAID, PAST DUE or VOID (P4b S3); refused for a bill.
|
||||
- `books.control_check { as_of? }` → `{ as_of, agrees, accounts: [{ role,
|
||||
code, name, balance, documents_total, unattached: [{ entry_id, line,
|
||||
date, amount }], difference, attention: [{ kind, id, status, total,
|
||||
|
||||
Reference in new issue
Block a user