whisper-money/app
Víctor Falcón 148aee0b63 feat(transactions): allow editing all fields of manual transactions
Manually created transactions can now edit every field (account, date,
amount, description) after creation, not just category/notes/labels.
Imported/bank transactions keep amount, date, account, currency and
description locked to their source data.

- UpdateTransactionRequest validates amount/date/account/currency only
  for manually_created transactions, so the fields are dropped for
  imported ones.
- On edit, the manual account balance is moved to match a changed
  amount/date/account, opt-in via the same update_balance flag as
  create/delete; connected accounts are skipped. ManualBalanceAdjuster
  gains a shared adjust() primitive and reverseCreatedTransaction().
- The edit dialog unifies create/edit editability behind canEditAllFields
  and shows the account/date/amount inputs (and the update-balance
  checkbox) when editing a manual transaction.
2026-07-16 08:38:56 +02:00
..
Actions feat(spaces): phase 0 — multi-tenant Space foundation (no behaviour change) (#650) 2026-07-09 14:26:07 +02:00
Ai/Agents feat(ai): auto-categorize transactions with AI (behind flag) (#535) 2026-06-15 16:35:20 +02:00
Console/Commands refactor: extract duplicated money formatter into App\Support\Money (#680) 2026-07-15 09:47:53 +02:00
Contracts feat(connections): manage which accounts a bank connection syncs (#558) 2026-06-18 16:22:49 +02:00
Enums fix(accounts): show credit cards as positive and exclude them from net worth (#673) 2026-07-13 07:27:52 +00:00
Events Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Exceptions/Banking fix(banking): recover from EnableBanking 422 wrong-period instead of crashing the sync (PHP-LARAVEL-42) (#653) 2026-07-07 08:57:23 +02:00
Features refactor(ai): remove AiConsentSettings feature flag (#619) 2026-07-01 09:47:55 +02:00
Http feat(transactions): allow editing all fields of manual transactions 2026-07-16 08:38:56 +02:00
Jobs fix(queue): raise retry_after above the longest job timeout (PHP-LARAVEL-2D) (#645) 2026-07-05 09:31:23 +00:00
Listeners refactor: extract duplicated money formatter into App\Support\Money (#680) 2026-07-15 09:47:53 +02:00
Mail refactor(drip): extract base mailable and job for the drip email family (#641) 2026-07-04 20:51:38 +02:00
Models feat(spaces): phase 0 — multi-tenant Space foundation (no behaviour change) (#650) 2026-07-09 14:26:07 +02:00
Notifications fix: verify email via signed link without requiring login (#490) 2026-06-05 10:01:32 +02:00
Policies refactor(policies): extract HandlesUserOwnership trait (#478) 2026-06-03 17:43:30 +02:00
Providers fix: stop double-dispatching transaction listeners (N+1 insert into jobs) (#620) 2026-07-02 13:26:45 +00:00
Rules feat: parent/child category tree (#474) 2026-06-03 19:30:12 +02:00
Services feat(transactions): allow editing all fields of manual transactions 2026-07-16 08:38:56 +02:00
Support refactor: extract duplicated money formatter into App\Support\Money (#680) 2026-07-15 09:47:53 +02:00