FBR Invoice QR Code Requirements for Digital Invoices
The QR code is a verification feature tied to the accepted FBR invoice—not a decorative image generated from the Shopify order URL.
What the QR code is for
FBR’s electronic-invoicing framework uses the QR code with the unique FBR invoice number to support verification. S.R.O. 69(I)/2025 requires QR generation based on that number, while technical documentation describes printing the FBR number, QR and Digital Invoicing System logo.
Current technical guidance
Technical Documentation for DI API V1.12 describes QR version 2.0, a 25 by 25 matrix and a one-inch square. Older FBR technical documents show a size range. Where sources differ, follow the current document associated with your API version and any integrator instruction.
Generate only after acceptance
Do not create a final FBR QR from the Shopify order number while submission is pending. Wait for the valid response, store the returned invoice number and generate the verification code exactly as currently specified.
Test the customer document
Print representative invoices on the devices and paper sizes your operation uses. Scan them with ordinary phones. Check contrast, quiet space, physical dimensions and whether email or PDF compression makes the code unreadable.
Keep the data traceable
The rendered invoice should preserve the Shopify reference alongside the FBR number. If a template is regenerated later, it must use the original accepted invoice data rather than the order’s newly edited values.
Common implementation mistakes
Do not encode a public Shopify order-status URL containing a customer token, a payment link or arbitrary invoice text and call it the FBR QR code. Do not stretch the bitmap to fit a template, place it over a coloured background, trim its quiet area or reuse one successful code on every invoice.
Do not print the final verification elements while the FBR response is rejected or unknown. A document that looks official but has no valid linked submission causes more confusion than a clearly pending internal document. Define which document the customer receives at each status.
Quality assurance and retention
Keep a rendered copy or reproducible snapshot with the accepted payload and response. Test the HTML, PDF, email and physical print versions because each rendering path can resize the code differently. Include long product names, many lines and page breaks in the test pack.
Periodically sample invoices from different devices and scan them. If FBR changes the logo, data encoded or dimensions in a newer specification, version the template and preserve which version produced each historical invoice.
Assign failed scans to an owner and correct the template for future invoices through controlled release.
Last updated: 2026-08-04
Not tax advice. Confirm registration scope, rates, deadlines, and filing obligations with a Pakistani tax practitioner against current FBR SROs and the Sales Tax Act. ComplyStream is not affiliated with FBR or PRAL.
See the complete Shopify invoicing workflow
Learn how order data, approved tax mappings, FBR responses and reconciliation fit together.