Show which legs a transfer cannot pair, and what would pair them
The transfers screen counted unpaired legs per definition but never said
which transactions they were; finding them meant retyping the definition
into the builder. A ⚠ row now opens onto its legs, newest first, each
naming the missing side and what that side would have had to be:
revolut → ? arriving leg +250.00 in other matching *FROM REVOLUT*,
dated 2026-02-01 to 2026-02-11
That description comes from transfers.Engine.Want, next to
bestCounterpart, so it is stated in the terms the pairing actually uses:
the other half of the definition, the window, and the amount -- exact,
widened only by the definition's own tolerance, and "any amount" across
currencies, where amounts are not compared. When the other account has
nothing imported at all, the line says so, since that is the usual cause.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -398,6 +398,23 @@ definition catching legs it cannot complete: a wrong glob on the other side, a
|
||||
statement not imported yet, or a movement that genuinely went missing. `✗` is a
|
||||
definition matching nothing at all, which is just dead weight.
|
||||
|
||||
Click a `⚠` row to see the legs behind it, newest first. Each one says which
|
||||
side is missing and what that side would have had to look like:
|
||||
|
||||
```
|
||||
Date Amount Movement Missing Would pair with
|
||||
2026-04-01 500.00 checking → ? arriving leg +500.00 in savings matching *FROM CHECKING*,
|
||||
dated 2026-03-27 to 2026-04-06
|
||||
```
|
||||
|
||||
That is the search to run on the other statement. If it is not there, the
|
||||
statement probably is not imported yet — when nothing at all from that account
|
||||
is, the line says so. If something close is there, the difference tells you
|
||||
which condition failed: a date outside the window, an amount off by a fee (see
|
||||
[When the bank takes a fee](#when-the-bank-takes-a-fee)), or a description the
|
||||
glob does not match. Across currencies the line says *any amount*, since only
|
||||
the dates are checked there.
|
||||
|
||||
`Tol` is the definition's `tolerance_pct`, and it qualifies the counts beside
|
||||
it: row 3's two pairs were matched on slack rather than on the amount agreeing.
|
||||
It is blank for every definition that requires the exact amount — which is the
|
||||
|
||||
Reference in New Issue
Block a user