docs(launch): Financial report SHIPPED (Phase 4) — payments-model reframe
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -50,8 +50,13 @@ Phases (status snapshot 2026-05-27):
|
|||||||
PDF; server-side PDF endpoint for branded output. _See gaps
|
PDF; server-side PDF endpoint for branded output. _See gaps
|
||||||
below._
|
below._
|
||||||
3. ❌ Marketing report — NOT BUILT. Pending Init 1b cutover.
|
3. ❌ Marketing report — NOT BUILT. Pending Init 1b cutover.
|
||||||
4. ❌ Financial report — NOT BUILT. Pending Init 1c decision on
|
4. ✅ Financial report — **SHIPPED in b690fb8d.** Built on the canonical
|
||||||
whether to enable the invoices module (currently default OFF).
|
payments + expenses tables (invoices module stays OFF); the
|
||||||
|
invoice-centric spec was reframed onto the payments model
|
||||||
|
("outstanding AR" → expected-deposit shortfall; "AR aging" →
|
||||||
|
outstanding deposits by deal age). 7 KPIs, 6 charts, 4 tables, port-
|
||||||
|
currency normalised, 1y default range, templates + export. Marketing
|
||||||
|
is the only remaining unbuilt report.
|
||||||
5. ⚠️ Custom (ad-hoc) report builder — partial ship.
|
5. ⚠️ Custom (ad-hoc) report builder — partial ship.
|
||||||
6. ✅ Scheduled reports with optional emailing — BullMQ poll +
|
6. ✅ Scheduled reports with optional emailing — BullMQ poll +
|
||||||
render path live; recipients optional; PDF-only output.
|
render path live; recipients optional; PDF-only output.
|
||||||
@@ -133,25 +138,31 @@ Not built. Spec at `docs/reports-content-spec.md` § Report 03 calls for:
|
|||||||
data flowing from the new intake endpoint (Init 1b step 1 — pending
|
data flowing from the new intake endpoint (Init 1b step 1 — pending
|
||||||
website env flip).
|
website env flip).
|
||||||
|
|
||||||
#### Phase 4 — Financial report (LAUNCH-BLOCK if Financial is in beta scope)
|
#### Phase 4 — Financial report ✅ SHIPPED in b690fb8d
|
||||||
|
|
||||||
Not built. Spec at `docs/reports-content-spec.md` § Report 02 calls for:
|
**Decision taken (2026-06-02):** ship on the canonical `payments` +
|
||||||
|
`expenses` tables; invoices module stays OFF. The invoice-centric spec
|
||||||
|
(§ Report 02) was reframed onto the payments model so the report is
|
||||||
|
populated rather than 90% empty:
|
||||||
|
|
||||||
- 7 KPIs (revenue collected, pipeline value, deposits, outstanding AR,
|
- 7 KPIs: revenue collected (net of refunds), deposits, balance,
|
||||||
overdue AR, expenses, net contribution)
|
pipeline (expected deposits), outstanding deposits (expected−collected
|
||||||
- 6 charts (revenue by month stacked, quarterly/yearly toggle, EOI →
|
on open deals = the AR analogue), expenses, net contribution.
|
||||||
Deposit → Contract funnel, AR aging, cash flow line, expense
|
- 6 charts: revenue by month (deposit/balance, with month/quarter/year
|
||||||
breakdown donut)
|
toggle), collection funnel (EOI → deposit → contract → won),
|
||||||
- 4 tables (outstanding invoices, recent payments, refund/write-off
|
outstanding deposits by deal age (AR-aging analogue, no invoice due
|
||||||
log, expense ledger)
|
dates exist), cash flow (inflow vs outflow), expense breakdown donut.
|
||||||
- Filters: invoice kind, payment status, currency, billing entity type
|
- 4 tables: outstanding deposits, recent payments, refund/write-off log,
|
||||||
|
expense ledger.
|
||||||
|
- All money normalised to port currency; 1y default range; templates +
|
||||||
|
CSV/XLSX/PDF export.
|
||||||
|
|
||||||
**Blocker:** depends on the invoices module being in use. Per Init 1c
|
**Follow-up (deferred, not launch-blocking):** if the user later flips
|
||||||
spike, the module is default OFF and the canonical money path is the
|
the invoices module ON, add invoice-sourced AR (due dates → true aging)
|
||||||
per-interest Payments tab. **Decision needed**: ship Financial with
|
|
||||||
data from `payments` only (no invoice surface) OR flip invoices module
|
- the invoice/payment-status/billing-entity filters from the original
|
||||||
on for PN + train rep + ship Financial. Today the report would be 90%
|
spec. Browser-verified against live data (0 payment rows in dev → revenue
|
||||||
empty.
|
$0 correct; 165 expenses populate the expense surfaces).
|
||||||
|
|
||||||
#### Phase 5 — Custom builder gaps
|
#### Phase 5 — Custom builder gaps
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user