Mechanically
Raises per-cycle invoices against creator net sales, in the creator's payout currency, at an FX rate frozen when the invoice is raised. Four billing cycles a month (CYCLE_START_DAYS [1,8,16,24]).
Raises per-cycle invoices against creator net sales, in the creator's payout currency, at an FX rate frozen when the invoice is raised. Four billing cycles a month (CYCLE_START_DAYS [1,8,16,24]).
Consumes net-sales entries; emits invoices that the payment log settles against. Shares the currencyRates cache with referral invoicing.
src/pages/CreatorInvoicing.tsxsrc/pages/CreatorInvoice.tsxsrc/components/creator-invoicing/invoicing.tscurrency.tscreatorInvoicingcurrencyRatesconvex/schema.ts:103,132,153,393,703
convex/invoicing.ts:34,65,250
convex/invoicing.ts:628, merge-delete at :665-680
TRANSPLANT+FIX — port a trust-liability double-entry ledger (medici model + dinero); collapse creator+referral invoicing into one block; kill the silent 50/50 default. Preserve complete workflow parity, but use the strongest UI rather than preserving Camron's screen by default.
Double-entry ledger engine (Node/TS). Port behind PaymentLog; earnings = liability not revenue.
Integer minor units + allocate() — kills the float/rounding bug across all money math.
LIFT = copy the code into the fork · WRAP = run underneath as a service · STUDY = architecture only. Verdicts from the OFM sourcing campaign.
Research priority for this domain is low. Agent findings splice in below this line and survive regeneration.