Every Shopify merchant running a real inventory ends up doing the same thing twice. You update a price in ERPNext because that is where the business keeps its numbers, then you open Shopify and update it again, because the storefront keeps its own copy and has no idea the first change happened. Stock arrives and you do it twice more. Somewhere in a week of that, something sells at last month’s price, or a customer buys the last one you already sold on Tuesday.
OrderWeave has kept ERPNext and WooCommerce in step for a while, and MedusaJS alongside it. It now does the same for Shopify. You work in ERPNext, your Shopify store follows, and the second admin panel stops being part of your afternoon.
What stays in step
The list is short because the principle is: anything a customer can see about a product is something your ERP already knows.
| You change in ERPNext | What your customers see |
|---|---|
| Edit an item | The product updates |
| Change a price | The new price |
| Put an item on sale | The sale price, with the old one struck through |
| End a sale | The sale price goes away |
| Receive or sell stock | Stock levels follow |
| Add photos | They appear on the product |
| Discontinue an item | It comes off the storefront |
In our testing a change reaches the store in about five seconds, which in practice means you finish editing the item, switch tabs, and it is already done. There is no overnight job to wait for and no button to remember to press.
Products with options come across whole, which is the part most catalogue integrations get wrong. A phone in three colours and two storage sizes arrives as one Shopify product with all six variations, each carrying its own SKU, price and stock level. Price the blue 512GB separately in ERPNext and that is what the storefront charges for it, while the white 256GB keeps its own number. Sell out of one colour and only that colour goes unavailable.
It will not surprise you
An integration that acts on its own is worse than one that does nothing, so this one is deliberately conservative about anything a customer would see. Products OrderWeave creates arrive as drafts, because nobody has reviewed them and a tick box in your ERP is a poor reason for something to appear on a storefront. You look at it and publish it when you are happy.
The restraint runs both ways. If you hide a product in your Shopify admin, it stays hidden, while its price and stock carry on updating underneath. We will not hand a visibility decision back to your ERP after you have made it.
Existing products are the thing people worry about most, and reasonably so. If your store already has a catalogue, OrderWeave looks for each product before creating anything, matching on SKU first and then on the product handle. When it finds one it takes that product over, so you keep the page, the URL customers have bookmarked, the reviews and the sales history. Photos already on the product stay where they are, even though Shopify renames image files when it stores them.
And when it genuinely cannot tell whether a product is already there, because Shopify did not answer, it stops and tries again rather than assuming. A duplicate on a live storefront costs more to clean up than a sync that waits a minute.
Your categories and collections come with it
The item groups you already use in ERPNext become collections on your store, created on the first sync. Products land in the right place without you building a second category tree by hand.
Tags handle the groups that cut across categories, and this is where Shopify is genuinely better
than the alternatives. Tag an item collection:clearance in ERPNext and OrderWeave creates a
Clearance collection on your store with the rule already in place. Every product carrying that tag
joins it, including ones you tagged before the collection existed, so switching it on tidies up a
catalogue you had already labelled. Take the tag off and the product leaves. You set nothing up and
maintain nothing afterwards, because Shopify works the membership out from the rule rather than
from a list we push at it.
Tags you add yourself in Shopify are left alone through all of this. We keep track of the ones we wrote and only remove those, so your own labels survive. Between that and the categories above, a seasonal range or a sale group ends up being something you manage from the item you were editing anyway, rather than a second filing system to keep in your head.
Two things to know before you connect
The first is a trap worth five minutes of your time. We send your price exactly as it stands in ERPNext, and Shopify reads every price it receives as being in the store’s own currency, because there is nowhere on a Shopify product to say otherwise. So an item priced at 3,900 shillings, synced into a store configured in dollars, goes up as $3,900. Nothing warns you and the storefront looks perfectly normal. Check your store currency in Shopify under Settings, then Store details, and make sure it matches the price list you are syncing. If you sell in several currencies, give each store its own price list rather than hoping something converts.
The second is a limit rather than a trap, and it is where we have got to so far. This keeps your Shopify catalogue up to date, and it does not yet bring Shopify orders back into ERPNext, so a Shopify sale will not reduce your ERP stock on its own. Order sync already works the other way round on WooCommerce, where a sale becomes a Sales Order in ERPNext with the customer attached, and Shopify is the next one we are building.
Getting connected
It takes about ten minutes, and most of that is Shopify’s permission screen.
- In OrderWeave, go to Settings, then E-commerce Sites, and select Connect Shopify.
- Enter your
.myshopify.comaddress. If customers visitshop.acme.com, that is not the one. You will find it in Shopify under Settings, then Domains. It is the address you cannot remove. - Approve the permissions in your Shopify admin. We never see your Shopify password. Shopify hands us a key for that one store, and you can withdraw it whenever you like.
- Choose which products go to the store, and watch the first one arrive.
After that it runs without you. The next time a supplier changes their prices, you will update ERPNext and then catch yourself about to open Shopify out of habit.
Already running OrderWeave with WooCommerce or MedusaJS? The same ERPNext item can feed all of them at once, so adding Shopify does not mean maintaining a second catalogue.
See pricing or talk to us about your setup.



