FFL-POS
one system, not three.
Run your register, your online store, and your ATF-compliant bound book off one system that shares one inventory and one customer record — instead of three that drift out of sync with each other.
If you run a gun shop, you’re probably running three systems that don’t talk to each other: a register for the counter, a storefront for online orders, and a bound book kept on paper or bolted on after the fact. Stock drifts out of sync, and a serial number that matters for compliance ends up typed in three different places.
FFL-POS runs all three off one data model. A firearm is tracked by serial from the moment it’s acquired, and a regulated sale is tied to the same bound book entry whether it started at your register or on your website.
Six modules, one data model
Every module reads and writes the same product, order, and serialized-item records — nothing is synced between separate systems after the fact.
Inventory & Serialized Tracking
Firearms are tracked individually by serial through six states — in stock, on hold, transfer pending, disposed, returned, lost. Ammunition and accessories are tracked by quantity across multiple store locations.
Bound Book
Every firearm entering inventory opens an acquisition entry. Every disposition — a sale, a transfer, a loss — closes it. Entries stay linked to the item's full history and export for an audit.
Register
In-store checkout for regulated and non-regulated items in one cart. A firearm sale goes on hold and won’t release without a recorded NICS transaction number and disposition. Split payment, cash / card / store-credit returns, printed receipts.
FFL Transfers
Tracks firearms moving to and from other dealers — inbound transfers received on a customer's behalf, and outbound transfers shipped out to complete a web sale at another FFL. Captures ID against the same forms a 4473 accepts.
Storefront & Accounts
A public storefront with an age gate, customer accounts, and order history. Firearm orders don't ship to the buyer — they route into the same FFL-transfer and hold workflow the register uses.
Admin & Reporting
Role-based access for staff, managers, and admins. Sales analytics, a fulfillment queue for web orders, and shop configuration — theme, hero images, tax and restocking-fee settings — in one place.
What you’re actually looking at
Every card below links to the real, interactive interface on our live demo page — not a static image.
From acquisition to closed entry
Item acquired
Logged to inventory by serial; a bound book entry opens.
Sale started
At the register, or reserved through the storefront.
Held
Payment collected; the firearm stays with the dealer pending the required check.
Result recorded
Staff enter the NICS transaction number and disposition — release is blocked without it.
Released & closed
Transfer completes; disposition closes the bound book entry.
Built on a modern, boring-in-a-good-way stack
PostgreSQL-backed
One relational database behind every module — no batch syncs, no reconciliation jobs.
Role-based access
Staff, manager, and admin roles scope what each login can see and change.
Runs anywhere
Any modern browser, or installed as a standalone Windows app for the counter.
Cloud or self-hosted
Let us host it, or run it on your own infrastructure. Your data, your call.
Frequently asked
Does this replace our paper bound book?
Yes. Every acquisition opens a bound book entry automatically when a serialized firearm enters inventory, and every disposition — a sale, a transfer, a loss — closes it. Entries stay linked to the item's full history and export for an audit.
Who owns our data?
You do. Everything runs on a standard PostgreSQL database — host it yourself, or let us host it for you. There's no proprietary lock-in format; your inventory, orders, and bound book export whenever you need them.
Can staff have different levels of access?
Yes. Staff, manager, and admin roles scope what each login can see and change — from ringing up a sale to editing tax and restocking-fee settings.
Does it work without installing anything?
It runs in any modern browser. If you'd rather have a dedicated register app, it can also be installed as a standalone Windows app that opens without any browser chrome.
What about electronic Form 4473?
The compliance workflow that matters day-to-day — the NICS hold, disposition, and bound book entry — is built in today. Full electronic completion of Form 4473 follows ATF Rulings 2016-2 and 2022-01; we'll walk through exactly what that requires for your shop before you rely on it. (Not legal advice — check your approach with an FFL attorney or compliance specialist.)
Do you sync with distributors like GunBroker or Lipsey's?
Native catalog and pricing sync with GunBroker and Lipsey's is on the roadmap. Because inventory already lives in one data model, adding that sync won't change how your register, storefront, or bound book work today.
How long does onboarding take?
Typically 2-3 weeks. We handle data migration, staff training, and a soft launch at the counter before you go live on the storefront.
Do you migrate our existing data?
Yes. We handle import from Excel, older POS systems, and paper records — the goal is zero manual re-entry of your existing inventory.
What training do you offer?
Staff training (roughly 1-2 hours per person), a half-day admin walkthrough, and ongoing email support. Phone support is included on Multi-Location and Enterprise plans.
Can we start with one location and add more later?
Yes. Add locations any time — pricing scales with you, and nothing about your existing setup needs to be re-entered.
What if we need a custom integration?
We're open to it — talk to us about what you need. Common integrations are on the roadmap; less common ones we scope case by case.
What happens if we cancel?
You get 30 days to export everything — inventory, orders, bound book — in standard formats before your account is closed out.
See it running on your own inventory
We’ll walk through the register, the storefront, and the bound book with your actual product mix — no obligation, no pressure.