Title: Zoho Books Integration For WooCommerce
Author: Niraj Gupta
Published: <strong>2026년 8월 19일</strong>
Last modified: 2026년 10월 8일

---

플러그인 검색

![](https://ps.w.org/erp7-order-sync-for-zoho-books/assets/banner-772x250.png?rev
=3655810)

![](https://ps.w.org/erp7-order-sync-for-zoho-books/assets/icon.svg?rev=3655810)

# Zoho Books Integration For WooCommerce

 작성자: [Niraj Gupta](https://profiles.wordpress.org/smgom/)

[다운로드](https://downloads.wordpress.org/plugin/erp7-order-sync-for-zoho-books.1.0.4.zip)

 * [세부사항](https://ko.wordpress.org/plugins/erp7-order-sync-for-zoho-books/#description)
 * [평가](https://ko.wordpress.org/plugins/erp7-order-sync-for-zoho-books/#reviews)
 *  [설치](https://ko.wordpress.org/plugins/erp7-order-sync-for-zoho-books/#installation)
 * [개발](https://ko.wordpress.org/plugins/erp7-order-sync-for-zoho-books/#developers)

 [지원](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/)

## 설명

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
 * 🆕 A customer whose contact was deleted or merged in Zoho is found again automatically
 * 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 — 🆕 paid orders
   too
 * 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
 * 🆕 Busy orders wait their turn — a job that finds its order busy tries again 
   by itself instead of being dropped
 * 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
 * 🆕 Live progress on the Logs screen — one line per task, counting only what Zoho
   really accepted
 * 🆕 If your Zoho Books trial or subscription ends, the plugin tells you once and
   keeps the work ready to re-run
 * 🆕 Works on a phone
 * 🆕 Stores linked to an ERP7 account share their sync log with support, so problems
   are spotted sooner
 * 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)

### External services

This plugin talks to two outside services.

**Zoho Books** (Zoho Corporation) is where your orders, invoices, payments, refunds,
customers, products and stock are synced, as you configure them. Data goes to the
Zoho data centre you choose on the Connection tab whenever a sync runs. [Zoho terms](https://www.zoho.com/terms.html)·
[Zoho privacy policy](https://www.zoho.com/privacy.html)

**ERP7 subscription and support service** (wpzohoapi.devwork.in):

 * Plans: a store linked to an ERP7 account checks its plan here, sending its site
   address with each signed request.
 * Sync log: every 5 minutes the store sends the new lines of its sync log — time,
   level, type, the message, the order or product it is about, how long it took 
   and the technical detail recorded with it (such as the job, the attempt and Zoho’s
   reply) — with customer email addresses and phone numbers removed first, together
   with the site address, site name, plugin version and a random id for this installation.
   Support uses it to spot failures and help sooner, and it is kept for 30 days.
   Only stores linked to an ERP7 account send it; linking an account turns it on.
   A store that is not linked sends nothing.

## 설치

 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](https://api-console.zoho.com/), 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.
A job that finds its order busy waits and tries again by itself.

### 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.

## 후기

![](https://secure.gravatar.com/avatar/317a6b2f00d7b28900d82cceb94fa78397cf13c8f693366526d228d5fa932a5d?
s=60&d=retro&r=g)

### 󠀁[Works great](https://wordpress.org/support/topic/works-great-9888/)󠁿

 [davidgalletly](https://profiles.wordpress.org/davidgalletly/) 2026년 10월 11일

This plugin works perfectly for syncing the data between Zoho books and Woo. Saved
us a ton of manual work. Highly recommended.

 [ 모든 1 평가 읽기 ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/)

## 기여자 & 개발자

“Zoho Books Integration For WooCommerce”(은)는 오픈 소스 소프트웨어입니다. 다음의
사람들이 이 플러그인에 기여하였습니다.

기여자

 *   [ Niraj Gupta ](https://profiles.wordpress.org/smgom/)

[자국어로 “Zoho Books Integration For WooCommerce”(을)를 번역하세요.](https://translate.wordpress.org/projects/wp-plugins/erp7-order-sync-for-zoho-books)

### 개발에 관심이 있으십니까?

[코드 탐색하기](https://plugins.trac.wordpress.org/browser/erp7-order-sync-for-zoho-books/)
는, [SVN 저장소](https://plugins.svn.wordpress.org/erp7-order-sync-for-zoho-books/)
를 확인하시거나, [개발 기록](https://plugins.trac.wordpress.org/log/erp7-order-sync-for-zoho-books/)
을 [RSS](https://plugins.trac.wordpress.org/log/erp7-order-sync-for-zoho-books/?limit=100&mode=stop_on_copy&format=rss)
로 구독하세요.

## 변경이력

#### 1.0.4

 * Every store linked to an ERP7 account now shares its sync log with ERP7 support,
   so failures are spotted and fixed sooner. The switch under Zoho Sync  Logs is
   gone. Customer email addresses and phone numbers are still removed first, and
   a store that is not linked sends nothing.

#### 1.0.3

 * Cancelling a paid order now voids it in Zoho as well. Zoho will not void an invoice
   that has a payment on it, so the payment this plugin recorded for the order is
   removed first, then the invoice and sales order are voided. A payment entered
   in Zoho by hand, or an invoice carrying a credit note, is left alone and the 
   Logs say why. Switch it off with “Paid order cancelled” under Orders  Lifecycle.
 * If Zoho still refuses the void once the payment is removed, the payment is recorded
   again exactly as it was, so the books are never left half-changed.
 * A job that finds its order busy with another job now runs again by itself — a
   minute later, a few times, then once more fifteen minutes on — instead of being
   dropped. Only an order that stays busy through all of that appears under Failed
   jobs, and the Logs name the order.
 * Cancelling an order twice, or reopening it before the cancellation reaches Zoho,
   no longer raises false warnings or voids a sale the shop has taken back.
 * A refund or payment arriving for an order whose invoice is already void is skipped
   with a note instead of failing.
 * The sync log can now be sent to ERP7 support, so failures across stores are seen
   and fixed sooner. Customer email addresses and phone numbers are removed first.
   It is on for stores linked to an ERP7 account and off for others; switch it under
   Zoho Sync  Logs.
 * The progress rows on the Logs screen are one line each with a percentage, the
   background queue included. A finished row turns green at 100% and fades away 
   seven seconds later; a failed one stays up so the error can be read.
 * When Zoho refuses because the organization’s own Zoho Books trial or subscription
   has ended, the plugin says so once — on the Dashboard and in the Logs — stops
   spending the API allowance on further refusals, and keeps the jobs in Failed 
   jobs to re-run after upgrading. Progress rows count only what Zoho actually accepted,
   and turn red with the reason when it refuses.
 * A customer whose Zoho contact was deleted, or merged into another contact, no
   longer has every later order fail. The plugin notices, looks the customer up 
   in Zoho again — adopting the contact that now carries their email — or creates
   a new one, and the order goes through. If the deleted contact was the generic
   one all orders are billed to, Failed jobs says which setting to change.
 * “Skip the order” under Orders  Lifecycle  Customer handling skipped every order,
   regular customers included. It now skips only orders from customers with no matching
   Zoho contact; everyone Zoho already knows syncs as usual, and the Logs say plainly
   when an order was skipped and why.
 * The plugin’s screens now fit a phone. The sync log and Failed jobs show each 
   entry as a small card instead of a table wider than the screen, progress rows
   show their full name with the bar underneath, the reason Zoho refused something
   is never cut off, Dashboard cards stack, and pop-up notices stay on screen.

#### 1.0.2

 * The Logs screen shows what a sync is doing while it runs — a progress bar for
   long pulls, the background queue’s depth, and the log refreshing itself as lines
   are written.
 * Log and dashboard times are shown in the reader’s own time zone instead of UTC.
 * Zoho item names, prices and descriptions are pulled on a schedule of their own,
   so a price changed in Zoho reaches WooCommerce without pressing Sync now.
 * Stock pulled from Zoho is what can actually be sold: units held by open sales
   orders are no longer handed back to WooCommerce, where they could be sold twice.
 * A Zoho item follows the product’s stock tracking: switching “Track stock quantity”
   on or off in WooCommerce changes the item’s type in Zoho, and Zoho’s refusal 
   for items with stock or transactions is recorded rather than retried.
 * Cancelling an order no longer reports a void Zoho refused: a paid invoice cannot
   be voided, and the Logs now say so and ask for a credit note instead.
 * An organization with GST switched off is named as the cause when an order is 
   refused, with the setting to change, and is no longer retried as though it were
   a temporary fault.

#### 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.

## 기초

 *  버전 **1.0.4**
 *  최근 업데이트: **3일 전**
 *  활성화된 설치 **10보다 적음**
 *  워드프레스 버전 ** 6.5 또는 그 이상 **
 *  다음까지 시험됨: **7.1.3**
 *  PHP 버전 ** 8.0 또는 그 이상 **
 *  언어
 * [English (US)](https://wordpress.org/plugins/erp7-order-sync-for-zoho-books/)
 * 태그:
 * [Accounting](https://ko.wordpress.org/plugins/tags/accounting/)[Bookkeeping](https://ko.wordpress.org/plugins/tags/bookkeeping/)
   [invoices](https://ko.wordpress.org/plugins/tags/invoices/)[orders](https://ko.wordpress.org/plugins/tags/orders/)
   [woocommerce](https://ko.wordpress.org/plugins/tags/woocommerce/)
 *  [고급 보기](https://ko.wordpress.org/plugins/erp7-order-sync-for-zoho-books/advanced/)

## 평점

 별 5점 만점에 5점.

 *  [  1/5-별점 후기     ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/?filter=5)
 *  [  0/4-별점 후기     ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/?filter=4)
 *  [  0/3-별점 후기     ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/?filter=3)
 *  [  0/2-별점 후기     ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/?filter=2)
 *  [  0/1-별점 후기     ](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/#new-post)

[모든  리뷰 보기](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/reviews/)

## 기여자

 *   [ Niraj Gupta ](https://profiles.wordpress.org/smgom/)

## 지원

할 말 있으신가요? 도움이 필요하신가요?

 [지원 포럼 보기](https://wordpress.org/support/plugin/erp7-order-sync-for-zoho-books/)