Help center
ERPNext Integration Help
How the app keeps your Shopify store and ERPNext in step, in plain words. Pick a topic below, or press / to search.
01Start
Shopify ↔ ERPNext integration
This app connects your Shopify store to your ERPNext site. Orders flow into ERPNext as Sales Orders with their invoices, delivery notes and payments; your ERPNext Items, prices and stock are published to Shopify; and fulfilments and cancellations made in ERPNext are reflected back on the Shopify order.
What it syncs
Each area has its own page in the app and is switched on separately. Nothing syncs on its own until you turn that area, or its ERPNext webhook, on.
Orders
Shopify to ERPNextEach Shopify order becomes an ERPNext Sales Order, with the customer and addresses created if they are new. Depending on your settings, the app also creates the Sales Invoice, Payment Entry and Delivery Notes, and keeps them up to date when the order is edited.
Fulfilment, cancels & returns
ERPNext to ShopifySubmitting a Delivery Note in ERPNext fulfils the Shopify order, a return Delivery Note records a return, and cancelling the Sales Order cancels the Shopify order. Each of these needs its ERPNext webhook switched on.
Products & inventory
ERPNext to ShopifyERPNext Items are imported into Shopify as products, with prices and stock. Each Shopify location is mapped to an ERPNext warehouse, and stock changes in ERPNext can be pushed to Shopify as they happen.
Shopify products to ERPNext
Shopify to ERPNextCreates or updates ERPNext Items from the products already in your Shopify catalog, optionally with prices and stock. This page is only shown for stores where it has been switched on.
Customers
Shopify and ERPNextExport your Shopify customers into ERPNext as Customers with their addresses, or import ERPNext Customers into Shopify, filtered by customer group.
Logs & resync
Every order sync and every ERPNext webhook the app receives is logged on the Home page, with the reason when something fails. A failed order can be resynced from its log row, and a daily check lists orders that never synced.
How syncing happens
Work starts one of three ways. Most stores use all three: real time for day-to-day changes, schedules as a safety net, and manual runs for history.
Within seconds
Shopify and ERPNext webhooks
Shopify tells the app when an order is placed or edited. ERPNext tells the app when stock moves, a Delivery Note is submitted or cancelled, or a Sales Order is cancelled — once you switch those webhooks on.
Covers
New and edited orders into ERPNext; stock levels, fulfilments, returns and cancellations back to Shopify.
Hourly or daily
Background schedules
Optional hourly import of Items created or changed in ERPNext, plus a daily check that every recent Shopify order reached ERPNext.
Covers
Recently modified ERPNext Items into Shopify (when turned on in Products Sync), and the Missing orders report on the Home page.
When you start it
Sync buttons
Buttons on each sync page start a run when you choose, and order log rows have a Resync button.
Covers
Importing products, syncing stock only, exporting or importing customers, historical orders by date range, and resyncing a single order.
ERPNext webhooks are off until you switch them on
How Shopify records map to ERPNext
Which ERPNext document each Shopify record becomes. Documents marked “per your settings” are created only when the matching option is on in Order Sync.
| In Shopify | In ERPNext | When |
|---|---|---|
| Order | Sales Order | Always, once Order Sync is enabled |
| Customer and addresses on the order | Customer and Address | When the customer is not in ERPNext yet |
| Order line item | Item | Matched to an existing Item first; created only when no match is found |
| Paid order | Sales Invoice and Payment Entry | Per your settings |
| Fulfilled order | Delivery Note | Per your settings |
| Product variant | Item | Created in Shopify when you import Items from ERPNext; created in ERPNext when you send Shopify products to ERPNext (if enabled for your store) |
| Location | Warehouse | Through the Products Location Mapping you set on the Products Sync page |
The app adds a few shopify_* custom fields (such as the Shopify order ID) to ERPNext documents the first time it needs them. They are how the app finds the same record again on a later edit, instead of creating a duplicate — leave them in place.
Before you start
What needs to be in place on the ERPNext side before you connect.
An ERPNext site reachable from the internet
The app runs in the cloud and connects to your site over HTTPS, so a site that only works on your office network or a VPN cannot be connected. ERPNext must also be able to send webhooks out to the app.
An ERPNext user with an API key and secret
The app signs in as this user. The app does not check roles itself, so make sure the user's roles in ERPNext let it read and create Customers, Addresses, Items, Sales Orders, Sales Invoices, Delivery Notes and Payment Entries, and create Custom Fields and Webhooks.
A Company, a Warehouse and the basic masters
At least one Company and Warehouse, plus an Item Group, a Unit of Measure, a Customer Group and a Territory to use as defaults for records the app creates.
A naming series and accounts for orders
A Sales Order naming series for Shopify orders and, if you want invoices, payments and delivery notes, the series, mode of payment, bank account, debtors account, payment terms template and tax templates that Order Sync asks for.
An active app subscription
A paid plan or free trial for this app. Without one, opening the app takes you to the Billing & Subscription page to choose a plan first.
Where to find things in the app
The pages in the app's left-hand navigation, in the order they appear, and what you do on each. Products Sync, Customer Sync and Order Sync appear once your ERPNext connection is saved.
| Page | What you do there |
|---|---|
| Home | Check the Logs — the Order sync, ERPNext webhooks, Change log, Hourly cron and Missing orders tabs — and resync a failed order. Until your connection and the Default Company and Default Warehouse are saved, Home shows the configuration form instead. |
| Products Sync | Map Shopify locations to ERPNext warehouses, choose which Items and fields to sync, switch on the inventory webhook and the hourly import, and run product imports. |
| Shopify to ERPNext | Send your existing Shopify products to ERPNext as Items. Only shown when this feature is enabled for your store. |
| Customer Sync | Enable customer sync, then export Shopify customers to ERPNext or import ERPNext customers into Shopify. |
| Order Sync | Enable order sync, choose which ERPNext documents to create, set taxes, discounts, shipping and payments, switch on the order webhooks, and sync historical orders. |
| Configuration | Enter your ERPNext Host URL, API Key and API Secret, choose the ERPNext Defaults, and set up Field mappings and Shopify Collections. |
| Billing | See your current plan and change it, on the Billing & Subscription page. |