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

7 min read

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 ERPNext

Each 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 Shopify

Submitting 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 Shopify

ERPNext 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 ERPNext

Creates 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 ERPNext

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

SuccessReal time

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.

InfoScheduled

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.

Manual

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

Orders reach ERPNext as soon as Order Sync is enabled. The other direction — stock, fulfilments and cancellations coming back from ERPNext — needs the matching ERPNext webhook switched on, on the Products Sync or Order Sync page. The app creates the webhook in ERPNext for you; you do not need to set it up by hand.

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 ShopifyIn ERPNextWhen
OrderSales OrderAlways, once Order Sync is enabled
Customer and addresses on the orderCustomer and AddressWhen the customer is not in ERPNext yet
Order line itemItemMatched to an existing Item first; created only when no match is found
Paid orderSales Invoice and Payment EntryPer your settings
Fulfilled orderDelivery NotePer your settings
Product variantItemCreated in Shopify when you import Items from ERPNext; created in ERPNext when you send Shopify products to ERPNext (if enabled for your store)
LocationWarehouseThrough 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.

PageWhat you do there
HomeCheck 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 SyncMap 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 ERPNextSend your existing Shopify products to ERPNext as Items. Only shown when this feature is enabled for your store.
Customer SyncEnable customer sync, then export Shopify customers to ERPNext or import ERPNext customers into Shopify.
Order SyncEnable order sync, choose which ERPNext documents to create, set taxes, discounts, shipping and payments, switch on the order webhooks, and sync historical orders.
ConfigurationEnter your ERPNext Host URL, API Key and API Secret, choose the ERPNext Defaults, and set up Field mappings and Shopify Collections.
BillingSee your current plan and change it, on the Billing & Subscription page.

Next steps