Dispenser error glossary
Every dispense failure a machine reports carries an error code (the family — which driver), a raw code (what the hardware said), and a class that decides what the machine did next:
- terminal
- The transport path is compromised. The machine has taken cash-out out of service and will stay that way until you open it. Clear the path, then record a Recount (which also fixes the bay count) or press Resume cash-out. Re-initialising the dispenser does not move a stuck note, so a restart will not clear this.
- recoverable
- This bay or this note. The customer still sees a fault screen if they were short-changed, but the machine stays in service. Check the bay named in the report and the reject tray.
- inventory
- Nothing was asked of the hardware — the request could not be met from the bays. Not a hardware fault. If this happens after payment, the customer is still owed (see the worklist).
Whatever the class, a report that is not dispense_confirmed after a payment means a customer is owed money. The worklist shows it as Cash owed (nothing dispensed) or Partial dispense (some notes out). Nothing has been distributed; the funds are in the machine wallet. Resolve by dispensing the shortfall at the machine (the machine reports the remediation and the settlement completes) or by paying the customer by hand and recording it with Settle off-machine.
Fujitsu F53 / F56 (error code F56DispenseError)
Codes are the two bytes the BDU returns after a failed bill count. Source: Fujitsu Frontech F56-BDU Error Code List (K3KD03234–K3KD03236-0001, ed. E02) and field observations. An unknown code is treated as terminal until it has been decoded.
78 42 — note stopped at the cassette exit terminal
A note left the bay and stopped in the transport just past the cassette. The counters report 0 dispensed, 0 rejected because the note completed neither path — so the bay count is also one high until you recount.
What to do: open the unit, remove the note from the transport path, check the cassette is seated, then Recount the bay (this releases the cash-out hold and corrects the count). First seen: sintra, 2026-10-09 — a 20 EUR note, customer paid 40 EUR and received nothing.
82 00 — bill length check failed (long) recoverable
The BDU measured a note longer than the accept window configured for that denomination and rejected it. Repeated on every pick from one bay, it is almost always the configured window, not the notes: a GTQ Tejo rejected 5 of 5 on every pick in 2026-09 because the window was ±5 mm where the identical-size USD note has ±10.
What to do: empty the reject tray and look at the notes. Single notes → window too narrow; report it. Pairs → the separator is worn (offset double-pick) and the narrow window is doing its job.
83 00 — bill length check failed (short) recoverable
As above, measured short. Torn or folded notes, or the wrong denomination loaded in the bay.
84 00 — bill thickness check failed recoverable
Two notes stuck together, or a taped/damaged note. Check the reject tray.
85 0n — pick from another safe recoverable
A note arrived from a bay other than the one commanded (n = which). Usually a cassette not fully latched.
86 00 — bill spacing error recoverable
Notes too close together on the transport. Often follows a worn feed roller.
B5 .. — reject box overflow terminal
The reject tray is full; nothing more can be rejected, so nothing more can be dispensed safely.
What to do: empty the reject tray, count what is in it (those notes left a bay), Recount.
Unrecognised code terminal
A code not yet in this table. The machine treats it as a jam — cash-out held — until someone decodes it. Please report the raw code with what you found inside the unit so it can be added.
DispenseTimeout — dispenser did not answer terminal
No frame came back within the dispense timeout (serial timeout, port closed, framing error). The transport state is unknown; the bay counts are flagged unverified.
Puloon LCDM (error code PuloonDispenseError)
No decode table yet; every Puloon fault is treated as terminal. The raw code is whatever the driver returned — report it.
Software-side codes
InsufficientInventory / NoCassetteForDenomination inventory
The request could not be met from the bays as the machine believes them to be. After a payment this still leaves the customer owed; before one, the sale is simply refused. If the bays physically hold more than the machine thinks, Recount.
DispenseShort inventory
The dispenser returned fewer notes than requested and reported no error. The customer is owed the difference.
Reference: bitspire docs/adr/005-cash-out-dispense-outcome.md, Decisions 3–7.