QuickBooks integration

Filing QuickBooks invoices with FBR

For accountants, small businesses and growing companies in Pakistan that run their books in QuickBooks Online and now need their sales tax invoices filed with FBR, without moving to different accounting software.

Updated

eInvoicePro API documentation — the layer a QuickBooks connector sends invoices to for FBR filing

The mechanism

How a QuickBooks invoice reaches FBR

QuickBooks keeps doing the invoicing, reconciliation and reporting it is good at. The FBR step happens just after an invoice is created, outside QuickBooks.

QuickBooks Online is sold in local editions for several countries, each with that country’s tax rules built in. Pakistan is not one of them — Intuit serves Pakistan through its Global edition, where sales tax is set up by hand. That works for bookkeeping. It does not give FBR what it checks on every invoice line (an HS code, an FBR sale type and rate, FBR’s wording for the unit) or tell it whether the buyer is registered.

A QuickBooks integration closes that gap in five steps for every invoice:

  1. QuickBooks announces the invoice. QuickBooks Online can notify another system when an invoice is created, updated or voided, so the connector hears about it within moments rather than at the end of the day.
  2. The connector reads the full invoice through QuickBooks’ API (the notification carries only the invoice’s ID), collecting customer, lines, products and tax under an access grant your QuickBooks administrator approves once.
  3. It adds what QuickBooks doesn’t hold from a mapping kept alongside: each product’s HS code and FBR unit, each tax rate’s FBR sale type, each customer’s registration type and province.
  4. It sends the invoice for filing to eInvoicePro’s API, which validates it against FBR, files it and returns the FBR invoice number, or a typed reason it was rejected.
  5. It records the result against the QuickBooks invoice, so the FBR number can go on the customer’s copy with the QR code.

Why the notification matters

FBR’s rule is that each invoice goes to FBR when it is raised. Exporting a month of invoices and dealing with FBR at the end does not fit that rule, however convenient it is. Because QuickBooks can push a notification the moment an invoice is created, a QuickBooks business can meet the real-time expectation without changing how its team works, which is not true of every accounting system.

Nothing on this page needs a particular QuickBooks plan beyond one your team can grant API access to. QuickBooks Desktop works differently and isn’t covered here — tell us on a demo if that is what you run.

Before you build

First, check FBR is your authority

QuickBooks is popular with consultancies, agencies and software houses, and for many of them the obligation that matters is a provincial one.

You might hear

We use QuickBooks, so we need a QuickBooks-to-FBR connection.

What it means

FBR’s digital invoicing covers goods, services in Islamabad Capital Territory, and federal excise duty charged in sales tax mode. Most services elsewhere are taxed by PRA, SRB, KPRA or BRA, each with its own rules. Confirm which authority your sales fall under before choosing a connection.

You might hear

QuickBooks already calculates our sales tax, so FBR will accept it.

What it means

FBR checks more than the amount. Each line needs an HS code consistent with an FBR sale type, a rate in FBR’s own wording and a unit from FBR’s list. QuickBooks’ tax rate is only the starting point for the mapping.

You might hear

We can send the month’s invoices to FBR when we close the books.

What it means

Month-end filing is the very habit digital invoicing was introduced to end. FBR wants each invoice as it happens.

You might hear

If something is wrong with a filed invoice, we just edit it in QuickBooks.

What it means

QuickBooks and FBR each keep their own copy, and no API call edits FBR’s. A genuine error is fixed by hand in FBR’s system, inside 72 hours, so catching problems before filing matters far more than fixing them after.

Where to start

If your business sells services in Punjab or Sindh, start with our guides to PRA E-IMS and SRB POS. If you sell goods, or both, read on, and if you are unsure, your tax advisor can settle it in one conversation.

The data

Where each FBR field comes from

Some of an FBR invoice is already in QuickBooks. The rest is added once, in a mapping, rather than typed onto every invoice.

FBR invoice fields and their source for a QuickBooks Online business
What FBR asks for Where it comes from What to watch
Your NTN or CNIC Held once by the filing layer, with your FBR credentials Not needed on each QuickBooks invoice
Buyer NTN or CNIC No documented field in the Global edition — a customer custom field where your plan allows one, or the mapping Bare digits, no dashes; many small customers won’t have one
Buyer registration type Not in QuickBooks Check each customer’s number with FBR once, and keep the answer in the mapping
Buyer province The customer’s billing address A province, not a city — “Karachi” is rejected, “Sindh” passes
Invoice number QuickBooks’ invoice number Letters, digits and hyphens only; keep numbering unique
HS code Not on QuickBooks products and services Set once per product or service in the mapping, from FBR’s list
Unit of measure Not held in FBR’s terms Choose FBR’s own unit name per product — some HS codes accept only one
Sale type, rate and SRO The tax rate on each line Map each QuickBooks tax rate to an FBR sale type; take the rate from FBR
Value excluding tax Line amounts If amounts are entered including tax, back the tax out per line
Discount Often a single discount on the whole invoice FBR records discount per line, so an invoice-level discount has to be spread across lines

The mapping is the same work whichever route you take below, which means none of it is wasted if you start simply and automate later.

Your options

Three routes for QuickBooks users

Which one fits depends on how many invoices you raise and whether anyone can look after a small integration.

1. Raise tax invoices in eInvoicePro

Keep QuickBooks for your books and create FBR invoices in eInvoicePro’s screens, which check the buyer and return the FBR number and QR code immediately.

Fits when: you raise a handful of tax invoices a day.

Trade-off: the invoice is entered twice.

2. Prepare invoices in bulk

Export invoices from QuickBooks into eInvoicePro’s bulk template, which checks every row before anything reaches FBR and then sends each invoice individually.

Fits when: invoices are raised in batches during the day.

Trade-off: it only meets the real-time rule if it runs as you invoice.

3. Connect QuickBooks to the API

A connector listens for new QuickBooks invoices, adds the mapping and files each one through eInvoicePro’s API within moments of creation, writing the result back.

Fits when: invoicing happens all day, or re-entry is costing hours.

Trade-off: a one-time build and someone to watch failed invoices.

Architecture choice

Building the FBR side yourself vs a ready layer

QuickBooks’ API makes reading invoices easy. Everything after that is FBR’s territory.

Build it yourself

QuickBooks API + your own FBR code

  • NTN/CNIC checks, FBR’s payload, token handling and line-level error reading are all yours to build
  • FBR has no duplicate protection, so a lost response followed by a blind retry can file an invoice twice
  • Every FBR technical change is code someone in your business must update and re-test
  • Many small teams have no developer on staff to own it for six years
Ready layer

QuickBooks → eInvoicePro → FBR

  • The connector translates QuickBooks data and makes one API call per invoice
  • Idempotency keys stop a network retry from filing twice on your side
  • A change on FBR’s side is absorbed by the API; the QuickBooks connector stays put
  • A rejected invoice comes back with a typed reason and FBR’s raw reply, and is retried on its own

Using QuickBooks? Book a demo

See how eInvoicePro files invoices with FBR, and ask us anything about using it alongside QuickBooks Online.

Watch these

QuickBooks-specific traps

None of these show up in a demo with three tidy invoices. All of them show up in the first real month.

Amounts

  • Tax-inclusive price entry leaves FBR’s value-before-tax to be worked out line by line
  • A discount on the whole invoice must be spread across lines without the totals drifting
  • Rounding per line can leave the lines a rupee away from the invoice total
  • Foreign-currency invoices need your advisor’s view on how they are reported

Customers and products

  • Customers entered once for bookkeeping often have no tax ID or province
  • The same customer entered twice gets two different registration lookups
  • Services and goods sold from one product list need different HS codes and sale types
  • New products added mid-month arrive at FBR with no HS code unless something stops them first

Connection

  • An invoice edited after creation triggers another notification — don’t file it twice
  • A voided or deleted invoice in QuickBooks is not a cancellation at FBR
  • QuickBooks allows 500 API requests a minute and 10 a second per company, so a burst of invoices needs pacing
  • API access has to be re-authorised if it lapses or is revoked — decide who does it
  • Test invoices from a sandbox company must never reach FBR production

Going live

A realistic four-week rollout

For a QuickBooks business, most of the time goes into cleaning customer and product data — the connection itself is small.

  1. Week 1

    Clean and map

    Give every product and service an HS code and FBR unit, every QuickBooks tax rate an FBR sale type, and every regular customer a tax ID, registration type and province. Merge duplicate customers while you are there.

  2. Weeks 2–3

    Prove it in FBR’s sandbox

    Connect QuickBooks to eInvoicePro with the sandbox flag on and run real invoices through the scenarios FBR has assigned to your business. When your test invoices succeed, FBR issues the production token automatically.

  3. Week 4

    Run in parallel

    Let new QuickBooks invoices flow through FBR’s validation, unfiled, alongside normal work. Reconcile against QuickBooks’ sales reports each day and clear up whatever validation finds.

  4. Go live

    File as you invoice

    Switch to live filing, print the FBR number and QR code on the customer copy, and make one person responsible for the failed-invoice list in the first weeks.

Bookkeeper or accountant

Owns the tax-rate mapping with your advisor, cleans customer records, and signs off the sandbox invoices before go-live.

Developer or QuickBooks partner

Builds and hosts the connector, looks after QuickBooks API access, and watches for failed invoices after go-live.

Tax advisor

Confirms whether FBR or a provincial authority applies, the sale types for your goods, and any section 64D credit on the integration cost.

FAQ

Frequently Asked Questions

Does QuickBooks support FBR digital invoicing?

Not on its own. QuickBooks Online has no Pakistan edition and no FBR connection. Invoices are filed by connecting QuickBooks to a filing layer such as eInvoicePro, which adds FBR’s checks, files each invoice and returns the FBR number.

Is this for QuickBooks Online or Desktop?

QuickBooks Online, which can notify another system about new invoices and exposes them through an API. QuickBooks Desktop integrates differently — raise it on a demo if that is your setup.

We only sell services. Do we need FBR digital invoicing?

Possibly not. FBR’s digital invoicing covers goods, services in Islamabad Capital Territory and federal excise duty in sales tax mode; most other services are taxed provincially by PRA, SRB, KPRA or BRA. Confirm with your tax advisor before you build anything.

Can we keep invoicing exactly as we do now?

Largely, yes. On the connected route your team keeps creating invoices in QuickBooks; the connector files each one with FBR moments later and records the result. The changes are upstream — products and customers need their FBR details filled in once.

What happens if FBR rejects a QuickBooks invoice?

The invoice is not filed, and the reason comes back against the field or line that caused it. Fix the cause, usually a product’s HS code or a customer’s details, and resubmit that invoice. Editing it in QuickBooks alone changes nothing at FBR.

We have very few invoices. Is a connection worth it?

Often not at first. Below a handful of tax invoices a day, raising them in eInvoicePro’s screens is simpler, and the product and customer data you set up there is the same data a connection would need later.

Does the integration cost qualify for the section 64D tax credit?

It may, if you are required to integrate. Section 64D offers a 10% credit on one-off investment in the electronic resources used to connect to FBR, in the tax year they are fully set up — subscriptions are not included. Ask your tax advisor before you start.

Ready to simplify your FBR digital invoicing?

Join 2000+ businesses using eInvoicePro for real-time FBR integration and automated tax compliance.

Chat with us