FBR Digital Invoicing integration, done properly
Pakistan’s FBR now requires registered businesses to transmit every sales invoice in real time — e-invoicing under SRO 709(I)/2025. We take you from registration and IP whitelisting through all 28 sandbox scenarios to a live production token, with the posting, QR codes and audit trail wired straight into your Odoo.
What FBR Digital Invoicing actually is
Digital Invoicing (DI) is FBR’s real-time invoice-reporting system, run on PRAL’s integration platform. Instead of compiling invoices into a monthly return, your software sends each invoice to FBR the moment it is created and gets back a validation result, an FBR invoice number and a QR code.
Integration is a one-time project with a fixed shape: register your technical details, get your server IPs whitelisted, prove your invoices against a set of official test scenarios in a sandbox, then switch to production. Miss the exact format FBR expects on any scenario and you stay in the sandbox.
Phased deadlines sit under SRO 709(I)/2025 and have been revised several times since. We confirm the current date for your registration category as part of scoping — you should not be planning against a date from a months-old circular.
The essentials
- Mandatory for registered sales-tax persons under SRO 709(I)/2025.
- Invoices post to FBR/PRAL in real time as JSON over a REST API.
- Replaces the monthly IMS submission; auto-fills Annexure C and the return.
- Integrate free through PRAL or via any FBR-licensed integrator.
- Every sector-assigned sandbox scenario must pass before you go live.
Who must comply
If you are registered for sales tax and not specifically exempted, you are almost certainly in scope. The common “surely not us” cases usually are.
Every registered sales-tax person
All registered persons not specifically exempted must issue invoices through the Digital Invoicing system.
Nil / null filers
Registration is what triggers the obligation. If you issue no invoices in a period, a null submission is still required.
Exporters
Exporters are explicitly required to complete the integration — being zero-rated does not exempt you.
POS-integrated manufacturers
If you already report through POS but fall under a covered B2B category, you must also migrate to Digital Invoicing.
On-premise / ERP-run businesses
Cloud is not mandatory. On-premise systems qualify with a stable connection and a static public IP address.
Businesses with no invoicing software
Still in scope. You must write to your tax office and, for now, keep posting through the IMS until FBR notifies otherwise.
How integration works
The same five stages for everyone — PRAL just moves you along as each one clears.
- 01
Register & submit technical details
Technical contact, ERP/invoicing system, software type and version, business nature and sector — via IRIS, choosing PRAL or a licensed integrator.
- 02
IP whitelisting
Provide hosting details and up to 3 static public IPs (or an upload for more). PRAL typically approves or rejects within about 2 working hours.
- 03
Sandbox scenario testing
Post test invoices for every scenario assigned to your sector. At least one invoice per scenario must validate successfully.
- 04
Production token
When all assigned scenarios pass, the system auto-generates a production security token. No manual approval step.
- 05
Go live
Switch endpoints from *_sb to production, carry the Bearer token, and post every sales invoice and credit note in real time as it is created.
The 28 sandbox scenarios
FBR numbers them SN001 to SN028. You are assigned a subset based on your registered business nature; each one needs at least one successful test invoice before a production token is issued.
| SN | Scenario | Exact saleType string |
|---|---|---|
| SN001 | Goods at standard rate — registered buyer | Goods at standard rate (default) |
| SN002 | Goods at standard rate — unregistered buyer | Goods at standard rate (default) |
| SN003 | Steel melting and re-rolling | Steel melting and re-rolling |
| SN004 | Sale by ship breakers | Ship breaking |
| SN005 | Reduced-rate sale (Eighth Schedule) | Goods at Reduced Rate |
| SN006 | Exempt goods sale (Sixth Schedule) | Exempt goods |
| SN007 | Zero-rated sale | Goods at zero-rate |
| SN008 | Third Schedule goods (retail-price taxation) | 3rd Schedule Goods |
| SN009 | Cotton spinners purchasing from cotton ginners | Draft — no template published yet |
| SN010 | Telecom services rendered or provided | Telecommunication services |
| SN011 | Toll manufacturing — steel sector | Toll Manufacturing |
| SN012 | Sale of petroleum products | Petroleum Products |
| SN013 | Electricity supply to retailers (withholding) | Electricity Supply to Retailers |
| SN014 | Sale of gas to CNG stations | Gas to CNG stations |
| SN015 | Sale of mobile phones (Ninth Schedule) | Mobile Phones |
| SN016 | Processing / conversion of goods | Processing/Conversion of Goods |
| SN017 | Goods where FED is charged in ST mode | Goods (FED in ST Mode) |
| SN018 | Services where FED is charged in ST mode | Services (FED in ST Mode) |
| SN019 | Services rendered or provided | Services |
| SN020 | Sale of electric vehicles | Electric Vehicle |
| SN021 | Sale of cement / concrete block | Cement /Concrete Block |
| SN022 | Sale of potassium chlorate | Potassium Chlorate |
| SN023 | Sale of CNG | CNG Sales |
| SN024 | Goods sold under SRO 297(I)/2023 | Goods as per SRO.297(|)/2023 |
| SN025 | Drugs at fixed ST rate (Eighth Schedule) | Non-Adjustable Supplies |
| SN026 | Retailer sale to end consumer — standard rate | Goods at standard rate (default) |
| SN027 | Retailer sale to end consumer — 3rd Schedule | 3rd Schedule Goods |
| SN028 | Retailer sale to end consumer — reduced rate | Goods at Reduced Rate |
Details that trip people up
- • SN009 has no published template yet — most production-ready integrations skip it pending an FBR update.
- • SN021 has a deliberate space before the slash:
Cement /Concrete Block. Match it exactly. - • SN024 uses a pipe character instead of “I”:
Goods as per SRO.297(|)/2023. Reproduce the typo or validation fails. - • SN026–SN028 reuse the wholesale
saleTypestrings; only the retailer context differs.
Common pitfalls we handle
FBR’s validator is strict and unforgiving about formatting. These are the errors that keep teams in the sandbox for weeks.
HS code format
Must be 4 digits, a dot, then 4 digits — e.g. 0101.2100. Verify every code against the itemdesccode reference API.
Case-sensitive UOM
Units are matched exactly: "KG", not "kg". Pull valid values from the uom reference API rather than typing them.
Exact province names
"Punjab" and "Sindh" — never city names like "Lahore" or "Karachi". Both buyerProvince and sellerProvince are validated.
3rd Schedule tax base
Tax must be computed on fixedNotifiedValueOrRetailPrice, not the sale value, or you get "Calculated Tax Not matched in 3rd Schedule".
saleType must match the enum
The string has to match FBR’s expected value for the scenario character-for-character, including its quirks — see the table above.
Sandbox vs production token
A sandbox token on a production endpoint (or the reverse) returns "Unauthorized token". Environment and token must line up.
No edits after submission
An invoice cannot be changed or deleted once posted. Corrections and cancellations must go out as a credit or debit note.
Your Odoo compliance module
We run Odoo shops, so the integration lands as a proper module — not a script. Here is what ships with it.
Scenario selector on every invoice
Pick the FBR scenario (SN001–SN028) per invoice; admins can restrict the list to the scenarios your sector actually uses.
One-click Sync with FBR
A button on customer invoices and credit notes posts to the Digital Invoicing API and records the result on the record.
Automatic payload mapping
Invoice lines are mapped to the FBR JSON structure — HS code, UoM, rate, sales tax, FED, further/extra/withholding — from your product data.
FBR invoice number & QR on the PDF
On a successful sync the FBR invoice number is stored and a QR code is generated and rendered on the invoice report.
Response logging in the chatter
Every FBR request and response — success or error — is posted to the invoice chatter and kept in an FBR data log for audit.
Product HS / UoM / SRO fields
Products carry HS code, HS unit of measure and SRO schedule / item number, plus custom tax fields the payload needs.
Bundled FBR reference data
HS codes, units of measure and SRO schedules ship with the module as importable data, so lookups work out of the box.
Frequently Asked Questions
Is Digital Invoicing mandatory if we file nil sales-tax returns?
Yes. Being registered is what creates the obligation. Even when no invoices are issued in a tax period, a null submission is still required.
Are there penalties if invoices are not transmitted?
Penalties apply where the failure is due to a problem in the taxpayer’s own system. Once the system is available again you must resubmit the affected invoices. Penalties for non-compliance fall under Section 33 of the Sales Tax Act.
Do we have to use PRAL, and what can other integrators charge?
PRAL provides integration and sandbox testing free of charge, but you may choose any FBR-licensed integrator. A licensed integrator cannot charge more than Rs. 10 per invoice, Rs. 100,000 per taxpayer, or Rs. 1,000,000 per year.
Can an invoice be edited or cancelled after it is submitted?
No. Editing is only possible before submission. After an invoice is transmitted, any change or cancellation has to be handled by issuing a credit or debit note.
Do we still file the monthly IMS / Annexure C after integrating?
No. For integrated taxpayers, Digital Invoicing replaces the monthly IMS submission, and invoices auto-populate Annexure C and the sales-tax return.
How long does it take to get compliant?
The gating factors are IP whitelisting (about 2 working hours at PRAL) and clearing every sandbox scenario for your sector. With clean product data and a working ERP connector, most businesses move from kickoff to a production token within days rather than weeks.
Get FBR-compliant without stalling sales
Book a free scoping call. We confirm your deadline, map your scenarios, and give you a fixed-scope quote to go live.