Aging filters, invoice analysis and supplier statement: questions for the owner
Prepared 2026-10-05 from docs/superpowers/plans/2026-10-05-aging-filters-invoice-analysis-supplier-statement.md. Not sent. Everything below is built on the default shown for each question; the default sits in one place in the code, so an answer that differs is a small change. None of this is accounting or legal advice, and no default asserts a conclusion.
Format for each: Now (what the software does), Answer changes (what we alter), Reply.
Q1. AP bucket edges (A3)
Section titled “Q1. AP bucket edges (A3)”Your handwritten note says 90–120 days and 120+ days. Your typed note says 90–180.
- Now: AP aging offers the extended scheme
current,1–30,31–60,61–90,91–180,over 180(payables/aging_extended.go, tableextendedEdges). The default API scheme and AR keepcurrent,1–30,31–60,61–90,over 90(ruling P31). - Answer changes: the edges in
extendedEdges, the OpenAPI enum, the web column list and the three locale files (a test fails if they disagree). - Reply: the edges you want, and whether AR should follow.
Q2. Counting age from the first day of the next month (A6)
Section titled “Q2. Counting age from the first day of the next month (A6)”The handwritten note says “close by month, start counting since the first day of next month”.
- Now: age is counted from each document’s due date (ruling P31). The month-end rule is not applied.
- Answer changes: a new ruling and a change to how
days_past_dueis derived for AP; AR and the statement of account would need the same answer so the two sub-ledgers stay comparable. - Reply: apply it to AP only, to both, or not at all; and whether it counts from the document date or the due date.
Q3. Credit notes in “issued” (A7)
Section titled “Q3. Credit notes in “issued” (A7)”- Now: invoice analysis shows credit notes on their own line and does not net them from the issued total or the collection rate.
- Answer changes:
receivables/analysis.go(the issued sum) and the rate. - Reply: netted, or separate.
Q4. Which date counts as “collected” (A7)
Section titled “Q4. Which date counts as “collected” (A7)”- Now: a receipt counts in the month of its receipt date, in base currency, voided receipts excluded. Money on account counts when received, not when applied to an invoice.
- Answer changes: the collected query in
receivables/analysis.go(allocation date instead of receipt date, or only allocated amounts). - Reply: receipt date, or allocation date; and whether unapplied money counts.
Q5. Sorting the sales invoice list (A14)
Section titled “Q5. Sorting the sales invoice list (A14)”- Now: the list can be ordered by created date, number, customer, invoice date, due date or amount, in either direction. A page cursor belongs to the order that issued it and is refused in another, so a page never repeats or skips a row. The public API’s default order is unchanged.
- Answer changes: the list of sort columns.
- Reply: the columns you need beyond these.
Q6. Who may read the invoice analysis (A8)
Section titled “Q6. Who may read the invoice analysis (A8)”- Now: a new permission,
receivables.analysis.read, held by Owner and Finance roles from provisioning and, for existing organizations, by migration01081. A custom role gets it by hand. - Answer changes: which roles hold it by default.
- Reply: Owner only, or Owner and Finance.