- Tax
- FBR
What is an IRN? Invoice Reference Number Explained for Pakistan

If you’ve received an email or WhatsApp from your accountant saying “FBR says our invoice has no IRN - we need to fix this”, or you’ve heard the term tossed around on IRIS without anyone explaining it, this guide is for you.
An IRN - Invoice Reference Number - is a unique identifier that FBR (Federal Board of Revenue) assigns to every digital invoice you submit through the IRIS portal. Think of it as a receipt from FBR saying “yes, we’ve recorded your invoice, and here’s the proof.” Without an IRN, an invoice might as well not exist from FBR’s point of view.
Why IRNs exist (and why the mandate matters)
Before digital invoicing, Pakistani businesses submitted sales tax returns by summarising their invoices at month-end. FBR had no way to verify that what ended up on the return matched the actual invoices sent to customers. The tax gap - the difference between what should have been paid and what actually was - was huge.
The IRN system closes this gap. Every invoice issued by a sales-tax-registered business must now flow through IRIS before (or within 24 hours of) reaching the customer. IRIS validates the invoice, assigns an IRN, generates a FBR-verifiable QR code, and stores a record. The IRN + QR are printed on the customer’s copy - anyone (customer, auditor, buyer’s accountant) can scan the QR and confirm the invoice is genuine.
What does an IRN actually look like?
An IRN is a long alphanumeric string returned by FBR IRIS. Its exact format has been refined over recent SROs, but the anatomy typically includes:
- Seller NTN/STRN - identifies which business issued the invoice
- Financial year and period code - e.g., the tax-year fragment
- Invoice serial number within that period - ensures uniqueness per seller
- FBR-assigned sequence identifier - the portion FBR generates at submission time
- Validation checksum - so the QR code on the printed invoice can be verified offline
In practice you’ll see something like:
IRN-0123456789-STRN-112233-FY2026-Q2-00045782-A3F2
The exact structure is defined by FBR and may evolve - your digital invoicing tool should handle the format transparently so you never have to hand-construct one.
When is the IRN generated?
IRIS generates the IRN at the moment you submit the invoice - not when you draft it locally, not when you save it, not when you print it. The submission happens via an API call from your invoicing software to the FBR IRIS server. If the call succeeds, IRIS returns:
- The IRN string itself
- A QR code payload (FBR-verifiable, printable on the invoice)
- A timestamp of acceptance
- A status code (accepted, accepted-with-warnings, rejected)
That’s a lot of round-tripping for a manual workflow. It’s why businesses that try to handle IRN generation by typing invoices directly into the FBR portal eventually buckle at volume - a few dozen a day is fine, a few hundred is a full-time job.
What can go wrong with IRN generation?
Here’s where automation actually earns its keep. Common failure modes:
IRIS sandbox outages
FBR’s IRIS sandbox and production environments occasionally go down or throttle requests - usually around quarter-end when every business tries to submit at once. If your tool doesn’t handle this, you’ll have invoices sitting in limbo with no IRN. A good tool retries automatically with exponential backoff.
Schema validation rejections
FBR publishes a strict JSON schema that your invoice must conform to - every field, every tax treatment, every sale-type scenario (SN001 through SN028). If a field is wrong, IRIS rejects the invoice without generating an IRN. Common culprits: HS code typos, buyer NTN not active, or a sale-type mismatch (e.g., declaring a 3rd Schedule item as standard sales tax).
Network interruption mid-bulk-upload
If you’re submitting a batch of 500 invoices and the connection drops at invoice #283, what happens? A poorly designed tool re-submits everything - and now FBR has 500 duplicates and 283 IRNs with no way to reconcile. A properly designed tool records the last successful IRN and resumes exactly where it left off.
How do you verify an IRN is real?
Every IRN comes with a corresponding QR code that FBR IRIS generates. Anyone - a customer, an auditor, a buyer’s accountant, an FBR officer - can scan the QR code on the printed invoice and FBR’s verifier will display:
- Seller NTN and name
- Buyer NTN and name
- Invoice date and time of submission
- Total sales tax charged
- Item-level summary
If the displayed values match the printed invoice, the IRN is genuine. If they don’t match, the invoice is a forgery - and FBR takes forgery of an IRN extremely seriously.
IRN vs Invoice Number - what’s the difference?
People confuse these two constantly. Here’s the clear distinction:
| Field | Invoice Number | IRN |
|---|---|---|
| Who generates it | Your business / software | FBR IRIS |
| Purpose | Internal sequence for your records | Authoritative FBR registration of the invoice |
| Format | You choose (e.g., INV-2026-0042) | Fixed FBR format (alphanumeric string) |
| Required on printed invoice? | Yes, as before | Yes, along with QR code |
| Can you reissue it? | Yes, if you need to correct | No - each invoice gets exactly one IRN |
Your printed invoice typically shows both: your internal invoice number at the top, and the FBR IRN + QR code in a dedicated section (often bottom-right).
What if I need to cancel or correct an invoice with an IRN?
You don’t edit an IRN’d invoice. You issue a credit note or debit note - which itself gets its own IRN - to adjust the original. FBR’s philosophy is that the original record is immutable; corrections live as separate entries. This is a major shift from the old Excel-and-print workflow many businesses were used to.
How FBR Digital Invoicing handles IRN generation
Three principles:
- Submit once, retry forever. If IRIS is down, we queue and retry until the IRN comes back - you don’t have to watch the sandbox.
- Crash-safe bulk upload. We record the last successful IRN per batch, so if your connection drops, resume picks up exactly where it left off. No duplicates.
- All 28 sale-type scenarios covered. From standard to 3rd Schedule, zero-rated to reduced-rate, steel to CNG - the schema is validated before submission, so rejections are rare.


