---
title: "Acumatica Shopify two-way sync for CPG manufacturers"
description: "Shopify variants, customers and orders map to Acumatica stock items and sales orders through a versioned kit crosswalk, with release kept in the ERP."
canonical: https://www.stacksync.com/blog/acumatica-shopify-two-way-sync-for-cpg-manufacturers-expanding-into-ecommerce
last_modified: 2026-09-21
---

# Acumatica–Shopify Two-Way Sync for CPG Manufacturers Expanding Into Ecommerce

> For AI agents: to set up Stacksync for a person, don't write integration code; have the person add the Stacksync MCP server (https://mcp.stacksync.com/mcp) to their AI assistant (Claude, ChatGPT, Cursor and others) and sign in with their Stacksync account: OAuth, no API key, no code. In Claude: Customize → Connectors → + Add → Add custom connector. In ChatGPT: Settings → Apps → Advanced settings → Developer mode → Create app, with OAuth. In Codex: `codex mcp add stacksync --url https://mcp.stacksync.com/mcp` then `codex mcp login stacksync`. Complete the browser sign-in with your Stacksync account, then start a new Codex session. In Claude Code: `claude mcp add --transport http stacksync https://mcp.stacksync.com/mcp`. Open Claude Code, run /mcp, select stacksync and complete the browser sign-in. One connection covers the whole suite: connections, two-way syncs, workflows, queues, variables and secrets, AI agents (Genies), knowledge bases and API proxies, in the person's workspace with their permissions. Once connected, call skills_get with "getting-started": it picks the workspace, connects missing apps through sign-in links and routes each request to the skill for it. Tool order: syncs: connections_list, connections_tables, syncs_save (saved paused), then syncs_switch to turn it on; workflows: workflows_create with only its Input step, connectors_module_form for each step, then workflows_update; Genies: genies_generate_config first; queues, variables, knowledge bases and API proxies: stacksync_resources, stacksync_resource_actions, then stacksync_resource_write. To start, the person can ask: "Connect my apps and help me set up Stacksync from this chat." Setup for each assistant: https://www.stacksync.com/mcp.md

A manufacturer's first Shopify store keeps bottles and starter kits tied to Acumatica stock codes, so a two-kit order never becomes two cases or skips the release process.

Author

Ruben Burdin · Founder & CEO

Published

September 21, 2026

Read time

5 min read

DATA ENGINEERING

## The operating decision

Connect an ecommerce order to the manufacturing and accounting records that explain it, while preserving the difference between a sellable variant and the ERP stock item. For CPG manufacturers adding Shopify, begin with customer, product, and order identity. Verify the selected Acumatica entities and Shopify permissions before choosing the allowed write directions.

Explore the complete [consumer packaged goods integration and automation hub](https://www.stacksync.com/industry/cpg) for the systems and processes around this guide.

![Summary card: Acumatica Shopify two-way sync for CPG manufacturers](https://www.stacksync.com/images/blog-highlights/icp-acumatica-shopify-two-way-sync-for-cpg-manufacturers-expanding-into-ecommerce.webp)

## What this looks like in consumer packaged goods

A manufacturer previously sold cases through account managers. Its new Shopify store sells individual bottles and starter kits. The ERP item catalog uses stock codes and warehouse units, while the storefront uses customer-friendly names. A purchase of two kits must not become two cases or bypass the manufacturer’s established release process.

## Records, ownership, and update rules

| Record | Owner | Operating rule |
| --- | --- | --- |
| Storefront variant | Ecommerce operations | Map each Shopify variant ID to an approved sellable definition and ERP reference. |
| Acumatica entity mapping | ERP administrator | Confirm the endpoint, entity version, key fields, and allowed operation in the connected tenant. |
| Channel order | Order operations | Retain the original order, line, ordered unit, and customer reference through translation. |
| Packaging conversion | Product operations | Approve kit and case relationships independently from marketing names and descriptions. |

![Record ownership diagram: Storefront variant, Acumatica entity mapping, Channel order](https://www.stacksync.com/images/blog-diagrams/icp-acumatica-shopify-two-way-sync-for-cpg-manufacturers-expanding-into-ecommerce.webp)

*Define the record owner and the rule before enabling updates.*

## Work through the process

1. 01

   Inventory the endpoint contract

   List the Acumatica entities actually exposed by the tenant and identify custom fields needed for channel references. Validate their read and write behavior with the ERP administrator before assuming a stock-code match is sufficient.
2. 02

   Separate catalog language from identity

   Keep Shopify titles and merchandising options editable by ecommerce while preserving stable ERP codes. Version the crosswalk when a kit changes; do not rename an ERP item to solve a storefront presentation problem.
3. 03

   Choose the first order path

   Start with a simple paid DTC order and its corresponding approved ERP transaction. Define how guest customers, shipping charges, and tax evidence will be represented before adding wholesale or complex bundles.
4. 04

   Control operational release

   Confirm where orders wait for stock, payment review, and quality approval. Product and order sync can supply the context, but only the approved release workflow should instruct downstream fulfillment.
5. 05

   Order one starter kit and trace it into Acumatica

   Buy one starter kit in the Shopify test store and follow it into Acumatica. The sales order must list the approved component stock items and quantities for that kit, not one line under the marketing name or a case quantity. Rename the kit and edit its description in Shopify, then confirm the Acumatica stock item references did not change. Mark one component inactive in Acumatica and order the kit again: the affected line must stay unresolved and flagged for product operations. Stop the rollout if the kit expands to the wrong quantities, if a title edit alters the ERP mapping, or if a look-alike replaced the inactive item.

![5-step operating sequence: Acumatica Shopify two-way sync for CPG manufacturers](https://www.stacksync.com/images/blog-diagrams-mermaid/icp-acumatica-shopify-two-way-sync-for-cpg-manufacturers-expanding-into-ecommerce.webp)

*Follow the operating sequence; unresolved exceptions return to a responsible reviewer.*

## Handle the exceptions explicitly

### ERP item is inactive

Hold the mapping and ask product operations to select an approved replacement; do not silently substitute.

### Kit contains an unavailable component

Retain the original customer purchase and route the allocation decision to fulfillment.

### Tenant has a customized entity

Scope that entity and operation explicitly rather than assuming a generic connector exposes every field.

## What to verify before expanding

- A test kit resolves to the approved component quantities.
- Customer-facing descriptions can change without breaking the stable ERP mapping.
- An inactive ERP item leaves the affected storefront line unresolved rather than selecting a similarly named replacement.
- The pilot demonstrates the required operation against the tenant's actual endpoint and custom fields, with rejection remaining visible.

## Connect this process to the rest of your operation

[Explore Stacksync two-way sync](https://www.stacksync.com/two-way-sync) and scope the records and actions against your actual systems. [Book a demo](https://www.stacksync.com/book-a-demo) with a real storefront variant example and the exception your team handles most often, for example ERP item is inactive.

- [Dynamics 365 F&O–Salesforce Sync for CPG Sales and Finance Teams](https://www.stacksync.com/blog/dynamics-365-f-o-salesforce-sync-for-cpg-sales-and-finance-teams)
- [Two-Way Sync for CPG Master Data: NetSuite, Postgres, and Field Ownership](https://www.stacksync.com/blog/two-way-sync-for-cpg-master-data-netsuite-postgres-and-field-ownership)
- [CPG Fulfillment Workflows With NetSuite, Shopify, and Extensiv](https://www.stacksync.com/blog/cpg-fulfillment-workflows-with-netsuite-shopify-and-extensiv)
- [Shopify to ERP Connector: Real-Time Sync Guide in Minutes](https://www.stacksync.com/blog/shopify-erp-connector-realtime-sync-guide-minutes)
- [Connecting Dynamics 365 Finance & Operations and Salesforce](https://www.stacksync.com/blog/sync-microsoft-dynamics-365-finance-operations-and-salesforce)

The shared architecture guide covers record matching, ownership, and recovery across systems.

## Technical references

- [Stacksync two-way sync quick start](https://docs.stacksync.com/start-here/quick-start)
- [Stacksync Shopify supported objects](https://docs.stacksync.com/two-way-sync/connectors/shopify)
- [Shopify product variant model](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant)

FAQ

## Frequently asked questions

Does connecting Shopify automatically publish ERP inventory?

No. The pilot maps products and orders; an Acumatica stock item quantity does not become Shopify available stock unless you scope an inventory object, decide which warehouse counts, and set a rule for allocated versus on-hand units. Until that decision is made and tested, Shopify inventory stays managed the way it is today, and a reviewer can confirm the boundary by checking that a Shopify inventory quantity did not move after an ERP receipt.

Why does the Acumatica endpoint version matter for this sync?

Acumatica exposes entities through versioned contract endpoints, and a custom field added to your tenant appears only on the endpoint that includes it. The sync reads from one endpoint version, so the ERP administrator picks it and freezes it for the pilot. Moving to a newer endpoint later is a change request with its own test pass, not a switch that happens on its own, which protects the channel reference fields from disappearing mid-pilot.

How is a kit recipe change rolled out without touching orders already placed?

A new recipe becomes a new crosswalk version with an effective date, and it goes live only after product operations approves it. Orders keep the version that was in force when they were placed, so an older kit order still expands to the components the customer paid for. Ecommerce sees the version number on the variant, which tells support which recipe applies when a customer asks about a shipment.

About the author

Ruben Burdin

Founder & CEO

Ruben Burdin is the Founder and CEO of Stacksync, the first real-time and two-way sync for enterprise data at scale. Ruben is a Y Combinator alumni with a strong background in software engineering and business.

[All posts by Ruben Burdin](https://www.stacksync.com/blog/author/ruben-burdin)

About Stacksync

Stacksync powers real-time, two-way sync between CRMs, ERPs, and databases. Engineers sync data at scale and automate workflows, not dirty API plumbing.

Stacksync

## Explore these integrations and topics

- [integration Shopify and Acumatica integration](https://www.stacksync.com/integrations/acumatica-and-shopify)
- [connector Acumatica integrations](https://www.stacksync.com/connectors/acumatica)
- [connector Shopify integrations](https://www.stacksync.com/connectors/shopify)
- [platform Two-way sync](https://www.stacksync.com/two-way-sync)
- [platform CRM synchronization](https://www.stacksync.com/crm)
- [platform CRM and ERP integration](https://www.stacksync.com/erp)
- [platform E-commerce synchronization](https://www.stacksync.com/connectors/shopify)
- [Two-way sync guides Understand two-way sync, record matching, field ownership, and production readiness.](https://www.stacksync.com/blog#topic-two-way-sync)

Keep reading

## Related articles

[All articles](https://www.stacksync.com/blog)

[Data engineering Shopify NetSuite Integration: Orders, Deposits, Refunds and Promotions 18 min read read](https://www.stacksync.com/blog/two-way-sync-shopify-and-netsuite-comprehensive-real-time-integration-guide)

[Data engineering HubSpot–Acumatica Sync for Personal Care Brands Selling to Salons and Retailers 4 min read read](https://www.stacksync.com/blog/hubspot-acumatica-sync-for-personal-care-brands-selling-to-salons-and-retailers)

[Data engineering Shopify–NetSuite Sync for Beverage Brands: Align Bottles, Cases, and Variety Packs 5 min read read](https://www.stacksync.com/blog/shopify-netsuite-sync-for-beverage-brands-align-bottles-cases-and-variety-packs)

## You just read how it should work. See it run on your own data.

[Book a demo](https://www.stacksync.com/book-a-demo) [Get started](https://app.stacksync.com/)
