whisper-money/database
Víctor Falcón 0b46fff3c2 feat(transactions): split a transaction across multiple categories
Add per-line splitting: a transaction can be divided into lines, each with
its own category, amount and labels, summing to the transaction total. The
transaction's own category is nulled and the lines become the source of truth.

- transaction_splits + label_split tables, TransactionSplit model
- split/unsplit via the existing PATCH update (validated: sum, sign, min 2)
- shared effective-allocation layer (SQL + collection) so every category
  breakdown (dashboard top categories, cashflow sankey/trend/breakdown,
  dashboard analytics, MCP spending) attributes split lines correctly
- budgets attribute per line (category + label match), aggregated per period
- list shows the per-line breakdown, collapsing non-matching lines into a
  'Rest' row under a category/label filter; bulk category assignment skips
  split transactions
- gated behind the TransactionSplitting Pennant feature
2026-07-19 14:28:10 +02:00
..
factories feat(transactions): split a transaction across multiple categories 2026-07-19 14:28:10 +02:00
migrations feat(transactions): split a transaction across multiple categories 2026-07-19 14:28:10 +02:00
seeders feat(banking): add Interactive Brokers sync via Flex Web Service (#581) 2026-06-23 11:39:24 +02:00
.gitignore Set up a fresh Laravel app 2025-11-07 12:01:36 +00:00