For distributors running Zoho Books

Stop quoting away your margin on Zoho Books.

PIE connects to the Zoho Books book you already run, reads the trading history in it, and checks every new quote line against your own margin floor before it goes out — then reports the margin that held. Your ERP keeps the records; PIE decides nothing you did not set a policy for.

PIE does not replace Zoho Books. It reads it. Your ERP stays the system of record, every row PIE holds is stamped with where it came from, and a full re-sync rebuilds what PIE derived from nothing.
How PIE connects to Zoho Books

One sign-in, checked when you save it

A Zoho Self Client: an administrator mints one refresh token against the scope list below, and PIE exchanges it for a short-lived access token as it works — no browser round-trip on a sync and nothing to renew on a schedule. The form asks for that refresh token, the client id and secret, your organization id and your data centre, and the connection is checked when you save it. One Zoho organization is one connection; a group running several books connects each one and sees them under a single view on the Platform plan.

What your administrator does first

The scopes are chosen when the Self Client grant is generated, and they are the whole of the configuration. Reads: ZohoBooks.contacts.READ, ZohoBooks.settings.READ (the item master, warehouses and per-location stock), ZohoBooks.invoices.READ, ZohoBooks.creditnotes.READ, ZohoBooks.bills.READ, ZohoBooks.vendorcredits.READ, ZohoBooks.customerpayments.READ, ZohoBooks.vendorpayments.READ, ZohoBooks.salesorders.READ, ZohoBooks.purchaseorders.READ, ZohoBooks.estimates.READ and ZohoBooks.users.READ. Writing is two more and neither is required: ZohoBooks.estimates.CREATE to send a quote, ZohoBooks.settings.CREATE to create an item. Pressing Check probes each scope with one real call and reports it granted, refused, or — where the call timed out or was throttled — unknown. An endpoint that could not be reached is never reported as granted, so what you read is what was actually answered rather than a pass assembled out of missing evidence. A scope refused mid-sync is named on the report the same way: which permission, and what to grant.

What the first pull reads

The first pull is offered from the first day of the month 18 months back, and you choose the date before it starts. It runs as a background job that commits as it goes, so you can watch it move rather than wait on a spinner — and what the screens then report is the span the rows actually cover, not the window that was asked for.

What it reads, and what it writes

Exactly this, and nothing else

The list below is not a summary of the integration — it is the integration. Each line is a permission the Zoho Books connector declares and a method that reads it, and a test holds the two against each other in both directions, so a capability cannot be claimed here and missing in the code.

  • Customerscontacts · type customer
  • Supplierscontacts · type vendor
  • The item master, discontinued lines includeditems
  • Invoices, with their linesinvoices
  • Bills, with their linesbills
  • Credit notescreditnotes
  • Vendor creditsvendorcredits
  • Customer paymentscustomerpayments
  • Payments outvendorpayments
  • Sales orderssalesorders
  • Purchase orderspurchaseorders
  • Estimates — what was offeredestimates
  • Warehouseslocations
  • Stock, per locationitemdetails
  • Users, to match salespeople by emailusers

What PIE creates in Zoho Books

Two things, both optional and both off until you grant their scope. A quote built in PIE can be created in Zoho Books as an estimate: the write is checked rather than trusted — PIE reads the reference back before it sends, so a request that timed out and lost its response cannot put two estimates in front of one customer. And a salesperson who adds a supply product to a quote can create that item in your item master rather than leaving it for someone to key in later; a write that fails leaves the line visibly in CREATE FAILED rather than stuck. Nothing else is ever written: no invoice, no order, no payment, no edit to a record that already exists.

What PIE does not read from Zoho Books

  • Draft and void invoices and bills are not read, deliberately: a cancelled invoice must never count as revenue a customer stopped spending.
  • History is bounded — two years by default. The detectors compare a recent window against a prior one, so a decade of ledger costs API calls and buys nothing.
  • Invoice and bill lines with no item — comment and charge rows, freight and handling — are not product lines, so they are not costed and carry no margin.
  • A salesperson is matched to a platform user by email, exactly. Anything else leaves the account unassigned and says so on the sync report; a wrongly assigned account would be invisible to the person who should act on it, which is worse.
  • Where a product has no cost on any bill, margin is suppressed rather than estimated. On a first sync that suppresses heavily, and that is the correct answer rather than a failure — the platform does not assert a margin it cannot stand behind.
  • Only contacts Zoho types as customers or vendors are read; other contact types are not.
What it does with it

Three things, on your own numbers

Every figure is deterministic arithmetic over the rows above, stamped with the version of the margin policy that judged it. The AI on this platform reads those numbers and phrases them; it never produces one.

Every screen has something to read

This is the book PIE was built against, and it is the only connection where no stage is missing. Payments come in, so collections and days-to-pay are measured rather than absent. Estimates come in, so a win rate has a denominator from the first sync. Per-location stock comes in, so what a line returns on the cash it ties up is computable. On the ERP connectors some of those screens stay empty and say why; here none of them do.

Every quote line, against your own floor

Your invoice and bill lines are what a floor is computed from: what you sold, to whom, and what it cost. PIE checks each new line against the policy you set and routes a breach for sign-off — the platform holds it, not the salesperson, and the sign-off is on record. Cost and margin never reach a salesperson's screen at all; they are absent from the response, not hidden in it.

Your books stay the system of record

Everything PIE derives is rebuilt from a complete re-sync, so nothing important lives only here — disconnect and your ledger is untouched and whole. Every computed number is stamped with the version of the policy that judged it, and opens into the rows it came from. The AI reads those numbers and phrases them; it never produces one.

Why it can be trusted

The AI never computes a single number.

Your Zoho Books data and your rules determine the number. AI explains it.

Same inputs, same answer, every time — with a paper trail.

  • Deterministic calculations — every figure is arithmetic on your own records; turn AI off and every number still works
  • Auditable decisions — each number names the policy that produced it, so a price you quoted last quarter still explains itself
  • Your data — read from your own books, used for you alone, exportable and erasable on request; AI runs on your own account
  • Your rules — you set the floors and thresholds, and PIE holds every quote to them
  • Provenance — every row carries the connector, the connection and the id it came from, so nothing in PIE claims a source it did not have

Your Zoho Books book already knows where the margin went.

30–45 minutes, your own numbers on the screen, and an honest answer about what PIE can and cannot see in Zoho Books.