Zoho Books integration

Filing Zoho Books invoices with FBR

For startups, trading businesses and small teams running Zoho Books, on its own or inside Zoho One, who need their invoices filed with FBR, and would rather not hire a developer to do it.

Updated

eInvoicePro API documentation — the layer a Zoho Books automation sends invoices to for FBR filing

The mechanism

How a Zoho Books invoice reaches FBR

Your team keeps invoicing in Zoho Books. The FBR step runs automatically a moment later.

Zoho publishes separate editions of Books for almost twenty countries, with local tax rules baked in, and Pakistan isn’t among them. Pakistani businesses therefore run the Global edition, where every tax is something you type in yourself — a name and a percentage. That totals an invoice perfectly well. What it can’t tell FBR is anything FBR actually looks for: which HS code an item carries, which FBR sale type a tax stands for, what FBR calls the unit, or whether the customer is registered.

So the integration fills those gaps once, and from then on each invoice goes through four steps:

  1. Something notices the new invoice — a workflow rule that calls a web address, a Zoho Flow that starts on invoice created, or a small service that checks Zoho’s API every few minutes.
  2. FBR’s details are added from the custom fields and the mapping: HS code and FBR unit per item, FBR sale type per tax, registration type and province per customer.
  3. eInvoicePro takes it from there — its API checks the invoice against FBR’s rules, files it, and replies with the FBR invoice number or the precise reason FBR turned it down.
  4. The FBR number lands back in Zoho, in a custom field on the invoice, so your invoice template can print it next to the QR code.

Why it should run as you invoice

FBR wants every invoice sent at the time it is issued, and Zoho’s automations fire the moment an invoice is created. A Zoho Books business can therefore meet the rule without anyone changing how they work, as long as the automation runs on every invoice rather than on a weekly batch.

Many Zoho Books users sell services. Only a narrow slice of services, those supplied in Islamabad Capital Territory, falls under FBR’s digital invoicing, with goods and FED charged in sales tax mode making up the rest; most service income is taxed by the provinces. If you sell services in Punjab or Sindh, see PRA E-IMS or SRB POS first.

Your options

What your Zoho plan allows

The same integration can be triggered three ways. Your Zoho Books plan decides which are open to you — plan names vary slightly by region.

Ways to trigger FBR filing from Zoho Books, by plan
Route Available on Good for Limits to know
Workflow rule that calls a webhook Higher plans — Professional and above in most regions Instant filing on created or created or edited, with no extra service to run One webhook per rule, and a daily cap on webhook calls (1,000 in Zoho’s US documentation)
Zoho Flow Any plan, with a Zoho Flow subscription No-code: invoice created in Zoho Books starts a flow that calls eInvoicePro Zoho Flow triggers on creation; edits need a different approach
Zoho Books API All plans A connector that polls for new invoices and writes results back 100 requests a minute per organisation, and a daily cap that rises with your plan
eInvoicePro screens or bulk template Any plan, nothing in Zoho is changed Low volumes, or teams who want to start before automating Invoices are entered or uploaded separately from Zoho

Whichever route triggers the filing, writing the FBR number back to Zoho uses Zoho’s API, so every automated route needs API access.

The data

Where Zoho Books keeps FBR’s details

Zoho Books lets you add custom fields to customers, items and invoices. That is where most of FBR’s missing data goes.

FBR invoice fields and their home in Zoho Books
FBR field Home in Zoho Books Watch out for
Buyer NTN or CNIC A custom field on the customer Bare digits, no dashes
Buyer registration type A custom field on the customer Set by checking the customer’s number with FBR
Buyer province The billing address on the customer record FBR wants the province: “Punjab” works, “Lahore” doesn’t
Invoice number Zoho’s invoice number, such as INV-000123 Hyphens are fine; FBR accepts letters, digits and hyphens only
HS code A custom field on the item From FBR’s own list, stored as text so leading zeros survive
Unit of measure The item’s unit Use FBR’s name for the unit, checked against what the HS code allows
Sale type, rate and SRO The tax on each line — in the Global edition, a name and a rate Link each Zoho tax to an FBR sale type and let FBR supply the rate
Value excluding tax and discount Line amounts and discounts Tax-inclusive prices and invoice-level discounts must be turned into per-line values
FBR invoice number and status Custom fields on the invoice Written back after filing and shown on your invoice template

How many custom fields you can add depends on your Zoho plan. The set-up on this page uses five or six in total.

Small teams

The questions small teams ask first

Zoho Books businesses tend to be lean. These are the concerns that come up before anything is built.

We don’t have a developer. Is this realistic?

Yes. On a plan with workflow rules, or with Zoho Flow, the trigger is configured rather than coded, and eInvoicePro does the FBR-specific work. The effort that remains is filling in HS codes, units and customer details, which is bookkeeping, not programming.

We raise only a few invoices a day. Is automation worth it?

Maybe not yet. Raising tax invoices in eInvoicePro’s screens is simpler at low volume, and the HS codes and customer details you set up there are the same ones an automation needs later.

Quotes and deals live in Zoho CRM. Does that matter?

No. The integration only needs the invoice in Zoho Books, however it got there, whether raised directly or converted from a CRM deal or quote.

What if we change Zoho plans later?

The mapping and custom fields carry over. What may change is the trigger: moving to a plan with workflow rules lets you replace a Zoho Flow or polling connector with a rule, without redoing anything else.

Architecture choice

Doing the FBR part yourself, or handing it to a ready layer

Zoho makes the trigger easy. What happens after the trigger is FBR’s territory.

Do it yourself

A Zoho automation that talks to FBR

  • You would own buyer checks, FBR’s invoice format, FBR tokens and reading FBR’s answers line by line
  • A no-code flow can move the data but can’t read FBR’s responses line by line or handle safe retries
  • FBR will take the same invoice twice, so a lost reply plus an automatic retry means a duplicate filing
  • Each time FBR changes its technical specification, your automation has to change with it
Ready layer

Zoho Books → eInvoicePro → FBR

  • Zoho’s automation makes one call per invoice; eInvoicePro does the FBR work
  • A retried call is recognised by its idempotency key, so it can’t file the same invoice twice from your side
  • When FBR says no, you see exactly why, in FBR’s own words, and resend just that invoice
  • If FBR alters its rules, nothing in your Zoho automation needs touching

Using Zoho Books? Book a demo

See how eInvoicePro files invoices with FBR, and ask us anything about connecting it to Zoho Books.

Watch these

Zoho-specific traps

None of these appear with three test invoices. All of them appear in the first busy week.

Plans and limits

  • Workflow rules with webhooks aren’t on every plan
  • Webhook calls, API requests and Zoho Flow tasks all have daily or monthly caps — check them against your busiest day
  • Downgrading a plan can switch off the rule that files your invoices
  • API access has to be re-authorised if it lapses — decide who does it

Data

  • Customers created in a hurry have no NTN or province
  • Items added on the fly reach the integration without an HS code
  • Tax-inclusive prices hide the per-line value before tax
  • An invoice-level discount or adjustment must be spread across lines for FBR

Documents

  • A rule on “created or edited” fires again on every edit — don’t file the same invoice twice
  • Voiding or deleting an invoice in Zoho is not a cancellation at FBR
  • A credit note needs the original invoice’s FBR number
  • Draft invoices must not be filed until they are actually issued

Going live

A realistic three-week rollout

Zoho’s configurable triggers keep the build small, so most of the three weeks goes on your data.

  1. Week 1

    Add fields and fill them

    Create the custom fields for NTN, registration type, HS code and FBR number. Map each Zoho tax to an FBR sale type. Fill in HS codes and units for your items, and tax details for your regular customers.

  2. Week 2

    Prove it in FBR’s sandbox

    Set up the trigger against eInvoicePro with the sandbox flag on, and run real invoices through the scenarios FBR has assigned to your business. Passing them unlocks your production token automatically.

  3. Week 3

    Run in parallel, then go live

    Validate every new invoice against FBR for a few days without filing, compare totals with Zoho’s sales reports, then switch to live filing and add the FBR number and QR code to your invoice template.

Owner or accountant

Maps taxes to FBR sale types with your advisor, fills in customer and item details, and signs off test invoices.

Whoever runs your Zoho set-up

Creates the custom fields and the workflow rule or Zoho Flow, and keeps an eye on failed invoices after go-live.

Tax advisor

Confirms whether FBR or a provincial authority applies, and the sale types for anything not at the standard rate.

FAQ

Frequently Asked Questions

Does Zoho Books support FBR digital invoicing?

Not on its own. There is no Pakistan edition of Zoho Books and no FBR connection. Invoices are filed by connecting Zoho Books to a filing layer such as eInvoicePro, triggered by a workflow rule, Zoho Flow or the API.

Which Zoho Books plan do we need?

Workflow rules that call a webhook are on higher plans, Professional and above in most regions. On other plans, Zoho Flow or a small connector using Zoho’s API does the same job. Writing the FBR number back needs API access in every case.

Is Zoho Flow enough on its own?

Zoho Flow can start the process when an invoice is created, but it can’t validate an invoice against FBR, check NTNs, read FBR’s answer line by line or retry safely. That work happens in eInvoicePro at the other end of the flow.

We use Zoho One. Does that change anything?

No. The integration only needs Zoho Books’ invoices, so it works the same whether Zoho Books is standalone or part of Zoho One.

Can we fix a rejected invoice by editing it in Zoho?

Yes — fix the cause, usually an item’s HS code or a customer’s details, and resubmit. An invoice FBR has already accepted is different: editing it in Zoho leaves FBR’s record as it was, and the fix belongs in FBR’s system, where a genuine error can be corrected for up to 72 hours.

How long does it take?

The plan on this page allows about three weeks: one to fill in HS codes and customer details, one for FBR’s sandbox scenarios and one to run in parallel. How clean your customer and item records are decides whether it goes faster or slower.

Ready to simplify your FBR digital invoicing?

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

Chat with us