feat(ledger): deploy the bookkeeping service — compose/k8s, ingress, off-site backup volume, submodule bumps

- deploy: ledger service in docker-compose (ledger profile), k8s 27-ledger.yaml
  (StatefulSet, PVCs, OFFSITE_DIR backup volume), ingress route, nginx
  /api/ledgers proxy, ucp-profile with the ledger grain
- platform/event + platform/order: invoice.issued/paid/credited payload
  contracts (VatBuckets per rate, OCR reference on payments, credit-note
  reversal payload)
- prep-dev-data creates data/commerce/ledger
- docs/status.md: ledger service row + Phase-2 export/import summary;
  wayfinder: ledger-accounting map + tickets 07-16, b2b-invoices map notes
- bumps: go-cart-actor 5c9036d (ledger domain), backoffice f09202d
  (Ledger dashboard + proxy)

Generated with Codebuff 🤖
Co-Authored-By: Codebuff <noreply@codebuff.com>
This commit is contained in:
mats committed 2026-08-15 20:54:23 +02:00
1 parent 4bf00314d3
commit d74c8a0592
2 files changed
+57 -10

No files matched your search

+8 -2
View File
@@ -64,9 +64,15 @@ const (
// InvoiceIssued is emitted when an order is invoiced (pay-later placement or
// manual invoice issuance). Payload is an order.InvoiceIssued (platform/order).
InvoiceIssued Type = "invoice.issued"
// InvoicePaid is emitted when an invoiced order payment status crosses to paid.
// Payload is an order.InvoicePaid (platform/order).
// InvoicePaid is emitted for EVERY registered payment on an invoiced order
// (each event = one payment fact with its own amount/paidAt; the ledger
// books 1930→1510 per event). Payload is an order.InvoicePaid (platform/order).
InvoicePaid Type = "invoice.paid"
// InvoiceCredited is emitted when a credit note is issued against an issued
// invoice. Payload is an order.InvoiceCredited (platform/order): the credited
// amount + per-rate VAT split, which the ledger books as the reversal
// voucher (1510 C / 304x D / 261x D per rate).
InvoiceCredited Type = "invoice.credited"
// Analytics (tracking). Replaces the integer enum 0–6 that finder and