Pakistan FBR POS Receipt
QR-stamped retail invoices & bring-your-own-key transmission to FBR PRAL/IRIS
Turn every Odoo customer invoice into a compliant Federal Board of Revenue (FBR) POS / Digital Invoicing receipt. The module builds the structured FBR JSON, stamps a unique FBR invoice number and a verifiable QR code, applies the correct sales-tax treatment and the Re. 1 per-invoice service charge, and — using your own PRAL/IRIS bearer token — transmits the receipt to FBR. No third-party gateway, no shared credentials.
What it does
FBR Digital Invoicing JSON
Builds the structured receipt with all mandatory master fields (invoice type, date, seller NTN/CNIC, province, sale value, total retail price, total sales tax) and mandatory item fields (HS code, UoM, rate, value excluding tax, sales tax, withheld / extra / further tax, SRO schedule & item serial number).
Verifiable QR Code
Emits a deterministic QR version 2.0 payload encoding the FBR invoice number, seller NTN, date, total and tax, plus a tamper-evident SHA-256 content hash, rendered ready to print at the required size next to the FBR invoice number. Customers verify via the Tax Asaan app or by SMS to 9966.
Sales-tax treatments built in
| Treatment | Rate | When it applies |
|---|---|---|
| Standard | 18% | Taxable goods at the standard sales-tax rate (default). |
| Textile / Leather (integrated retailer) | 14% | Locally manufactured finished textile and leather articles sold by an integrated (POS) retailer. |
| Zero-rated | 0% | Zero-rated / export supplies. |
| Exempt | — | Exempt supplies outside the sales-tax charge. |
| Service charge | Re. 1 | Per-invoice POS service charge under section 76 of the Sales Tax Act, 1990. |
Feature highlights
Identifier validation
Structural validation of NTN (7/13 digits), STRN (13 digits) and CNIC (13 digits, with gender parity), on the company, partners and onboarding wizard. Buyers are auto-classified Registered / Unregistered.
Provisional FBR number
Stamps a locally-unique, sortable provisional reference from your NTN, POS terminal ID, date and a monotonic counter so receipts print offline, then swaps in the authoritative FBR number once IRIS returns it.
Business-rule checks
A one-click validator confirms mandatory fields, HS codes, identifiers and that the master totals reconcile to the sum of the item lines before anything is transmitted.
BYOK transmission
Submit to PRAL/IRIS with your own bearer token over sandbox or production endpoints (pre-filled, editable). Full request/response logging on every receipt.
Invoice integration
Validate / Generate / Transmit buttons directly on customer invoices and credit notes, an FBR status field, search filters and an optional background transmission job.
Standalone POS register
A dedicated POS-receipt model for over-the-counter sales not captured as invoices, with editable lines, live totals, QR preview and the same transmission flow.
How it works
- Run the FBR POS Onboarding wizard: enter your NTN/STRN/CNIC, province, POS terminal ID and your PRAL/IRIS token.
- Add HS codes (and optional SRO schedule / item serial) to your products.
- Post a customer invoice, then click Generate FBR Receipt to build the JSON and QR.
- Click Transmit to FBR to submit with your own token; the authoritative FBR invoice number and refreshed QR are stored on the invoice.
Scope & disclosure
This module is a format-generation and bring-your-own-key transmission pack. It builds the FBR POS receipt, the QR payload and the FBR invoice reference, and transmits using your own FBR/PRAL credentials to the endpoint you configure. It is not a licensed integrator and claims no accreditation of its own; PRAL remains the licensed integrator. Your token is stored only in your database and is sent only to the FBR endpoint you set. All rates, codes and the service charge encoded here are the published FBR / Sales Tax Act 1990 values.
Compatibility
Odoo 18.0 and 19.0 · Community & Enterprise · builds on the standard Accounting app.
Screenshots
Fbr Pos Onboarding
Pos Receipts
Update date: 2026-07-02