whisper-money/app
Víctor Falcón 8ce0adf8ae
feat: Apply automation rules to bank-synced transactions (#112)
## Summary

- Adds backend automation rule evaluation for bank-synced transactions
using `jwadhams/json-logic-php` (same engine as the frontend
`json-logic-js`) for exact rule parity
- Synchronous `ApplyAutomationRules` listener on `TransactionCreated`
runs before `AssignTransactionToBudget`, auto-assigning categories and
labels via `saveQuietly()` / `syncWithoutDetaching()`
- Skips encrypted transactions and `action_note` (encrypted, can't
handle server-side)

## Test plan

- [x] 17 new Pest tests covering all JsonLogic operators, category/label
assignment, encrypted transaction skip, priority ordering,
case-insensitive matching, user scoping, bank_name matching, amount in
dollars, no `TransactionUpdated` event dispatch, compound rules, and
end-to-end listener integration
- [x] Existing `TransactionSyncServiceTest` passes (7 tests)
- [x] Full test suite passes (546 tests, 0 failures)
- [x] Pint formatting clean
2026-02-12 14:20:55 +01:00
..
Actions feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
Console/Commands Remove budgets feature flag (#108) 2026-02-12 09:58:01 +01:00
Contracts feat: Integrate EnableBanking as open banking provider (#106) 2026-02-12 09:09:28 +01:00
Enums feat: Integrate EnableBanking as open banking provider (#106) 2026-02-12 09:09:28 +01:00
Events Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Http fix: Delete pending connection and show toast on cancelled bank authorization (#111) 2026-02-12 11:10:15 +01:00
Jobs Email notification for bank-synced transactions (#113) 2026-02-12 14:05:02 +01:00
Listeners feat: Apply automation rules to bank-synced transactions (#112) 2026-02-12 14:20:55 +01:00
Mail Email notification for bank-synced transactions (#113) 2026-02-12 14:05:02 +01:00
Models feat: Integrate EnableBanking as open banking provider (#106) 2026-02-12 09:09:28 +01:00
Notifications feat: Spanish localization (#74) 2026-02-08 11:58:08 +01:00
Policies Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Providers feat: Apply automation rules to bank-synced transactions (#112) 2026-02-12 14:20:55 +01:00
Services feat: Apply automation rules to bank-synced transactions (#112) 2026-02-12 14:20:55 +01:00