Shopify integrations earn their keep when every channel draws on the same stock count and every order reaches the books once: the web store, the Square register at a market stall, the wholesale buyer who emails a PDF and the ERP that bills them. Decide which system owns each fact first, then connect the rest to it.
The money leaks in the gaps. A product sells out at the counter but stays live online for an afternoon, so you refund a customer. A wholesale order gets keyed into Shopify, then again into the accounting system, and one copy has the wrong quantity.
Below: Square POS, ERPs such as NetSuite, SAP, Odoo and Zoho, retailer EDI, Google Sheets and CRMs, how Benian builds the gaps with Shopify Flow and the Shopify Admin API, and when an app store connector is all you need.
Where Shopify data breaks across channels
Two systems both think they own stock
Square and Shopify each adjust the count and each push it to the other. When two sales land close together, the last write wins and the count drifts until someone does a manual recount.
Wholesale orders typed twice
A retail buyer emails a purchase order. Someone enters it in Shopify to reserve stock, then again in the ERP or accounting tool to invoice it. Quantities and prices drift between the copies.
POS sales that never reach the books
In-person sales settle in the POS but post to accounting as one lump deposit, so revenue by product and channel is wrong and margin reports cannot be trusted.
SKUs that do not match
The ERP uses one item code, Shopify a variant SKU, the spreadsheet a product name. The mapping table between them is usually what breaks.
Inventory: one source of truth across Shopify, POS and wholesale
Every reliable inventory setup starts with one decision: which system holds the true count. For a store that sells mostly online, that is usually Shopify. For a business with a warehouse, purchasing and wholesale accounts, it is usually the ERP or inventory system, and Shopify becomes a sales channel that receives available quantity rather than calculating it.
Once the owner is set, other systems send sales to the owner and receive available stock back. They do not overwrite the count directly. This one rule removes most oversells, because two systems are no longer racing to write the same number.
Hold back a safety buffer on fast sellers and reserve wholesale allocations before they show online. On a mismatch, we flag it for a person rather than letting a script pick a winner, because a wrong automatic correction is harder to undo than a late one.
Shopify and Square integration for in-person sales
Sellers who integrate Square with Shopify usually started on Square at a counter or market, then added an online store. Both have APIs for inventory and orders, and app store connectors sync items, stock and orders between them. First ask whether you need two systems at all: moving the counter to Shopify POS removes the sync. If Square stays, the integration has three jobs.
First, match catalog items one to one by SKU, including variants. Second, send each sale as a stock change to the system that owns inventory, close to real time, and have the owner publish the new available count back. Third, send each day's POS sales into accounting by product and channel, not as one deposit. Before go live, test counter refunds, cross-channel exchanges and items that exist only in Square.
ERP integration: NetSuite, SAP, Odoo and Zoho
An ERP connection is where Shopify integrations get serious. Orders, customers and payouts usually flow from Shopify to the ERP. Products, prices and available stock flow back, and fulfillment and tracking return to Shopify so the customer gets the shipping email.
NetSuite and SAP have established connectors and integration partners. Odoo is open source, can be self-hosted, and has Shopify connector modules of varying quality. Zoho's inventory and finance products connect to Shopify through their own integrations or marketplace connectors. Start with the vendor's or a well-reviewed connector. Connectors tend to stall on the same few things: bundles and kits, multi-location stock, tax, discounts split across lines, and B2B price lists.
Benian builds what the connector misses, with workflow automation on the Shopify Admin API and the ERP's API, in an account your business owns, plus a daily report comparing orders, payouts and stock across both systems. That report is usually what makes finance trust the sync.
EDI for Shopify and retailer orders
Large retailers send orders through EDI, a set of standard electronic documents: a purchase order, an acknowledgment, an advance ship notice and an invoice. Shopify does not speak EDI natively, so sellers use an EDI provider that translates those documents and connects to Shopify or the ERP.
The provider handles the format. The rest is yours: map retailer item codes to your SKUs, follow each retailer's routing and labeling rules, and send ship notices on time, because many retailers charge back for late or wrong ones. We connect the provider to Shopify or the ERP, reserve stock when a purchase order lands, and alert a person when a document fails.
Google Sheets to Shopify: a bridge, then retire it
Spreadsheets are a reasonable first step. A Google Sheets Shopify integration can push price changes, update product fields from a supplier sheet, or pull daily orders into a tab for a buyer who lives in Sheets. Shopify's own CSV import does the bulk version of this for product data.
The risk is that the sheet quietly becomes the system of record: one bad formula changes a thousand prices. Keep the sheet writing to a review tab, validate every row before it reaches Shopify and log each change. When three people edit it daily, move that data into the ERP or a database.
Shopify Flow, an app or a custom Shopify API integration
Pick the lightest tool that holds up under your volume and your exceptions.
- Shopify Flow: Shopify's built-in automation tool for workflows inside the store, such as tagging high-risk orders, hiding out-of-stock products or alerting staff. Use it first for anything that starts and ends in Shopify.
- An app store connector: right when it covers your exact systems, your catalog shape and your order types. Test it on a copy of real orders, including refunds and bundles, before trusting it.
- A custom Shopify API integration: right when the logic is specific to your business, such as wholesale allocation rules or a niche ERP. It needs an owner, so build only the gap the app leaves.
- A CRM integration with Shopify: send customers, orders and lifetime value to the CRM, with one system owning each contact field.
Monitoring syncs and catching oversells
Every integration we build logs each run, retries failures that are safe to retry, and alerts a named person when something needs judgment, such as an unmapped SKU or a negative stock count. An expired token should page someone, not wait for an angry customer.
Track weekly: oversell refunds, orders entered by hand, stock mismatches and the age of the oldest failed sync. If those are not falling, the integration is not finished.
When not to hire Benian
If you sell on one channel with a few dozen SKUs, Shopify alone is enough. If a well-reviewed app already connects your two systems and your orders are simple, install it. If you need a theme, store design or ads, that is not our work.
We are useful when orders cross three or more systems, when wholesale and retail share stock, or when finance cannot reconcile Shopify to the books. VOT Distribution, a multi-brand distributor running several storefronts and a wholesale operation, has that multi-channel shape. Our work there covers outbound campaigns, two AI storefront assistants and content automation, not the connectors named on this page. The linked case study carries its client-reported figures.
How a Shopify integration project runs
- Map the flows. List every channel, system and person that touches products, stock, orders and payouts, and where data is typed by hand.
- Set ownership. Decide which system owns each fact: stock, price, product content, customer and order status. Write it down.
- Build the gap. Build the remaining syncs on the Shopify Admin API and your other systems' APIs, in accounts you own, with credentials you hold.
- Reconcile and alert. Add a daily report comparing orders, payouts and stock across systems, plus alerts to a named person for exceptions.
- Hand over. Document each flow, its owner and what to do when it fails, so your team or any developer can run it.