Most posting gates are wired the wrong way around. They take the model's top result, compare its confidence score to a threshold, and post if the score clears the bar. That design works for classification (one label, several candidates) but fails for matching, where the job is not to rank candidates but to decide whether a unique identity has been established.
A reconciliation pipeline that passes every candidate pair to a model and asks for a confidence score and a one-sentence reason will clear the easy majority of cases. The author of one such build reports that the model was confident and correct on the obvious matches, handled a middle band of harder cases well, and was confidently wrong on the rest, which is the worst failure mode in reconciliation, because there is no signal in the output that flags it (Amit Mishra on letting AI handle reconciliation). The score tells you how sure the model is; it tells you nothing about whether two ledger rows are the same economic event.
This matters because the downstream consequence of a wrong post is not a bad recommendation. It is a journal entry that no longer ties to its source document, a variance that appears in the close with no explanation, and a controller spending the day pulling general ledger exports to find the one entry that broke the tie (Cube on variance analysis). A general ledger reconciliation process verifies that recorded balances match supporting records; one duplicate post breaks that chain for every account it touches (Numeric's reconciliation guide). The right unit of decision is therefore not the score but the count.
There is a second reason. Model scores are not calibrated across prompts, documents or model versions, so a threshold tuned on one batch drifts on the next. A count of matching rows is exact, reproducible and auditable. Anyone reviewing the post months later can see why the gate allowed it: exactly one candidate carried that key. That is a far stronger audit trail than "the score was 0.94."



