Home › Use Cases › Merch consignment settlement reconciliation
Use caseUC0365
🧪 Use-case kit · runnable

Merch consignment settlement reconciliation

A small, forkable project that does one job end to end. Run once for real, and every figure on these pages captured from that run.

The business caseThe problem this solves

A venue and a vendor consign merchandise for one event under one signed agreement, and two parties record the same sales separately: the venue's box office system rings them and prints a sales record, the vendor counts its own stock and submits a settlement statement. The two disagree. Between them sits a signed count sheet both parties put their name to and an agreed price list attached to the agreement. Today a settlement clerk reads the venue system's own settlement panel, which prints an attribution of BOTH-RECORDS-WRONG and a status word of SPLIT on every disputed account -- and the event has to be closed out this week. The line-by-line reconciliation of a consignment settlement -- each sheet against the signed count at the governing price -- that a clerk does by hand before deciding which record moves.

Audience

The settlement clerk who has to decide which sheet moves, and the finance lead who signs the payment. The decision is not 'how much' -- it is 'whose record is wrong, and on which line'. Every number on these pages came from one real run of this code, not from a vendor page.

The inputThe actual consignment settlement files

The corpus is 64 consignment settlement files, 0.24 MB (txt 64). A settlement disagreement is two records of the same event plus a signed count between them, and no public dataset carries that: a real consignment settlement is a commercial document with negotiated terms behind it. The mix here is what makes the task the job -- a duplicate keyed twice on one sheet, a line priced off the agreed list where the agreement says the list governs, each side reading the settlement-basis clause the other way with neither miscounting, a card fee taken by the party the agreement does not name, shrink claimed above the agreed percentage, stock returned after the count cut-off, comps booked as sales, one error on each sheet that cancels, and variances that clear one half of the tolerance and not the other. Above all it carries DECOYS: 11 adjustments stated in full and then withdrawn, proposed or dated after the settlement, against 9 that were actually agreed. A regex finds 9 of the real ones and 8 of the decoys, which is precisely the line between what a spreadsheet already does and what the call is bought for.

The corpus

  • The 64 consignment settlement filesgenerated from a fixed seed, so no real record, person or institution appears in it.
  • Where each came fromwritten for this kit rather than collected — the corpus is generated in the kit's own repository, so there is no third-party data in it.

Swap this folder for your own material and the kit is pointed at your consignment settlement files. That is the whole change — there is no database to migrate.

One consignment settlement file, as the model receives itCSF-0001.txt · 1 of 64
==============================================================================
CONSIGNMENT SETTLEMENT RECONCILIATION FILE                 CSF-0001
Venue: VEN-4110 - Northfell Park (invented)
Vendor: VND-7210 - Braddock Textile Works (invented)
Event: EVT-0301   Settled: 2026-03-04   Period: 2026-03-01 to 2026-03-03   Procedure: CSR-2026
==============================================================================

THE CONSIGNMENT AGREEMENT AS BOTH PARTIES SIGNED IT
  agreement id                     CSA-5101   
  vendor share                        65.00   pct of the settlement basis
  venue share                         35.00   pct of the settlement basis
  settlement basis             NET-OF-RETURNS   the vendor is paid on what sold
  price authority              AGREEMENT-LIST   the agreed price list governs, not the till
  card fee basis                      VENUE   the party that bears the card fee
  card fee                             2.50   pct of the settlement basis
  booth fee                          150.00   flat, deducted from the vendor share
  shrink allowance                     0.25   pct of units shipped, borne by the venue
  tolerance amount                    25.00   or less
  tolerance pct                        0.50   pct of the settlement basis or less
  count sheet                        SIGNED   both parties signed the count-in and count-out
  settlement date                2026-03-04   

THE AGREED PRICE LIST
  SKU        DESCRIPTION                        UNIT PRICE
  SKU-3360   Hooded Sweatshirt                       65.00
  SKU-3420   Match Programme                          9.00
  SKU-3400   Youth Tee                               26.00
  SKU-3350   Team Scarf                              28.00

Abridged — the file continues.

The outcomeWhat a good result looks like

One row per settlement: the basis the signed count and the governing price support, whether a post-count adjustment actually took effect, the exact sheet lines that depart with each one quoted verbatim, and one of five verdicts naming the sheet that must move. Both sheets stay on the page.

And when it cannot

A split. A midpoint is a number NEITHER sheet supports -- not on the venue's record, not on the vendor's statement, not in the signed count, not in the agreed price list -- and it destroys the whole reason for showing both sheets. Across 64 settlements and 20 adversarial calls this kit proposed 0. The failure it DOES ship is quieter: on 4 of 64 settlements it named BOTH sheets when only one was at fault.

Where it fitsWhat did work

Every line below is a measured result from this kit's own runs, with the figure that supports it. The headline above is not softened by any of them.

  • You need to know which sheet moves, and a wrong attribution is expensive — the fast tier + the pure-code station (the shipped arm)
    93.8 pct of settlements entirely right against the free floor's 78.1, and the attributed verdicts are where the gap lives -- the floor returns a correct verdict on 0 of 64.
  • Your settlements carry no decoy adjustments -- every note that states one means it — the rules floor, evals/baseline.py --floor rules
    The floor's whole deficit is the decoys: a regex finds all 9 real adjustments. Remove the 11 decoy files and the reading problem this kit is built around largely goes away, for $0.00.
  • You want a number today with no budget and no key — any of the three free floors
    They need no credential and no network, run in a fraction of a second on a cold clone, and are scored by the same graders on the same key. The panel floor in particular tells you what your current system is already worth: 51.6 pct.

At a glanceHow the whole thing runs

52%settlement all correct pct
1,637 msp50, end to end
$5.24per 1,000 consignment settlement files · Google Gemini 3 Flash

Run once, for real, on 2026-09-10. Every figure on these pages was captured from that run — nothing is written from intent.

14 steps, grouped by the question that sends you to them rather than by build order. Each tile carries the one figure that step is about, and opens the page behind it.

Should you use this?What you bring, where it stops, and when not to use it

Before you commit an afternoon to this, these are the answers that decide it. Each one is rendered from the record it lives in — and links the page that holds it in full.

What do I have to bring?Replace data/corpus/*.txt with your own settlement files in the same section layout -- the headings in src/sheets.py are exact-match anchors -- and rewrite data/gold.jsonl with your own answer key. THE MEASURED RESULT DOES NOT TRAVEL WITH THEM. Corpus lens →
When is this the wrong choice?Avoid: Trusting the reply's own arithmetic or its confidence number. Neither survives measurement. That is the case against the best-fitting scenario (“You need to know which sheet moves, and a wrong attribution is expensive”). 3 scenarios scored in all, each with its own. Eval lens →
Where does it stop working?AN OMITTED LINE. Every departure in this corpus is a line that is PRESENT and wrong; an understatement is a line with too few units on it. 6 recorded failure modes, each from a run rather than a guess. Corpus lens →
What was never verified?THE ANSWER KEY IS DISPUTED ON TWO SETTLEMENTS BY THIS KIT'S OWN LABEL GATE, AND BOTH ARE MODEL WINS. evals/check_labels.py exits nonzero: on CSF-0042 and CSF-0045 it reads VSL-0104 as CORRECT under a VENUE-POS price authority and finds DSL-0204 departing (priced 65.00 and 28.00 against governing prices of 64.99 and 27.99) where the key labels neither, giving C-R1 / VENDOR-OVERSTATED against the key's BOTH-RECORDS-WRONG. 8 items this kit says it could not check. Eval lens →
Can I run this on a model I control?Yes — any OpenAI-compatible endpoint, including one on your own hardware. The shipped adapter takes its host from BASE_URL and its model from MODEL, so nothing in src/ changes. The published figures come from 1 model on the fast tier, one provider, one key. Prompt lens →
And if it fits — what do I stand up?5 artifacts with a stated home and a stated egress, and 4 decisions each with what you provision past its ceiling — plus what was not measured. That is the next page, not this one. step 14 — Run it in your environment →

Not asked of this kit — 2 questions: clone (a fresh clone of this kit runs with nothing fetched); judge (nothing here is graded by a model).

Last verified 2026-09-10 — r001-consignment-settle. Every figure on these pages was captured from that run.

Run itHow this reaches your data

Every result on this page was produced by pure code over checked-in files, with no API key — which is why you can read the numbers before anyone spends anything.

Run this on your own data

  • The pipeline, its eval harness and the runs behind every numberdeployed inside your environment, on your own model endpoints, against your own documents.
  • The corpus above is the shape, not the limitit is a folder swap, and there is no database to migrate.

Talk to us →

Checked before this shipped — Measured on 2026-09-10, on a copy of this kit taken with no .env present and nothing installed: the independent label gate re-derived all 64 keys in 0.12 s, the board imported in 0.13 s, and the committed scored run replayed its 93.8 pct in 0.02 s. requirements.txt names no packages. What a keyless copy CANNOT do is buy a call -- ASK THE MODEL is disabled and says so -- and the three free floors and the whole recorded run are what remains, which is every number on this page.

A living map of modern AI — kept current every morning