Vending & self-service
Machine telemetry over MDB and ccTalk, payment by coin, card and QR, stock accounting and revenue reconciliation. Trips planned from data.
Case
An alcohol vending machine cannot sell to just anyone: age has to be confirmed before anything is dispensed. We made identity verification (KYC) part of the purchase flow, so the machine does not open the cell until the age check has passed.
Payment is cashless: card or QR, with no cashier and no cash inside the machine. Every device reports its state to the server — stock, faults, sales — so the operator sees the network remotely and visits a site when needed rather than on a schedule.
The same approach — software between the hardware, the bank and the person — works on other self-service equipment too.
Why vending is hard to scale
Every machine is a separate point with cash, stock and its own state. With five, driving around solves everything. With fifty, driving around becomes the biggest cost line: half the trips go to machines that are fine, while the one that actually stopped keeps waiting.
The second issue is accounting. How much stock is left, what sells, what has been sitting for months, where money disappears between machine and till. Without telemetry you only see it after the fact.
What we do
Machine telemetry
Status, stock level, faults, temperature. Trips are planned from data, not from a schedule.
Payment acceptance
Coins, bills, contactless card, QR from a phone. Every payment lands in the system.
Stock accounting
What sold and when, what is running out, what is not moving. Purchasing driven by numbers.
Device-level fraud checks
Unusual patterns — openings, resets, mismatch between dispensed and paid — are logged and raise alerts.
Age verification
For alcohol vending: age check before dispensing, with an operation log.
Reporting
Revenue per machine and location, comparison between sites, payback per unit.
What it runs on
MDB and ccTalk for payment peripherals, Modbus where a controller exists, MQTT for event transport. Node.js and PostgreSQL on the server, web panel. The same stack as car washes: taking money, reconciling shifts, telemetry — technically the same problem.
Frequently asked
Can machines from different makers be connected?
What does telemetry save in money?
What about alcohol vending?
Answers on this topic
Plain explanations without marketing — useful even if you never hire us.
Who writes the software that runs self-service kiosks
A self-service kiosk is a box; the software behind it makes it a business: take payment, drive the hardware, reconcile the money by morning.
Card payments for vending machines without a cashier
MDB reader, bank terminal or QR: three ways to take cashless payments on a machine, fiscal receipts without a cashier, per-machine reconciliation, offline mode.
MDB: why your machine does not see the payment
How the MDB bus works inside a vending machine, why a card terminal pretends to be a coin mechanism, what cashless levels mean, and where integrations stall.
ccTalk: why your bill acceptor still speaks this language
How ccTalk works, how it differs from MDB, why a bill validator needs encryption, and what to do when the device takes notes but the system never sees them.
Per-device revenue reconciliation: catching shortfalls
Daily reconciliation for car washes, vacuums and vending: three numbers per device that must agree, where gaps come from, how to tell a fault from abuse.
