Skip to main content
WooCommerce Connector for ERPNext — A build-to-order Frappe app that keeps WooCommerce and ERPNext in continuous two-way sync — 1/1Illustrative preview

A build-to-order Frappe app that keeps WooCommerce and ERPNext in continuous two-way sync

— products and variants, orders, customers, inventory, prices, and order-status writeback.

ECOSIRE scopes, builds, installs, and supports it for your store.

What is WooCommerce Connector for ERPNext?

A build-to-order Frappe app that keeps WooCommerce and ERPNext in continuous two-way sync — products and variants, orders, customers, inventory, prices, and order-status writeback. ECOSIRE scopes, builds, installs, and supports it for your store. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Custom Frappe app with its own module, DocTypes, and `hooks.py`, installed on your ERPNext v15/v16 site via bench
Webhook receivers exposed through `@frappe.whitelist()` methods, verified against the WooCommerce webhook secret before processing
Inbound work runs on Frappe background jobs (the queue), so bursts of orders never block web workers
Idempotent order upsert keyed on the WooCommerce order id stored in a custom field — retries and duplicate webhooks never double-create
WooCommerce orders mapped to ERPNext `Sales Order`/`Sales Invoice` with configurable tax templates and price lists
Customer import creating/matching `Customer`, `Contact`, and `Address` records with de-duplication by email
Variable-product and variation sync: `Item` templates with attributes ↔ WooCommerce variable products, `Item Variant` ↔ variation by SKU
Order-status writeback (processing / completed / cancelled) driven by ERPNext `doc_events` on `Delivery Note` submit or manual status change
Two-way inventory sync from the ERPNext stock ledger to WooCommerce stock quantities at the variation level
Price and price-list updates pushed to WooCommerce, mapped from ERPNext `Item Price` records
Refund-to-credit-note mapping and coupon/discount carry-over onto the sales document
Scheduled reconciliation sweep via `scheduler_events` to recover from missed webhooks and drift
`WooCommerce Sync Log` DocType capturing direction, payload, and error for every sync, with replay of failed events
Role-scoped access using dedicated role profiles and permissions so store sync settings are admin-only
Configurable authority rules per entity (which system wins on conflict) plus a dry-run/staging mode
Multi-warehouse and multi-currency handling available as scoped options

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

If your storefront runs on WooCommerce but your operations, accounting, and inventory live in ERPNext, someone on your team is almost certainly re-keying orders by hand, reconciling stock across two systems, and discovering oversells after the fact. ERPNext ships no native WooCommerce integration — the closest core primitive is a generic REST API and webhook surface, which leaves you to hand-build the field mapping, the idempotency, the variant matching, and the failure handling yourself. That is exactly the gap this connector closes.

ECOSIRE builds this as a proper Frappe app — its own module, DocTypes, and hooks.py — installed onto your ERPNext v15 or v16 site. Inbound, WooCommerce webhooks (order.created, order.updated, product.updated, customer.created) hit whitelisted endpoints exposed via @frappe.whitelist(), each verified against the store's webhook secret before a background job processes it through the Frappe queue so your web workers stay responsive. Orders land as ERPNext Sales Order or Sales Invoice documents with the WooCommerce order id stored on a custom field for idempotent upserts; customers are matched or created as Customer + Contact + Address records. Outbound, we register doc_events in hooks.py so that stock-ledger movements and Item Price changes push back to WooCommerce over its REST API, and a Delivery Note submission or manual status change writes the order status back to the store (processing, completed, cancelled) with the tracking number where you carry one.

Product and variant sync is handled deliberately: ERPNext Item templates with attributes map to WooCommerce variable products, and each Item Variant maps to a specific WooCommerce variation by SKU, so price lists and stock update at the variation level rather than clobbering the parent. A scheduled scheduler_events job runs a periodic reconciliation sweep to catch anything a missed webhook dropped, and every sync attempt is logged to a WooCommerce Sync Log DocType with the payload, direction, and error, so failures are visible and replayable instead of silent. Refunds map to ERPNext credit notes and coupon usage is carried onto the sales document, keeping finance's numbers honest.

Because this is build-to-order, nothing is a one-size download. We start with a short scoping call, agree the exact field mappings, tax handling, warehouse-to-store rules, and which direction is authoritative for each entity, then build against your real WooCommerce and a staging ERPNext site. You get the app source, install and configuration on your environment, UAT on staging with a rollback plan, and a post-go-live support window. Typical delivery is one working week from confirmed scope, depending on how many edge cases (multi-warehouse, multi-currency, B2B pricing) you need covered.

What you get

  • Installable Frappe app source code for your ERPNext v15 or v16 version, built to your agreed scope
  • Installation and configuration on your ERPNext site (staging then production), including WooCommerce webhook and REST credential setup
  • Technical documentation: field-mapping reference, DocType/hook overview, and operations runbook
  • User guide plus a live training session for your operations and finance team
  • UAT on a staging site with a documented rollback plan before go-live
  • A post-go-live support and bug-fix window for the delivered scope
  • Handover of the private Git repository with commit history and README

Who this is for

WooCommerce store owner on ERPNext

Runs the storefront on WooCommerce but manages inventory, invoicing, and accounting in ERPNext, and wants orders and stock to flow both ways without manual re-keying or oversells.

Operations / fulfillment manager

Owns order fulfillment and needs statuses, tracking, and stock levels to stay in lockstep between the store and ERPNext, with visible logs when a sync fails so nothing falls through.

Finance / accounting lead

Needs WooCommerce orders, refunds, coupons, and taxes to land as correct ERPNext sales invoices and credit notes so month-end reconciliation stops being a manual chore.

IT lead / Frappe administrator

Responsible for the ERPNext site and wants a clean, maintainable Frappe app with source access, standard hooks/scheduler patterns, role-scoped permissions, and a documented upgrade path across v15/v16.

How WooCommerce Connector for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Fit to your storeBuilt to your exact field mappings, taxes, and warehouse rulesFully custom but you specify and manage everythingGeneric mappings, often need workaroundsNo WooCommerce integration exists
Time to liveone working week from confirmed scopeUnpredictable; depends on in-house capacityFast install, slow to fit edge casesNever — build it yourself from the REST API
Variant & stock handlingVariation-level sync by SKU, stock-ledger drivenAs good as your team builds itBasic; parent-level clobbering commonNot provided
Reliability & recoveryBackground jobs, idempotent upserts, sync log + replayYou design idempotency and retriesVaries; failures often silentNot applicable
Frappe engineering qualityProper app, hooks, scheduler, role-scoped permsDepends on developer disciplineBlack-box; limited insightRaw REST API only
Support & ownershipPost-go-live window + full source in your Git repoYou own and support it entirelyVendor support, licensing, possible lock-inCommunity/self-support
Total cost profileFixed scoped build + optional ongoing supportHigh and variable engineering costLow upfront, recurring license feesFree software, high internal build cost

Frequently Asked Questions about WooCommerce Connector

Is this an instant download from the Frappe marketplace?

No. This is a build-to-order connector. ECOSIRE scopes it with you, builds it against your real WooCommerce store and a staging ERPNext site, then installs and supports it. You are not downloading a generic app — you get one fitted to your field mappings, tax rules, and warehouse setup.

How long does delivery take?

Typical delivery is one working week from confirmed scope. Simple single-warehouse, single-currency setups land toward the shorter end; multi-warehouse, multi-currency, or B2B-pricing edge cases push toward the longer end. We confirm the timeline in writing after the scoping call.

Which ERPNext and Frappe versions are supported?

Frappe/ERPNext v15 and v16. We build and test against the specific version and patch level running on your site, and the handover includes notes on upgrading the app alongside your ERPNext upgrades.

How does the sync actually work under the hood?

Inbound changes arrive as WooCommerce webhooks to whitelisted Frappe endpoints and are processed on background jobs for idempotent upserts. Outbound changes fire from ERPNext `doc_events` in `hooks.py` and push to the WooCommerce REST API. A scheduled reconciliation job catches anything a missed webhook dropped, and every attempt is recorded in a sync-log DocType.

What happens to product variants and stock?

ERPNext `Item` templates with attributes map to WooCommerce variable products, and each `Item Variant` maps to a specific variation by SKU. Stock and price updates apply at the variation level, so the parent product is never overwritten and per-variation quantities stay accurate.

Do we get support and updates after go-live?

Yes. Delivery includes a post-go-live support and bug-fix window for the agreed scope, and you receive the full source in a private Git repo so your team can maintain or extend it. Ongoing support, new features, or version upgrades beyond the initial window are available as a separate arrangement.

Who owns the code?

You do. On completion we hand over the private Git repository with full commit history. There is no vendor lock-in and no per-seat licensing on the connector itself.

Request a quote

WooCommerce Connector

A build-to-order Frappe app that keeps WooCommerce and ERPNext in continuous two-way sync — products and variants, orders, customers, inventory, prices, and order-status writeback. ECOSIRE scopes, builds, installs, and supports it for your store.

  • Custom Frappe app with its own module, DocTypes, and `hooks.py`, installed on your ERPNext v15/v16 site via bench
  • Webhook receivers exposed through `@frappe.whitelist()` methods, verified against the WooCommerce webhook secret before processing
  • Inbound work runs on Frappe background jobs (the queue), so bursts of orders never block web workers
  • Idempotent order upsert keyed on the WooCommerce order id stored in a custom field — retries and duplicate webhooks never double-create

Request a Quotation

Tell us about your WooCommerce Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.