Skip to main content
Pakistan FBR Digital Invoicing (IMS) — A build-to-order ERPNext application that submits your sales and purchase invoices to  — 1/1Illustrative preview

A build-to-order ERPNext application that submits your sales and purchase invoices to the FBR Invoice Management

System (IMS) in real time, stamps each document with a verified IRN and QR code, and keeps an audit-ready trail.

ECOSIRE builds, installs, and supports it for your ERPNext v15/v16 instance.

What is Pakistan FBR Digital Invoicing (IMS)?

A build-to-order ERPNext application that submits your sales and purchase invoices to the FBR Invoice Management System (IMS) in real time, stamps each document with a verified IRN and QR code, and keeps an audit-ready trail. ECOSIRE builds, installs, and supports it for your ERPNext v15/v16 instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Real-time submission of Sales Invoice and POS Invoice to the FBR Invoice Management System (IMS) on document submit
Unique IRN and FBR-compliant QR code written back to each invoice via custom fields (`irn`, `fbr_qr_code`, `fbr_status`)
Background submission through `frappe.enqueue` so cashiers and billing users are never blocked by network latency
`FBR Settings` single DocType for NTN/STRN, environment (sandbox/production) endpoints, integrator token and certificate references
`FBR Invoice Log` DocType capturing request payload, raw FBR response, IRN and timestamp for every attempt
hooks.py `on_submit` / `on_cancel` doc events wire submission and status handling into native ERPNext transactions
`scheduler_events` retry worker that automatically re-submits records stuck in `Pending` after connectivity failures
B2B and B2C plus sale and purchase real-time recording, mapped to FBR invoice-type and buyer-registration rules
Licensed-integrator / PRAL-gateway compatible request signing and payload structure
QR code embedded in the ERPNext print format so customer receipts carry the FBR verification code
Whitelisted server methods and Frappe REST API endpoints for status, re-submit, and external reporting
Dedicated role profile and permission rules so only authorized users edit settings or force re-submission
Audit-ready `FBR Submission` report and dashboard: accepted vs rejected vs pending, filterable by date, branch and invoice type
Field and print-format validation to block submission of invoices missing NTN/STRN, HS codes or tax breakdown required by FBR
Built and tested for ERPNext / Frappe v15 and v16

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

If you are a Pakistani retailer or distributor who has received an FBR notice to integrate your POS or ERP with the Invoice Management System (IMS), stock ERPNext leaves you exposed. ERPNext core generates a perfectly good tax invoice, but it has no concept of FBR real-time submission, no IRN (Invoice Reference Number) field, no compliant QR code, and no way to reconcile which of your Sales Invoices have actually been accepted by FBR versus rejected or still pending. Bolting this on with a few print-format tweaks does not survive an audit, and a missed or malformed submission can mean penalties.

ECOSIRE builds this as a proper Frappe app (its own installable module with a versioned git repo), not a pile of loose customizations. We add custom DocTypes such as FBR Settings (single DocType holding your NTN/STRN, environment endpoints, licensed-integrator token, and certificate references) and an FBR Invoice Log child/linked DocType that records every request payload, FBR response, returned IRN, and status per invoice. Custom fields for irn, fbr_qr_code, fbr_status, and fbr_submission_datetime are attached to Sales Invoice, POS Invoice, and Purchase Invoice so the data lives on the native documents you already work in.

Technically, submission is driven by hooks.py document events — on_submit of a Sales Invoice enqueues a background job (via frappe.enqueue, so the cashier is never blocked) that calls the FBR IMS endpoint through a whitelisted server-side method and stores the IRN and QR on the document. Failed or offline submissions are caught, logged, and retried by a scheduler_events hook (a periodic worker that sweeps fbr_status = "Pending" records), so a dropped connection at the counter never means a lost invoice. B2B and B2C, sale and purchase flows are all recorded in real time. Client scripts surface the FBR status and QR directly in the form, and the QR is embedded in the ERPNext print format for the customer receipt. Access is governed by a dedicated role profile so only authorized users can change FBR Settings or re-submit. Everything is reachable over the Frappe REST API for your own reporting, and we integrate cleanly with a licensed integrator / PRAL-style gateway where your rollout requires one.

Because this is build-to-order, nothing is auto-downloaded. We start with a short scoping call to confirm your FBR notice category, integrator, invoice types, and ERPNext version, then build against a staging copy of your instance. Typical delivery is one working week from confirmed scope. You get UAT sign-off on staging with a documented rollback plan before we touch production, followed by installation, a training session, and a post-go-live support window. You keep the full source in a git repository we hand over — no black box, no lock-in.

What you get

  • Installable Frappe app source code for your version, in a private git repository handed over to you
  • Installation and configuration on your ERPNext instance (sandbox first, then production)
  • FBR Settings configured with your NTN/STRN, integrator credentials and endpoints
  • Technical documentation: DocTypes, hooks, server/client scripts, API methods and configuration
  • User guide plus a live training session for billing, accounts and admin staff
  • UAT on a staging copy with sign-off checklist and a documented rollback plan
  • Post-go-live support window for fixes and FBR submission issues
  • Git repository handover with full commit history and no vendor lock-in

Who this is for

Retailer under FBR POS notice

A retail business formally notified by FBR to integrate its POS with the IMS. Needs every counter sale stamped with an IRN and QR in real time, and proof that submissions are being accepted.

Distributor / wholesaler recording B2B

A distributor handling high volumes of B2B sales and purchases who needs both directions recorded to FBR in real time, with buyer NTN validation and a reconciliation report for their tax consultant.

Finance controller / tax consultant

The person accountable at audit time. Wants an audit-ready log of accepted, rejected and pending invoices, retry visibility, and clean data reachable over the REST API without touching production code.

IT / ERP administrator

Runs the ERPNext v15/v16 instance and cares that FBR logic ships as a proper versioned app with role-based access, staging UAT and a rollback plan — not ad-hoc customizations that break on upgrade.

How Pakistan FBR Digital Invoicing (IMS) Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
FBR IMS real-time submissionBuilt in via on_submit doc events + background jobsPossible but you design the whole integration yourselfSometimes, often built for another country's tax regimeNot present — ERPNext core has no FBR concept
IRN + compliant QR on invoiceCustom fields written back and shown on print formatDepends entirely on your developer's scopeGeneric QR, may not match FBR specNo IRN or FBR QR field exists
Retry on connectivity failureScheduler worker auto-resubmits Pending recordsOnly if you build and test a retry queueRarely handled; often fails silentlyNone
Audit-ready submission logFBR Invoice Log DocType + accepted/rejected/pending reportMust be specified and built from scratchBasic status field at bestNo submission record at all
Licensed-integrator compatibilityConfigured for your integrator/PRAL gatewayYou research and wire the gateway yourselfFixed to one integrator, hard to changeNot applicable
Fits ERPNext v15/v16 as a proper appVersioned Frappe app, role profile, upgrade-safeQuality varies; often loose customizationsMay lag ERPNext versionsN/A — it is the core
Ownership of source codeFull git repo handed over, no lock-inYou own it but carry all build riskUsually licensed/closed, subscription-gatedYou have core, but no FBR logic
Delivery and supportone working week build + UAT + post-go-live support windowTimeline and support depend on your hireInstant install but limited local FBR supportNo FBR support in scope

Frequently Asked Questions about Pakistan FBR Digital Invoicing

How long does delivery take?

This is a build-to-order product, not an instant download. After a short scoping call to confirm your FBR notice, integrator and invoice types, typical delivery is one working week from confirmed scope. We build against a staging copy of your instance and only go to production after UAT sign-off.

What support and updates do I get?

Every build includes a post-go-live support window for fixes and FBR submission issues. Because you receive the full source in your own git repository, you are never locked in. When FBR changes its IMS schema or endpoints, we can quote a scoped update, and you or another team can also maintain the code yourselves.

Does this work with a licensed integrator?

Yes. The submission layer is built to be compatible with a licensed integrator / PRAL-style gateway. During scoping we confirm which integrator you are using and configure the request signing, credentials and endpoints in `FBR Settings` accordingly.

Which ERPNext versions are supported?

We build and test for Frappe/ERPNext v15 and v16. Tell us your exact version and hosting (Frappe Cloud, self-hosted, or our managed hosting) during scoping so we build and UAT against a matching staging copy.

Will this slow down billing at the counter?

No. Submission runs as a background job via `frappe.enqueue`, so the invoice submits immediately and the FBR call happens asynchronously. If connectivity drops, a scheduler-driven retry worker re-submits pending invoices automatically, so nothing is lost.

Does it cover both B2B and B2C, and purchases too?

Yes. Sales and POS invoices (B2B and B2C) are recorded in real time, with buyer registration and invoice-type handling per FBR rules. Purchase-side real-time recording is included where your notice and integrator require it — we confirm the exact scope on the call.

Do I keep the source code?

Yes. You receive the complete Frappe app in a private git repository with full commit history. There is no black box and no vendor lock-in — you own your version of the code.

Request a quote

Pakistan FBR Digital Invoicing

A build-to-order ERPNext application that submits your sales and purchase invoices to the FBR Invoice Management System (IMS) in real time, stamps each document with a verified IRN and QR code, and keeps an audit-ready trail. ECOSIRE builds, installs, and supports it for your ERPNext v15/v16 instance.

  • Real-time submission of Sales Invoice and POS Invoice to the FBR Invoice Management System (IMS) on document submit
  • Unique IRN and FBR-compliant QR code written back to each invoice via custom fields (`irn`, `fbr_qr_code`, `fbr_status`)
  • Background submission through `frappe.enqueue` so cashiers and billing users are never blocked by network latency
  • `FBR Settings` single DocType for NTN/STRN, environment (sandbox/production) endpoints, integrator token and certificate references

Request a Quotation

Tell us about your Pakistan FBR Digital Invoicing requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.