Zoho Books Integration For WooCommerce

Description

Stop copying orders into Zoho Books by hand. Every order your customers place is typed, checked, and re-typed — or it just flows into Zoho Books on its own, seconds after checkout, with the contact, the items, the invoice, and the payment already in place. This plugin makes it the second one.

Zoho Books Integration For WooCommerce connects your store to your own Zoho Books organization over a secure OAuth connection — your Zoho password never touches the site. Set it up once with the built-in wizard, and your WooCommerce checkout becomes a direct feed into Zoho’s sales, invoicing, and accounting — no CSV exports, no double data entry, no missed orders at month-end.

Compatible with every Zoho data centre (.com, .eu, .in, .com.au, .jp, .ca, .sa, .com.cn) · classic and block (Gutenberg) checkout · WooCommerce HPOS · works with your existing Zoho items via SKU matching.

⚡ Sync WooCommerce orders to Zoho Books automatically

  • Export on checkout — the order is in Zoho Books before your customer sees the thank-you page, and you choose exactly which statuses qualify (Processing for paid orders, On hold for bank transfer / COD…)
  • Sales order or invoice — your call: create each order as a sales order only, or convert it straight to an invoice, submitted approved or saved as a draft
  • Your numbering, your rules — keep your own document series for sales orders, invoices and credit notes, or let Zoho number them
  • Discounts and coupons land per line or at document level — the way your accountant expects; shipping ships as its own (taxable) line
  • Flexible customer handling: real contact records (created or matched by email), guest checkouts included, or map every order to a single generic contact
  • Multi-currency orders converted with Zoho’s or WooCommerce’s exchange rate — or skipped, your choice

🧾 Invoices, payments, refunds — created automatically

  • Zoho invoices created automatically at the order statuses you choose
  • Payments registered and invoices marked paid — with per-gateway payment-mode and deposit-account mapping, so card money and COD money land in the right books
  • Refund in WooCommerce credit note in Zoho Books, linked to its invoice and applied. Done.
  • Cancel an order its Zoho documents are voided, not orphaned
  • Fulfilment recorded as a sales-order note or a delivery challan, tracking details included

🧮 Taxes, handled properly

  • Send WooCommerce’s own tax totals so both systems agree to the last decimal — a document-level rounding adjustment keeps them in exact step — or let Zoho Books recompute tax instead
  • One-click auto-mapping of your WooCommerce rates to the matching Zoho taxes, zero-rated lines included
  • Regional tax fields built in where Zoho requires them — including full India GST support (GSTIN, HSN/SAC, place of supply, CGST+SGST vs IGST resolved automatically)

🔄 Customers and products, in both directions

  • Push WooCommerce customers to Zoho contacts the moment they register or change — guests included
  • Pull Zoho contacts into WooCommerce on a schedule, with create and conflict policies you control (WooCommerce wins, Zoho wins, or last write wins)
  • Product sync both ways with SKU-first matching that never merges two different products, and field-level control over what a push may overwrite
  • Inventory sync with a single source of truth — WooCommerce Zoho as stock adjustments, or Zoho WooCommerce on a schedule as fast as every 15 minutes, into the Zoho warehouse you choose (Zoho Inventory required; the plugin tells you plainly when it isn’t enabled, with the exact steps to turn it on)

🛡 Built for stores that can’t afford sync surprises

  • Background queue with automatic retries — a slow Zoho server never blocks your checkout
  • Failures land in a visible retry queue and resolve themselves the moment a retry succeeds — no stale red badges
  • Human-readable logs: plain-language messages („Zoho would not accept stock tracking — it needs a Zoho Inventory subscription”), with technical details when you want them
  • Dashboard with sync status, health, mapped-record counts and recent activity at a glance
  • A setup wizard that resumes exactly where you left off — even across the OAuth redirect
  • Change organization safely: the plugin warns you, explains what happens to existing links, and cleans up on your say-so
  • Manual sync buttons that follow your settings and say exactly which switch to flip when they’re off

Every feature listed above is fully functional in this plugin — there is no license unlock, trialware gate, or disabled code path.

🚀 Ready in minutes

  1. Install and activate the plugin
  2. Follow the wizard: paste your Zoho API client keys, click Save & Connect, pick your organization
  3. Place a test order — watch it appear in Zoho Books

Requirements

  • WordPress 6.5+ · WooCommerce 8.0 or higher · PHP 8.0+
  • A Zoho Books organization and a free Zoho API client (Client ID and Secret — the wizard shows you exactly where to create one)

Installation

  1. Ensure WooCommerce is installed and active.
  2. Upload the plugin to wp-content/plugins/erp7-order-sync-for-zoho-books and activate it. The release zip contains the compiled admin app; the JavaScript source lives in src/ and builds with npm install && npm run build.
  3. Open Zoho Sync in the admin menu and follow the onboarding wizard.

Connecting to Zoho

In the Zoho API Console, create a Server-based Application and add the redirect URI shown on the Connection tab. Enter your Client ID, Client Secret and data-centre region, click Save & Connect, then choose your organization.

Recommended

Define an encryption key in wp-config.php so Zoho secrets are encrypted at rest:

define( 'ZBWC_ENCRYPTION_KEY', 'a-long-random-string' );

FAQ

Do I need a Zoho Books account?

Yes. The plugin syncs into your own Zoho Books organization using API credentials you create in the Zoho API Console.

Does it support High-Performance Order Storage (HPOS)?

Yes. The plugin declares HPOS compatibility and uses the WooCommerce order CRUD APIs.

How is background processing handled?

Through WooCommerce’s Action Scheduler. Failed jobs are retried with backoff and, if they still fail, moved to a dead-letter list you can retry from the Logs tab.

Will it sync my existing orders?

Yes — use Run backfill on the Orders tab to queue them. Products and customers have their own sync buttons on their tabs.

Does it sync payments, refunds, customers, products or stock?

Yes, all of them. Orders, products and customers sync on the free plan within the monthly allowance; payments, refunds, cancellations, fulfilment and inventory are part of Pro. Each area has its own settings tab and can be turned off independently, and everything except order sync is off until you switch it on.

Is it free?

Yes, with a monthly allowance: 10 orders, 10 products and 10 customers. The allowance resets on the 1st. Re-syncing a record that already reached Zoho is always free, so a store under those numbers never runs out.

What happens when I reach a limit?

Nothing is lost. Orders stop being sent and are logged with the reason, so you can send them next month or upgrade and send them straight away. Products degrade instead of blocking — the order still syncs, with the line carried by name, rate and quantity rather than a linked Zoho item. Customers do stop an order, because Zoho Books cannot accept a sales order without a contact.

How do I upgrade, and how do I cancel?

The Plan tab. Checkout is handled by Stripe. Cancelling schedules the subscription to end at the end of the period you have already paid for — the site keeps every feature until that date, then returns to the free plan with all its settings intact.

Which system owns stock levels?

Whichever you choose on the Products & Inventory tab. Inventory is off by default; set it to WooCommerce Zoho to push stock changes as they happen, or Zoho WooCommerce to pull on a schedule.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Zoho Books Integration For WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Renamed to Zoho Books Integration For WooCommerce.
  • Connection tab redesigned: one-step Save & Connect, an organization chooser dialog that opens itself, and safe organization switching.
  • Setup wizard resumes from wherever the connection actually stands — including across the OAuth redirect.
  • India GST: tax auto-mapping now writes home-state (CGST+SGST) and zero-rate pairs, so intra-state and fully discounted orders sync correctly.
  • Payments recover from a deposit account left over from another organization, and draft invoices are marked sent before payments and credit notes.
  • Refund credit notes are linked to their invoice, and amount-only refunds carry the order’s tax.
  • Invoices inherit rounding adjustments so both systems agree to the paisa.
  • Failed jobs resolve themselves when a retry succeeds; manual sync buttons follow their toggles and say which switch to flip.
  • Warehouse support for Zoho’s newer Locations API, and plain guidance everywhere when Zoho Inventory isn’t enabled yet.
  • Product descriptions and featured images sync in both directions, on updates as well as first creation.
  • Turning inventory on no longer stops the catalogue: an organization without Zoho Inventory has its stock fields dropped instead of failing the whole product sync.
  • Stock adjustments work on organizations using Zoho’s newer Locations API, and a warehouse left mapped from a previously connected organization is detected and skipped rather than rejected.
  • Descriptions sync field for field: WooCommerce’s product description maps to Zoho’s item description in both directions, and the short description stays WooCommerce’s own.
  • A warehouse left mapped from a previously connected organization is no longer sent to Zoho when the check that detects it cannot reach the API — the cause of „Invalid Element warehouse_id” appearing and disappearing on unchanged settings.

1.0.0

  • Initial release: WooCommerce orders to Zoho Books sales orders and invoices, with contacts and items created or matched as an order needs them.
  • Payments, refunds as credit notes, cancellations that void the Zoho documents, and fulfilment with tracking.
  • Two-way customer and product sync, and inventory with a single source of truth and a pull schedule.
  • Tax, shipping, discount and multi-currency handling, India GST fields, and custom document numbering.
  • Onboarding wizard, dashboard, sync log with a dead-letter retry queue, and backfill for existing records.
  • Zoho API rate limits pause syncing for 15 minutes and resume on their own, rather than retrying into the limit that is blocking them.
  • Free plan with a monthly allowance of 10 orders, 10 products and 10 customers; Pro removes the limits and adds payments, refunds, fulfilment and inventory.