If you run a restaurant in Pakistan, FBR's push toward real-time digital invoicing is no longer a "someday" problem. Once your business is notified, every sales receipt has to carry an FBR-issued invoice number and a verifiable QR code. The good news: with SmartRestro POS the whole thing is a settings screen, not a software project. This guide walks through exactly how to connect your POS to FBR — from getting your IRIS token to running your first live fiscalized receipt.
What FBR Digital Invoicing actually does
When it's enabled, every sale your POS finalizes is sent to FBR's invoicing system in real time. FBR returns a unique Invoice Number, and your receipt prints that number plus a QR code customers (and inspectors) can scan to verify the sale was reported. It's the same fiscalization model used by Tier-1 retailers — now reaching restaurants.
SmartRestro's integration is built so it never blocks a sale. If FBR's gateway is down or slow, the order still completes — the FBR number simply attaches when the connection recovers. Your counter never freezes because a government API hiccupped.
Before you start — what you'll need
| Item | Where it comes from |
|---|---|
| FBR IRIS account | iris.fbr.gov.pk (your tax filing login) |
| Bearer token (5-year) | Generated inside IRIS for Digital Invoicing |
| Seller NTN / CNIC | As registered with FBR |
| Registered business name | Exactly as on your FBR registration |
| Province & business address | As registered |
| HS / PCT code | Default tax code for your items (e.g. food service) |
You do not need a developer. Everything below is entered once in your POS settings.
Step 1 — Get your FBR Bearer token from IRIS
- Log in to your FBR IRIS account.
- Open the Digital Invoicing section and request integration / sandbox access.
- Generate your Bearer token. This is a long secret string valid for ~5 years — treat it like a password.
- Note your registered NTN/CNIC, business name, province and address exactly as they appear in IRIS. A mismatch here is the #1 cause of rejected invoices.
Tip: copy the token straight into a note first. Email clients sometimes wrap long tokens and add a stray space — that breaks authentication.
Step 2 — Open Settings → FBR invoicing in SmartRestro
In the POS, go to Settings → FBR invoicing. You'll see two groups: Connection and Seller details. Fill them in:
- Enable FBR invoicing — leave OFF for now; turn it on after testing.
- Environment — choose Sandbox (testing) first.
- FBR Bearer token — paste your token. It's stored masked, so staff can't read it back.
- Seller NTN / CNIC, Business name, Province, Business address — exactly as registered.
- Default HS / PCT code — the tax code applied to items that don't carry their own.
Step 3 — Test the connection (sandbox)
Hit the Test connection button. SmartRestro sends one sample invoice to FBR's sandbox validation endpoint using your token. No real sale is created. You'll get one of two results:
- ✓ Connection OK — FBR accepted the test invoice. Your token and seller details are correct.
- ✕ Error message — FBR rejected it. The message tells you what's wrong (usually a token typo or a seller detail that doesn't match your registration).
Fix any mismatch and test again until you see the green tick.
Step 4 — Switch to Production and go live
- Change Environment from Sandbox to Production (live).
- Turn Enable FBR invoicing ON.
- Ring up one real test sale at the counter. The receipt should now print the FBR Invoice Number and a QR code.
- Scan the QR with any phone — it should resolve to FBR's verification page for that invoice.
That's it. From this point every finalized sale is fiscalized automatically with no extra steps for your cashiers.
The 5 gotchas to avoid
1. Seller details must match IRIS exactly
FBR validates your NTN, business name and province against your registration. "Cafe XYZ" vs "Cafe XYZ (Pvt) Ltd" will be rejected. Copy them character-for-character from IRIS.
2. Test in sandbox before flipping to production
Production invoices are real fiscal records. Always confirm a green tick in sandbox first, then switch. Don't skip straight to live.
3. The token is per-restaurant
Each restaurant uses its own token and seller details. If you run multiple branches under separate registrations, configure each one independently in its own settings.
4. A sale never fails because of FBR
By design, if FBR is unreachable the sale still completes — the invoice number attaches when the link recovers. Don't panic if a receipt occasionally prints without the number during an FBR outage; it backfills.
5. Keep your token secret
Your Bearer token authorizes invoicing on your behalf. SmartRestro masks it in settings so staff can't copy it. Never share it over WhatsApp or paste it into third-party tools.
How SmartRestro handles it under the hood
On checkout, the POS builds an FBR-format invoice from the order — line items, quantities, tax rate, and your seller details — and posts it to FBR's Digital Invoicing API. The returned invoice number is saved against the order and rendered on the printed receipt with its QR. Because it runs after the sale is recorded, your throughput at the counter is unaffected.
Do you need this yet?
If FBR has formally notified your business for digital invoicing, yes — it's mandatory. If not, you can still enable it voluntarily to stay ahead and build clean, verifiable records. Either way, having it ready in your POS means compliance is a 10-minute settings task, not a scramble.
FBR-ready POS, out of the box
SmartRestro POS has FBR Digital Invoicing built in — configure your own token, test it, go live. 14-day trial. WhatsApp 0322-9040368.
Start free 14 days →