Help center

Zoho Books Integration Help

How the app keeps your Shopify store and Zoho Books in step, in plain words. Pick a topic below, or press / to search.


01Start

Shopify ↔ Zoho Books integration

5 min read

This app keeps your Zoho Books organization in step with your Shopify store: customers, products, stock levels, and the full order paper trail from sales order to invoice, payment, delivery challan, and credit note.

What it syncs

Each area is configured on its own page in the left-hand navigation, and each can be turned on independently.

Customers

Shopify and Zoho Books

Shopify customers become Zoho contacts as soon as they are created or edited, with billing and shipping addresses. Zoho contacts can also be pulled back into Shopify on a schedule.

Products & inventory

Shopify and Zoho Books

Each Shopify variant becomes one Zoho item. Stock can be owned by either side: Shopify pushes level changes to Zoho as adjustments, or Zoho pushes its stock on hand into Shopify on a schedule.

Orders

Shopify to Zoho Books

A Shopify order becomes a Zoho sales order, then an invoice and a customer payment once it is paid. You can also invoice directly and skip the sales order.

Fulfillments & refunds

Shopify to Zoho Books

Fulfilling an order writes a delivery challan (or a tracking note on the sales order). A Shopify refund becomes a Zoho credit note, applied against the invoice.

Taxes

Shopify to Zoho Books

Shopify tax lines are mapped to Zoho taxes. Indian organizations get full GST handling: IGST versus CGST + SGST decided by place of supply, with the exact tax rate created in Zoho if it is missing.

Payments

Shopify to Zoho Books

Each Shopify payment gateway is mapped to a Zoho payment method and a deposit account, so payments land in the right bank account.

How syncing happens

Nothing syncs on a fixed nightly batch. Work is triggered one of three ways.

SuccessReal time

Within seconds

Shopify webhooks

Shopify notifies the app, the app queues a job, and a background worker writes to Zoho.

Covers

Customer created or updated, product created or updated, inventory level changed, order placed, order edited, order paid, fulfillment created or updated, refund issued, order cancelled.

InfoScheduled

Every 15 min to daily

Zoho → Shopify pulls

You choose the cadence per area: every 15 minutes, hourly, every 6 hours, or daily.

Covers

New Zoho items into Shopify, Zoho stock levels into Shopify, Zoho contacts into Shopify, and Zoho invoice payments into Shopify (marking the order paid).

Manual

When you start it

Backfill

You start it from the Run backfill button on each sync page.

Covers

Existing history that predates the app: past orders, your current catalog, your current customer list.

Order syncing is almost entirely one-way

Orders, fulfillments, and refunds flow from Shopify into Zoho Books. Creating an invoice in Zoho will not create an order in Shopify. There is one exception, and it is opt-in: when a Zoho invoice is fully settled, the app can mark the matching Shopify order as paid. Turn it on with “Payment received in Zoho → Mark order paid in Shopify” on the Order sync page. It never captures a card and never moves money — it only records in Shopify what Zoho already shows as paid.

What happens to a webhook after Shopify sends it

Worth understanding, because it explains why a failure is rarely lost and why syncing pauses rather than breaks.

  1. The webhook is queued, not processed inline.

    Shopify gets an immediate acknowledgement, so a slow Zoho call can never cause Shopify to mark the webhook as failed.
  2. A background worker picks the job up.

    Jobs for the same shop are processed one at a time, so two edits to the same record cannot race each other.
  3. The result is remembered.

    The app stores a mapping between the Shopify record and the Zoho record it created. That mapping is what lets a later edit update the same Zoho record instead of creating a duplicate.
  4. Temporary problems retry, permanent ones stop.

    A network blip or a Zoho 5xx is retried with a growing delay. A permanent problem — a revoked token, a rejected field — is not retried; it is recorded as a failure you can inspect and retry by hand.
  5. Hitting Zoho’s rate limit pauses rather than fails.

    Jobs are held and re-run once the limit recovers. You will see a banner while this is happening. Nothing is dropped.

Background workers must be running

Webhook processing, scheduled pulls, and backfills all happen in a separate worker process. If your deployment is only running the web app, the admin pages will load and settings will save, but nothing will ever sync.

Before you start

What you need in place for the integration to work.

  • A Zoho Books organization

    Active, with a Zoho login that has permission to authorize apps.

  • An active subscription or trial

    A subscription to this app, or the 15-day trial. The sync pages stay hidden until billing is active.

  • Locations to map (inventory only)

    At least one Shopify location, and a Zoho warehouse or location to map it to.

  • An Adjustment account (stock pushes only)

    Shopify → Zoho inventory pushes need a Zoho Adjustment account — without it, stock pushes are skipped.

  • Protected customer data approval (customer backfill only)

    Backfilling customers out of Shopify needs Shopify’s protected customer data approval for your store.

Next steps