Gaming & Slot Machines
The Gaming feature lets venues with a gaming floor record cash payouts against individual slot machines. When a clerk hand-pays a winner at the register, they tag the payout to a specific machine in the POS Cash Out modal. Those tagged payouts roll up into per-machine totals, a date-range report, and a CSV export so you can reconcile each machine's cash flow.
Slot-machine payout tracking is built on top of the standard cash Payouts flow -- a "Slot Payout" is just a cash drop with a slot_payout reason and a required machine tag.
How It Works
Slot machine tracking adds two pieces to the system:
- A GamingMachine record for each physical machine on your floor (identified by a unique label, e.g. "Slot 01").
- A new Slot Payout reason in the POS Cash Out modal. When a clerk selects it, they must also pick which machine the payout came from.
A Slot Payout behaves like any other cash payout: it removes cash from the till and subtracts from expected cash at session close. The difference is the machine tag, which lets you attribute the cash to a specific machine for reporting.
Slot machine tracking piggybacks on the cash Payouts feature. If Payouts is turned off, slot machine tracking is automatically forced off as well -- the POS button and admin tab are meaningless without the payouts flow. Enable both together.
Enabling the Feature
Slot machine tracking is controlled by the enable_slot_machines feature flag (off by default).
- Go to Settings (store settings).
- Make sure Enable Payouts is checked.
- Check Enable Slot Machine Payouts.
- Save.
Once enabled:
- A Slot Payout reason and machine picker appear in the POS Cash Out modal.
- A Slot Machines tab is added under Promo Games in the admin.
- A Gaming card appears on the Reports index.
Like other optional features, this flag can also be forced on per deployment with the FEATURE_ENABLE_SLOT_MACHINES=true environment variable.
Managing Machines
Manage your gaming floor inventory from Admin > Promo Games > Slot Machines.
Machine Fields
| Field | Description |
|---|---|
| Label | The machine's name as shown to clerks in the POS payout dropdown. Must be unique (case-insensitive), max 60 characters. |
| Active | Whether the machine appears in the POS picker. Inactive machines are hidden from the register but retain their history. |
Adding Machines
There are two ways to add machines from the Slot Machines page:
- Add a single machine -- Expand the panel, enter a label, and click Add.
- Bulk add (paste labels) -- Expand the panel, paste one label per line, and click Add all. This is all-or-nothing: if any line conflicts with an existing label, nothing is saved.
Editing, Deactivating, and Archiving
Each machine row in the table offers:
- Pause / Play -- Toggle the machine between Active and Inactive. Inactive machines stay in your history but are removed from the POS picker.
- Edit -- Change the label or active state.
- Archive -- Soft-deletes the machine. Historical payouts keep their machine tag (and still render the label, marked "(archived)"), but the machine no longer appears in the POS picker.
Archiving is a soft delete. Past payouts remain attributed to the machine and continue to show in reports and the CSV export (with an "Archived" status), so your reconciliation history stays intact.
Recording Payouts (at the Register)
Clerks record slot payouts from the POS register, not the admin:
- Open the Cash Out modal on the register.
- Choose the Slot Payout reason.
- Select the machine the cash came from in the machine dropdown.
- Enter the payout amount and confirm.
The payout is logged against the selected machine, removed from the drawer, and printed on the cash-out receipt with a Machine: <label> line. Only active machines appear in the dropdown, and a machine selection is required for the slot payout to save.
The server rejects a Slot Payout that has no valid active machine selected. Conversely, other payout reasons (lottery, vendor refund, petty cash) cannot carry a machine tag -- the tag is exclusive to slot payouts.
Slot payouts also appear in the cash drawer session view. On a session's Show page, the Payouts table includes a Machine column (when the feature is enabled) so you can see which machine each payout was tagged to.
Viewing in Reports
Gaming Card
When slot machine tracking is enabled, a Gaming card appears on the main Reports index. It links to the per-machine slot payout report and is described as "Per-machine cash payouts, totals over a date range, and CSV export."
Per-Machine Totals
The Slot Machines page (Admin > Promo Games > Slot Machines) is also the report. It shows a table of every machine with:
| Column | Description |
|---|---|
| Label | The machine name. Click it to drill into that machine's payout history. |
| Status | Active or Inactive. |
| Today's Payouts | Total cash paid out on this machine today. |
| Range Payouts | Total cash paid out within the selected date range. |
| # Payouts (range) | Count of payout transactions in the range. |
A Totals row at the bottom sums today's payouts, range payouts, and payout counts across all machines.
Date Range and Presets
Use the From / To date fields and click Apply to set a custom range. Quick presets are available: Today, Yesterday, This week, Last 7 days, and This month. By default the report covers the current week through today.
Per-Machine Drilldown
Click a machine's label to open its detail page, which lists every individual payout in the selected range with date, time, clerk, the cash drawer session (linked), amount, and notes -- plus the total and payout count for the range.
CSV Export
Click Export CSV on the Slot Machines page to download a per-machine summary for the selected date range. The export includes archived machines (marked "Archived") and contains: Label, Status, number of payouts, and total payout dollars. The filename includes the date range, e.g. slot-payouts-2026-05-01-to-2026-05-31.csv.
Troubleshooting
| Issue | Solution |
|---|---|
| No "Slot Payout" reason in the Cash Out modal | Confirm both Enable Payouts and Enable Slot Machine Payouts are checked in Settings. Slot tracking is forced off if Payouts is off. |
| Slot Machines tab missing under Promo Games | The enable_slot_machines flag is off, or Payouts is disabled (which forces it off). Enable both in Settings. |
| Gaming card not on the Reports index | The card only appears when slot machine tracking is enabled. |
| A machine doesn't appear in the POS dropdown | Only Active machines show. Check the machine isn't paused (Inactive) or archived. |
| Slot payout won't save | A valid active machine must be selected. Pick a machine in the dropdown before confirming. |
| Can't add a machine | Labels must be unique per store (case-insensitive) and 60 characters or fewer. Check for a duplicate. |
| Bulk add saved nothing | Bulk add is all-or-nothing. If any pasted label conflicts with an existing one, the whole batch is rejected -- remove the duplicate and try again. |
| Archived machine still shows in reports | Expected. Archiving is a soft delete; historical payouts keep their tag and the label shows as "(archived)" so totals stay accurate. |
| Totals look low | Check the date range. The report defaults to the current week. Use the presets or set custom From/To dates. |
Best Practices
- Label machines clearly -- Use the same labels clerks see on the physical floor (e.g. "Slot 01", "VLT 3") so payouts get tagged to the right machine.
- Bulk add at setup -- When first enabling the feature, paste your whole floor inventory into the bulk-add box rather than adding machines one at a time.
- Deactivate, don't archive, for short outages -- If a machine goes offline temporarily, deactivate it to remove it from the POS picker; archive only when a machine leaves the floor for good.
- Reconcile daily -- Review the "Today's Payouts" column at close to confirm tagged payouts match each machine's hand-pay log.
- Export monthly for records -- Use the CSV export at month-end to keep a per-machine payout record alongside your other gaming paperwork.
- Keep Payouts enabled -- Disabling Payouts silently turns slot tracking off, hiding the POS button and admin tab. Leave both on while you use this feature.
What's Next?
- Cash Drops & Payouts -- The standard payouts flow that slot payouts are built on.
- Sales Reports -- Review overall store sales and revenue trends.
- Promo Games -- The Slot Machines tab lives alongside the other Promo Games tools.