BillTracker/client/components/data
null 6b30ee4eb7 feat: merchant rules, auto-match on sync, duplicate API fix
- Removed duplicate unmatchTransaction API entry in api.js
- Unmonitored accounts: no chevron, click-to-expand disabled, tx panel hidden
- matched_bill_name included via LEFT JOIN bills in accounts query
- BillPickerDialog resets search/selection on open
- Link to bill: marks historical txs matched, stores merchant rule,
  applyMerchantRules catches other unmatched txs from same merchant
- Track (new subscription): creates bill with is_subscription=1, stores
  merchant rule for ongoing tracking
- SimpleFIN sync: applyMerchantRules runs after tx insert, auto-matches
  by merchant rule with payment_source='auto_match'
- Auto-match payments have transaction_id set, treated same as manual matches
- New services/billMerchantRuleService.js for rule storage and matching
- Migration for bill_merchant_rules table
2026-05-29 03:38:48 -05:00
..
BankSyncSection.jsx feat: merchant rules, auto-match on sync, duplicate API fix 2026-05-29 03:38:48 -05:00
DownloadMyDataSection.jsx style: global readability/theme pass 2026-05-28 23:18:14 -05:00
ImportHistorySection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
ImportMyDataSection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
ImportSpreadsheetSection.jsx style: global readability/theme pass 2026-05-28 23:18:14 -05:00
ImportTransactionCsvSection.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00
SeedDemoDataSection.jsx style: CalendarPage readability pass + DataPage fix 2026-05-28 21:40:27 -05:00
TransactionMatchingSection.jsx feat: account monitoring, expanded sync UI, match filtering, error toasts 2026-05-29 01:06:20 -05:00
dataShared.jsx refactor: component splits, PWA support, CommandPalette 2026-05-28 20:53:22 -05:00