Skip to content

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

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
Read time
5 min read
Acumatica–Shopify Two-Way Sync for CPG Manufacturers Expanding Into Ecommerce
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 for the systems and processes around this guide.

Summary card: Acumatica Shopify two-way sync for CPG manufacturers

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

RecordOwnerOperating rule
Storefront variantEcommerce operationsMap each Shopify variant ID to an approved sellable definition and ERP reference.
Acumatica entity mappingERP administratorConfirm the endpoint, entity version, key fields, and allowed operation in the connected tenant.
Channel orderOrder operationsRetain the original order, line, ordered unit, and customer reference through translation.
Packaging conversionProduct operationsApprove kit and case relationships independently from marketing names and descriptions.
Record ownership diagram: Storefront variant, Acumatica entity mapping, Channel order
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
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.
Book a demo for consumer packaged goods integration and automation

Connect this process to the rest of your operation

Explore Stacksync two-way sync and scope the records and actions against your actual systems. Book a demo with a real storefront variant example and the exception your team handles most often, for example ERP item is inactive.

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

Technical references

Book a demo for consumer packaged goods integration and automation

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

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.

Coworkers laughing in front of a laptop in a casual office setting

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