Files
finance-app/dump/statement_119417612_AUD_2025-04-22_2026-07-26.csv
T
siddharthd 030490efa3
ci / lint-test (push) Successful in 41s
feat(cash): mark how a transaction was paid, exclude cash from reconciliation
getPendingReconciliations treated every unreconciled manual transaction as
awaiting a matching statement row. Cash never appears on a statement, so a cash
entry sat in the queue indefinitely being offered matches within 3 days and 1%
on amount - and accepting one is silently destructive: reconciled manual rows
are filtered out of every query, so the cash spend disappears while the card
transaction it matched claims to be that same spend.

Migration 0016 adds transactions.payment_method (card | cash | bank_transfer |
other, NULL = unknown) with a CHECK constraint and a partial index. The notCash()
fragment excludes cash from both halves of the reconciliation query - the pending
list and the candidate match subquery, which aliases the manual row as m.

Only cash is excluded. Bank transfers do appear on a statement now that
transaction accounts are imported, and NULL means unknown, so both stay
candidates and every pre-existing row behaves exactly as before.

ATM withdrawals deliberately stay categorised as spend rather than transfers.
Treating them as transfers is only correct if every cash purchase is logged;
with partial logging it silently deletes the unlogged remainder from spend.
2026-07-26 14:38:47 +10:00

1.2 KiB

1TransferWise IDDateDate TimeAmountCurrencyDescriptionPayment ReferenceRunning BalanceExchange FromExchange ToExchange RatePayer NamePayee NamePayee Account NumberMerchantCard Last Four DigitsCard Holder Full NameAttachmentNoteTotal feesExchange To AmountTransaction TypeTransaction Details Type
2TRANSFER-156238170431-05-202531-05-2025 10:35:03.049-16718.38AUDSent money to Siddharth Bose (fee: 1.00 AUD)Sent via Wise0.00Siddharth Bose4085562641.00DEBITTRANSFER
3FEE-TRANSFER-156238170431-05-202531-05-2025 10:35:03.048-1.00AUDWise Charges for: TRANSFER-1562381704Sent via Wise16718.38Wise0DEBITTRANSFER
4BALANCE-350595717931-05-202531-05-2025 10:32:45.68716719.38AUDConverted 10,783.16 USD to 16,719.38 AUD16719.38USDAUD1.554850.0016719.38CREDITCONVERSION
5BANK_DETAILS_ORDER_CHECKOUT-invoice-1706710722-04-202522-04-2025 21:45:08.441-22.00AUDWise bank details acquisition0.000.00DEBITUNKNOWN
6TRANSFER-150698166022-04-202522-04-2025 21:45:07.28822.00AUDTopped up account22.000.00CREDITMONEY_ADDED