feat: payout gross-up (books.record_payout)

A platform deposit becomes a draft entry with the deposit, fees,
adjustments, and gross revenue (by class), refused unless gross - fees
+/- adjustments equals the deposit to the cent. The payout statement is
attached as its receipt before posting. 60 tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtYEaR6M6Ybdhm6X98BWNu
This commit is contained in:
swaitsandClaude Opus 5.5 committed 2026-10-11 21:12:38 -07:00
1 parent ddb67a2ca2
commit d65f9aa840
11 files changed
+640 -2

No files matched your search

+6
View File
@@ -235,3 +235,9 @@ interface is MCP, not a cloned GUI. The first storage + MCP slice is done
entries generate drafts, never posts. Journal events schedule.registered,
schedule.posted (with the full entry, checked on replay),
recurring.registered, recurring.generated. No schema change. 59 tools.
- 2026-10-11: Payouts. books.record_payout grosses a platform deposit up
into revenue (by class), fees, and adjustments, refusing unless it
reconciles to the cent; it creates a draft so the payout statement is
attached as the receipt. Pure core logic (payouts.rs), no new journal
events (it journals as a draft and lines). 60 tools. Statement parsers
(Apple, Google, Stripe) wait for sample files.