Skip to main content

Match transfers using the bank’s value date when booking is delayed

MoneyMatter currently matches transfers between connected accounts when the expense and income have the same amount and currency and their transaction dates are within three days.

I have a recurring transfer from Erste bank to Revolut that this rule misses. The Revolut income is dated day D. Erste records the matching expense on D+4, but supplies day D as its value date. Both transactions are booked, yet they remain an expense and an income instead of one transfer.

Please keep the current date matching as the first attempt. When it finds no match, consider the bank’s value date as a fallback. Only link the transactions if they are booked, have the same amount and currency, and each has exactly one eligible counterpart. If the bank supplies a counterparty IBAN that conflicts with the proposed match, do not link them. Ambiguous matches should remain for manual review.

This fallback should affect matching only.

2 comments

Log in to comment and vote

Comments2

  • Boros Máté

    •

    Sep 30

    Wise currency conversions imported through Enable Banking also remain ordinary income and expenses despite sharing a conversion reference.

    For example: −11,922.50 TRY principal, +78,056 HUF received, and −77.50 TRY fee.
    The principal records should have formed an internal transfer, excluded from income/spending totals; the fee should remain an expense.

    Currently there is no way to manually exclude them from expenses or create a rule to link them.

    Would be nice to support matching across currencies using the shared conversion reference, account ownership, and date, while checking for ambiguous matches. Making the manual linking action easier to find would also help.

    TRY expense:

    BALANCE-5983991841 Converted 12,000.00 TRY to 78,056.00 HUF (fee: 77.50 TRY)

    Amount: -11,922.50 TRY

    HUF income:

    BALANCE-5983991841 Converted 12,000.00 TRY to 78,056.00 HUF

    Amount: +78,056.00 HUF

  • Boros Máté

    •

    Sep 29

    This is a sample from my production data. It is sanitized but it’s well representing my transactions.

    Top up only happens from Erste to Revolut.

    The strongest conclusion is a date mismatch. All 14 Erste expenses have a same-amount Revolut top up on the card date written in the Erste note. For 13 of them, Erste’s structured valueDate also matches that date. MoneyMatter stores the later booking date as the transaction time, and its transfer matcher uses that time with a three-day window.

    That explains the six unlinked cases:

    • E01–E02: a late-booked Erste row makes one Revolut top up eligible for two expenses, so the matcher’s uniqueness rule rejects the link.

    • E03 and E11: Erste booked four days after the card date, outside the matching window.

    • E08: Erste booked six days later. Its note-date top up is currently linked to E07.

    • E14: the Erste row is still pending, which the matcher intentionally skips.

    There is also a possible shifted pairing: E06 and E07 are linked to top ups dated 7 and 4 days after their own card-note dates. Those top-up dates match E07 and E08 respectively.

    erste_revolut_transfer_review.xlsx

    16.4 KB• Spreadsheet