You are a daily card-settlement reconciliation. You read one settlement batch's two-way position -- the processor's own transaction record against what the network settled, per component -- at one recon run, against the DEFAULT fee and rate rules, and you answer with one JSON object and no other text.
You are the daily settlement reconciliation for one card processor. It runs every banking morning
and re-reads EVERY settlement date that is not yet reconciled. You are reading ONE settlement batch
at ONE recon run.
The batch, its two-way position (the processor's own transaction record against what the network
actually settled, per component), the DEFAULT fee and rate rules, and everything recorded since the
previous recon run are reproduced in the extract below. Apply them exactly as written. You cannot see
the earlier recon runs; what is known about them is stated under "Carried state" and is the only
history available to you. Do not assume anything about earlier runs beyond it.
⚠︎ THE EXPECTED SETTLEMENT WINDOWS, THE ADJUSTMENT-FILING WINDOW, THE MATERIALITY FLOOR, THE
INTERCHANGE TIER NAMES AND THE ASSESSMENT RATES ARE ILLUSTRATIVE DEFAULTS AND INVENTED LABELS, NOT
ANY REAL CARD NETWORK'S, PROCESSOR'S OR ACQUIRER'S TERMS. Apply them as printed regardless of whether
they look right for the MID in front of you.
THE POINT OF THIS JOB: the totals usually tie, and when they do not, the difference is almost never a
missing transaction. It is a FEE OR RATE RULE -- and which rule decides who, if anyone, does anything
about it:
A gap caused by an INTERCHANGE DOWNGRADE is a defect AT SOURCE. Volume cleared at a worse tier
because a qualifying field was absent from the clearing message. The money is not coming back and
there is nothing to file with the network -- the volume was rated correctly for the message that
was actually sent. It goes to the team that owns that message, and until they change it the same
gap is re-earned on every settlement date.
A gap caused by a CROSS-BORDER ASSESSMENT on genuinely cross-border volume is EXPLAINED AND
CORRECT. It is a price, not a defect. It goes to NOBODY. Routing it is a morning spent proving that
a price is a price, and it is how a settlement exception queue stops being read.
A gap caused by the network's CUT-OFF or by a CHARGEBACK REVERSAL value-dating in a later cycle is
TIMING, and it will clear on its own.
A gap that is none of those, past its component's window and not moving, is genuinely UNMATCHED
money.
Those four look IDENTICAL on the page: one number, over the materiality floor, on one component.
How to work it out:
- FIRST decide whether both feeds arrived for the settlement date. If the processor record or the
network settlement file is missing, the verdict is CONTEXT_INCOMPLETE: no gap is judged, no cause
is determined, nothing is routed, and the runs-open count does NOT advance. THERE IS NO DEFAULT
SETTLEMENT WINDOW for a feed that never arrived (Rule N-9).
- THEN decide whether this settlement date is already CLEARED. If the carried state says an earlier
run recorded the gap as settled, the verdict is CLEARED and stays CLEARED (Rule N-8).
- THEN read the two-way gap off the printed per-component table. A gap under the printed materiality
floor is not a gap.
- If the position agrees: the verdict is TIES if this settlement date has NEVER had a gap open
against it, and CLEARED if it had one and it has now settled. Those two are the same zero on the
page and only the carried state tells them apart (Rule N-8). The cause is NONE for TIES. Nothing
is routed either way.
- If there IS a gap, note which component carries it -- that component selects the EXPECTED
SETTLEMENT WINDOW from the printed table (Rule N-1).
- If the record explains the gap as an INTERCHANGE DOWNGRADE, the verdict is RATE_RULE_FIXABLE at
any age, inside the window or not, and it NEVER ages into anything else: nothing is going to
arrive, and it is not a claim, so the filing clock is not its clock (Rules N-4, N-7).
- If the record explains the gap as a CROSS-BORDER ASSESSMENT correctly applied to genuinely
cross-border volume, the verdict is RATE_RULE_PRICED at any age, inside the window or not, and
NOTHING IS ROUTED. It is explained and it is correct (Rules N-5, N-7).
- THEN, if the settlement date is already OLDER than the printed adjustment-filing window, the
verdict is AGED_PAST_FILING -- on sight, on its first recon run, without waiting for a second
position to compare against. A filing window is a DEADLINE, not a settlement schedule (Rule N-7).
- If the record says the network confirms transactions were NEVER RECEIVED in clearing and will not
be settled, the verdict is UNMATCHED at any age, inside the window or not (Rule N-6).
- Otherwise, compare the settlement date's age in BANKING DAYS SINCE THE SETTLEMENT DATE against
that component's expected settlement window. INSIDE the window: TIMING_WINDOW. Do not route it
(Rule N-2).
- PAST the window, it is UNMATCHED only if the carried state shows the SAME gap at the previous
recon run AND it has not moved. A gap that has SHRUNK since the previous run is settlement
arriving and stays TIMING_WINDOW however old it is. If there is no previous position on record at
all -- this is the settlement date's first recon run -- nothing convicts it and it stays
TIMING_WINDOW (Rule N-3). A network advice promising an adjustment is NOT an adjustment: convict
on the position, never on the promise.
- THEN decide the CAUSE. Cause evidence ACCUMULATES from earlier runs (see "Carried state") and from
anything recorded THIS run -- in the structured advice log or in an ordinary recon note. A note
that describes a cause in plain prose counts exactly as much as a coded advice. Use UNDETERMINED
only when the gap is real and nothing anywhere says why, and NONE only when there is nothing to
explain.
- THEN give "runs_open": the number of RECON RUNS on which this reconciliation has reported this gap
open, INCLUDING this one. It is stated in the carried state and it is NOT the settlement date's
age in banking days -- a settlement date can reach this queue already weeks old with a runs-open
count of zero. It is 0 when nothing is open, and it FREEZES rather than resets once the gap
settles.
- THEN decide the OWNER. Start from the recon analyst on file, but a note recording a handover to
someone else, in this run or an earlier one (see "Carried state"), supersedes it.
- FINALLY decide "route_now": YES only if the verdict is RATE_RULE_FIXABLE, UNMATCHED or
AGED_PAST_FILING AND the carried state does not already show a route raised at that same level.
Those three go to three different teams, so a route already raised at one level does not satisfy
another. RATE_RULE_PRICED and TIMING_WINDOW are NEVER routed. Otherwise NO.
Answer with a single JSON object and nothing else:
{"verdict": "TIES|TIMING_WINDOW|RATE_RULE_FIXABLE|RATE_RULE_PRICED|UNMATCHED|AGED_PAST_FILING|CLEARED|CONTEXT_INCOMPLETE",
"cause": "INTERCHANGE_DOWNGRADE|CROSSBORDER_ASSESSMENT|CHARGEBACK_WINDOW|CUTOFF_LAG|UNMATCHED_TRANSACTION|UNDETERMINED|NONE",
"runs_open": <integer>,
"owner": "<the current recon analyst's name>",
"route_now": "YES|NO",
"rationale": "one sentence, naming the gap, the component, the window or rate rule you applied and
the evidence -- carried or recorded -- you relied on"}
Precedence, applied in this order: CONTEXT_INCOMPLETE if a feed is missing (Rule N-9); then CLEARED
if the carried state already says so (Rule N-8); then TIES or CLEARED if the position agrees; then
RATE_RULE_FIXABLE on an interchange downgrade (Rule N-4); then RATE_RULE_PRICED on a correctly
applied cross-border assessment (Rule N-5); then AGED_PAST_FILING (Rule N-7); then UNMATCHED on
volume the network never received (Rule N-6); then UNMATCHED on an unmoved gap past its window
(Rule N-3); otherwise TIMING_WINDOW (Rule N-2). "cause" is UNDETERMINED whenever the verdict is
CONTEXT_INCOMPLETE.
Carried state
----------------------------------------------------------------
At the previous recon run this settlement date was short 4,881.14 GBP on the INTERCHANGE leg. This reconciliation has reported that gap open on 1 earlier recon run(s) -- so if it is still open now, its runs-open count is 2. No cause has been established for this settlement date on any earlier run. This reconciliation has not routed this settlement date anywhere. The recon analyst as last settled is Noor Haddad -- carried forward unless this run's record hands the settlement date to someone else. It was last reported TIMING_WINDOW.
Settlement reconciliation extract
----------------------------------------------------------------
Synthetic Record
----------------------------------------------------------------
Every field below is invented. This is a generated card-settlement reconciliation extract
for an AI use-case kit; it reproduces no card network, no processor, no acquirer, no bank,
no merchant and no real person. The expected settlement windows, the adjustment-filing
window, the materiality floor, the interchange tier names and the assessment rates are
ILLUSTRATIVE DEFAULTS AND INVENTED LABELS -- no real scheme's interchange table is
reproduced here and no rate on this page is a real published rate.
Settlement Batch
----------------------------------------------------------------
Batch reference : NS-0020
Merchant MID : 438764905 Castleraine Events
Card network : MERIDIAN-SCHEME
Acquiring BIN : 5219 84
Interchange programme on file : PREMIUM DEBIT
Settlement date : 2026-08-18 (Tuesday)
Recon analyst of record : Noor Haddad
Two-Way Position
----------------------------------------------------------------
The processor's own transaction record for this settlement date against what the network
actually settled, per component, in GBP. Fee components are shown as negatives because they
are deducted from the merchant's settlement. A negative gap means the network settled LESS
than the processor's own record accounts for.
Component Processor record Network settled Gap Expected settlement
PRINCIPAL 1,642,154.56 1,642,154.56 0.00 T+1 banking day
INTERCHANGE -25,219.82 -30,100.96 -4,881.14 T+1 banking day
ASSESSMENT -7,382.82 -7,382.82 0.00 T+2 banking days
CHARGEBACK -12,612.76 -12,612.76 0.00 T+3 banking days
Processor record, net 1,596,939.16
Network settled, net 1,592,058.02
Two-way gap -4,881.14
Materiality floor (default) 25.00
Component carrying it : INTERCHANGE
Fee And Rate Rules (Default)
----------------------------------------------------------------
The windows below are an OPERATOR-TUNABLE DEFAULT, not any real card network's, processor's
or acquirer's terms -- no documented settlement windows, filing deadline or materiality
floor exist for this row. Applied exactly as printed. A gap's age is counted in BANKING DAYS
FROM THE SETTLEMENT DATE, never in calendar days.
Component Expected settlement window
PRINCIPAL 1 banking day from the settlement date
INTERCHANGE 1 banking day from the settlement date
ASSESSMENT 2 banking days from the settlement date
CHARGEBACK 3 banking days from the settlement date
Adjustment-filing window : 10 banking days from the settlement date
Materiality floor : 25.00 GBP
Re-rating authority : NOT DEFINED. Nothing in this kit posts an
adjustment, files a network claim, re-rates a transaction,
releases a settlement or amends a merchant statement.
Rule N-1 The position is TWO-WAY and it is read PER COMPONENT off the printed table: what the
processor's own transaction record says for this settlement date, against what the network
actually settled, for the PRINCIPAL, the INTERCHANGE, the ASSESSMENT and the CHARGEBACK
legs. The component carrying the gap selects which EXPECTED SETTLEMENT WINDOW applies.
The windows, the adjustment-filing window and the materiality floor are operator-tunable
DEFAULTS, not any real scheme's or acquirer's terms, and are applied exactly as printed.
Rule N-2 A gap INSIDE its component's expected settlement window -- counted in banking days from
the settlement date -- is TIMING_WINDOW. It MUST NOT be routed. Most differences on a
daily settlement recon are this, and routing them is the entire reason the exception
queue gets ignored.
Rule N-3 PAST that window, a gap is UNMATCHED only if the PREVIOUS recon run's position shows the
SAME gap and it has not moved. A gap that is still shrinking is settlement arriving, and
it stays TIMING_WINDOW however old it is. If there is no previous position on record at
all, nothing convicts it: it stays TIMING_WINDOW. A network advice PROMISING an adjustment
is not an adjustment -- this rule convicts on the POSITION, never on the promise.
Rule N-4 A gap the record explains as an INTERCHANGE DOWNGRADE -- volume that cleared at a worse
tier because a qualifying field was absent from the clearing message -- is
RATE_RULE_FIXABLE at ANY age, inside the window or not. Nothing is going to arrive: the
volume was rated, correctly, under the rule that applied to the message actually sent.
IT IS NOT A CLAIM AND IT NEVER AGES INTO ONE. It is a defect at source that recurs on
every settlement date until the message is changed, which is why it is routed to the team
that owns that message and not to the network.
Rule N-5 A gap the record explains as a CROSS-BORDER ASSESSMENT correctly applied to genuinely
cross-border volume is RATE_RULE_PRICED at ANY age, inside the window or not, and
NOTHING IS ROUTED. It is explained AND it is correct. This is the one verdict on this
board where the right answer is that a real, material, fully-explained gap needs no
person at all -- and it looks identical on the page to Rule N-4's, which needs one
urgently.
Rule N-6 A network confirmation that transactions were NEVER RECEIVED in clearing and will not be
settled for this date is UNMATCHED at ANY age, inside the window or not. Volume that did
not reach the network is not going to settle.
Rule N-7 A gap on a settlement date already OLDER than the printed adjustment-filing window is
AGED_PAST_FILING on sight -- Rule N-3 does not get to hold it back. A filing window is a
DEADLINE, not a settlement schedule: once it has passed, "it might still be settling" no
longer makes the money recoverable, and the reading has to say so the first time it is
seen. RATE_RULE_FIXABLE and RATE_RULE_PRICED do NOT age into it -- neither is a claim, so
the filing clock is not theirs.
Rule N-8 Once a gap settles, the batch is CLEARED and stays CLEARED on every later run. CLEARED is
not TIES. A settlement date that never disagreed is TIES; one that disagreed and then
settled is CLEARED, and on a day when both show a zero gap the only thing that tells them
apart is this reconciliation's own history.
Rule N-9 If either feed is missing for the settlement date, the reading is CONTEXT_INCOMPLETE: no
gap is judged, no cause is determined and nothing is routed. THERE IS NO DEFAULT
SETTLEMENT WINDOW for a feed that did not arrive, and the runs-open count does not
advance -- a reconciliation that could not look cannot claim the item stayed open.
Rule N-10 "route_now" is YES only where the verdict owes somebody work AND this reconciliation has
not already routed at that level. The three routable verdicts go to three different
teams, so a route already raised at one level does not satisfy another. RATE_RULE_PRICED
and TIMING_WINDOW are never routed at all.
Recon Position
----------------------------------------------------------------
Recon date : 2026-08-20 (recon run 2 of this settlement date)
Recon cadence : daily -- one settlement reconciliation run every banking morning
Banking days since settlement date : 2
Previous recon run : 2026-08-19
Next recon run : 2026-08-21
Adjustment-filing window remaining : 8 banking days
Events In This Window
----------------------------------------------------------------
Every network advice and every note recorded against this settlement date between the
previous recon run and this one. THIS RUN ONLY -- an advice recorded on an earlier run is
not repeated here.
07:28 Spoke to the scheme rep this morning: the whole batch downgraded because our
clearing message is missing the customer reference on the clearing message. They
will not re-rate it -- the fix is on our side, in the auth, and until it goes in
we will lose the same amount every settlement date.
Recon Notes
----------------------------------------------------------------
This MID sits on a shared descriptor with two sister sites, so refunds against the
group's online orders land in the same settlement file.