Back to Articles
FBR ComplianceFeatured

FBR Digital Invoice Compliance: A Complete Guide for Pakistani Retailers

Everything you need to know about FBR Digital Invoicing (DI) requirements for Pakistani retailers — from registration to real-time invoice submission and common error fixes.

GT

GridX Team

Business Solutions Team

10 May 2025 8 min read

Somewhere in Pakistan right now, a shop owner is staring at a letter from FBR and wondering when "the tax thing with the QR codes" became their problem. If that's you, take a breath. The Federal Board of Revenue's Digital Invoice system sounds intimidating, but once you understand what it's actually asking for, it's a manageable set of steps rather than a maze.

FBR built the DI system to drag tax collection into the present and squeeze out evasion. For retailers, restaurants, and wholesalers above a certain size, plugging into it isn't a choice anymore. It's the law. This guide walks you through what's required, how to register, and what to do when something goes wrong, which it occasionally will.

What FBR Digital Invoicing actually asks of you

Strip away the jargon and Digital Invoicing (you'll also hear it called POS Integration) comes down to four obligations. Your POS has to connect to FBR's servers through the Digital Invoice API. Every sale invoice has to reach FBR in real time, within seconds of the transaction closing. Every customer receipt has to carry a QR code the buyer can scan to check it's genuine. And you have to keep digital records of everything you've submitted, ready for an audit.

The rule underneath all of it: any business whose annual turnover crosses the threshold FBR has set must use an FBR-registered POS and send its invoices in digitally. No paper-only workarounds.

Who has to comply

The mandate currently lands on a defined set of sectors. Tier 1 retailers, meaning the large chains and businesses operating in shopping malls, are squarely in scope. So are restaurants and food service businesses. Electronics dealers registered under FBR's special schemes fall under it, as do pharmaceutical distributors and retailers, and suppliers of steel and construction materials.

Thresholds and notified sectors do shift over time, so before you assume you're in or out, check the current list on the FBR website.

The 28 sale scenarios, and the few you'll actually use

FBR defines 28 distinct invoice scenarios, coded SN001 through SN028. Which one applies depends on three things: whether your buyer is registered with an NTN or is just a walk-in consumer, the tax rate involved (standard 18%, a reduced 5%, exempt, or zero-rated), and the type of goods, since pharmaceuticals, steel, electricity and the like each have their own handling.

It looks like a lot, but most shops live in a handful of them. SN001 is the standard-rate sale to a registered buyer with an NTN, taxed at 18% GST. SN002 is that same standard-rate sale to an unregistered consumer, also at 18%. SN005 covers reduced-rate supplies under the 8th Schedule at 5%, and works for either buyer type. SN006 is for exempt supplies at 0%. SN007 handles zero-rated exports under the 5th Schedule, also 0%. SN008 applies to 3rd Schedule goods sold at a fixed or notified price, which carry special handling. And SN026 covers cases where further tax applies, adding 3% on top of the 18% for unregistered buyers.

If you run an ordinary retail store, you'll spend nearly all your time in SN001 for NTN buyers and SN002 for everyday consumers.

Getting registered, step by step

Start with a Sales Tax Number. If you're not already registered for sales tax, apply through the IRIS portal at iris.fbr.gov.pk. Have your NTN, CNIC, bank account details, and business address ready before you begin.

Then get your DI API credentials. Once you're registered, log in to IRIS, go to Digital Invoice Registration, and request your API credentials, which come as a Bearer token. Make a note of your POSID and your Business ID while you're there.

Now connect your POS. Your software, ClearRing for instance, needs three things to talk to FBR: the staging URL for testing, which is https://gw.fbr.gov.pk/pdi/v1/, your Bearer token, and your seller NTN along with your province code.

Test in staging before anything goes near a real customer. FBR provides a staging environment for exactly this. Push through a few sample invoices and confirm that you get status code 00, meaning valid and accepted, that the QR code generates properly, and that no error codes come back in the response.

Then go live. When your staging tests come back clean, flip your POS over to LIVE mode and start submitting real invoices.

When FBR throws an error back at you

Two errors come up often enough to recognise on sight.

Error 0052 reads "HS Code does not match with provided sale type." It means the HS code on a product doesn't line up with the scenario you've used. The fix depends on the goods: for exempt items under SN006, leave the sroScheduleNo field empty, and for 8th Schedule goods under SN005, use the correct HS code subcategory.

Error 0096 reads "UOM not valid for this HS code," which is FBR's way of saying you've used the wrong unit of measure. Electricity under SN013 has to be billed in KWH. Steel under SN003 has to use MT, metric tonnes. Match the unit to the goods and the error clears.

There's also the case where FBR accepts your submission but then rejects the invoice itself. When that happens, look at the invoiceStatuses array in the response. Each item carries its own errorCode and error message pointing at the exact field that's wrong. Fix that field and resubmit. A decent POS, ClearRing included, keeps the full FBR response on file so you can retry with corrected values without losing the record of what you first sent.

A checklist to know you're actually compliant

Before you consider yourself done, run through these. Your Sales Tax Number should be registered with FBR. Your DI API credentials should be in hand. Your POS should be connected to FBR staging. Every product needs the right HS code and UOM assigned. Buyer type, registered or unregistered, has to be set correctly on each sale. Your staging test invoices should be passing with status 00. Live mode should be on and invoices flowing in real time. QR codes should be printing on every receipt. And any failed or rejected invoice should be retried inside the window FBR allows.

Where ClearRing fits

If you'd rather not wire all of this together by hand, ClearRing was built for it. It supports the full range of scenarios from SN001 through SN028, and submits invoices in real time through a job queue, so a sale still completes even if FBR's servers blink out for a moment. Failed submissions retry on their own with exponential backoff, up to five attempts spaced from 30 seconds out to four minutes. Rejections are tracked with the complete FBR response stored, and you can retry with overrides. QR codes print on every receipt as standard, you can move between staging and live with a single setting, and you can search the FBR HS code database straight from product settings. If you want to try it before committing, the trial at pos.gridx.app/register is free for 30 days.

One last thought

Digital Invoicing isn't a phase that's going to quietly disappear. The businesses that get it set up properly don't just dodge penalties; they end up with a clean digital trail that makes audits faster, financials clearer, and customers a little more confident that the receipt in their hand is the real thing. That's not a bad trade for a few days of setup.

#FBR#Digital Invoice#POS Pakistan#Tax Compliance#FBR DI

Ready to get started with ClearRing?

Free 30-day trial, FBR-compliant cloud POS, no credit card required.

Start Free Trial →