Live demo

Every part of FFL-POS, running in your browser.

Six real interfaces — not screenshots — with sample data you can click through. Nothing here touches a real account, and nothing you do is saved.

Dashboard

Sales, on-hold queue, and low-stock alerts in one view — the same range toggle a real shop owner would use every morning.

app.fflpos.io/admin
Dashboard
Total sales
$18,240
↑ 12.4% vs previous
Orders
47
↑ 6.1% vs previous
Guns on books
812
On hold
3
Remington 700, .308 Win — ORD-000482Bound book entry #1183 · OPEN
ON HOLD NICS # required

Run a sale

A simplified version of the same checkout logic your register would run. Ring up a firearm and watch the hold kick in — nothing releases without a NICS transaction number and a disposition of Proceed.

pos.fflpos.io
Catalog — tap to add

Ammo and accessories check out immediately. Adding a firearm puts the order on hold, the same way the register does.

Cart0 items
Tap a product to start a sale.

The same hold, started from the storefront

A customer buying online never gets a firearm shipped to their door. It routes into the exact same hold workflow the register uses — the only difference is where the sale started.

shop.fflpos.io
FFL-POS Supply Co.
Firearms · Ammo · Accessories
Firearm
Glock 19, 9mm
$549.00
Firearm
Ruger 10/22, .22 LR
$399.00
Accessory
Range Bag
$79.99
Accessory
Hearing Protection Earmuffs
$34.99

Adding a firearm the first time asks the buyer to confirm they meet age and eligibility requirements — a real storefront also checks this against store policy and applicable law before allowing checkout.

One catalog, one fulfillment queue

The same product records the register sells from, plus every web order waiting on fulfillment — firearms routed to pickup, everything else routed to ship.

admin.fflpos.io/storefront
OrderItemsFulfillmentStatus
WEB-482113Glock 19, 9mmPickup at dealerPending
WEB-482098Range Bag, EarmuffsShips to customerPending
WEB-481950Ruger 10/22, .22 LRPickup at dealerReady for pickup
WEB-4818779mm, box of 50 ×2Ships to customerShipped
—

Firearm orders never show a “delivered” state — pickup orders end at the counter, with the same hold and NICS check as an over-the-counter sale.

Every firearm has one record, start to finish

Search the bound book the same way your staff would — every acquisition and disposition lives in the same entry, not a separate spreadsheet. Try entry #1183, the on-hold rifle from the dashboard above.

admin.fflpos.io/bound-book
Remington 700, .308 Win
SER-4821 · Entry #1183
1

Acquired

Aug 14, 2026 · Distributor purchase. Bound book entry opened.

2

On hold

Sale started at the register; pending NICS transaction number and disposition before it can release.

A simplified view of the real bound book — production entries also capture buyer identification, Form 4473 references, and full audit history.

Staff, manager, and admin — scoped from day one

Every login is one of three roles. Pick a name to see exactly what they can and can’t do, and — for roles that touch money or settings — what they’ve actually done.

admin.fflpos.io/staff
JW
Jane Whitfield
Admin
What this role can do
Ring up sales
Process returns & store credit
View sales & inventory reports
Edit bound book entries
Edit pricing & tax settings
Manage staff & roles
Recent activity
Updated tax rate to 6.0%Aug 15
Granted Mark Delgado the Manager roleJul 2

A simplified view — production accounts also carry per-location scoping (see the security page for exactly what’s logged today).

Ready to see it on your own inventory?

These are the real interfaces, just with sample data. We'll walk through them with your actual product mix — no obligation.