This page is the canonical cross-domain overview for assigning data ownership across a commercetools solution. Assign one authoritative writer to each domain and treat synchronized copies in other systems as read-only replicas. The ownership choices below are common defaults, not mandatory architecture. Use the linked guides to validate each choice and design its implementation.
| Data domain | Typical owner | Direction | Canonical guide |
|---|---|---|---|
| Core product data | PIM, or ERP when no PIM exists | External system to commercetools | Integrate product data |
| Product content | PIM | PIM to commercetools | Integrate product data |
| Categories | PIM | PIM to commercetools | Integrate product data |
| Media | PIM or DAM | External system to commercetools | Integrate product data |
| List and base Prices | ERP | ERP to commercetools | Integrate product data |
| Contract and customer-specific Prices | ERP | ERP to commercetools | Integrate ERP |
| Inventory | System that owns Orders | Usually OMS or ERP to commercetools | Integrate an order management system |
| Customer profile | CRM, or commercetools when no CRM masters it | Varies | Integrate a CRM |
| B2B accounts | ERP, or commercetools when no ERP exists | Usually ERP to commercetools | Integrate ERP |
| Order capture and contents | commercetools | commercetools to OMS or ERP | Integrate an order management system |
| Order fulfillment lifecycle | OMS, or ERP when it owns the Order lifecycle | OMS or ERP to commercetools | Integrate an order management system |
| Invoices and financial documents | ERP | References or summaries to commercetools as needed | Integrate ERP |
| Tax | Tax service, ERP, or commercetools | Synchronous calculation and asynchronous recording | Integrate tax |
| Promotions | commercetools or an external promotion engine | Varies | Integrate a promotion or loyalty engine |
| Payment | PSP for the financial outcome and commercetools for the Payment representation | Bidirectional | Integrate a payment service provider |
| Search | commercetools for the catalog and external engine for its index | commercetools to the search engine | Integrate external search |
| Shipping | commercetools, a carrier service, or OMS, depending on the flow | Varies | Integrate a shipping carrier or rate service |
| External email service provider | commercetools events to the provider | Integrate transactional email |
Customer
Separate Customer profiles from B2B account data. A CRM commonly owns profile and contact data, while commercetools can own the profile when no CRM masters it. Even when another system owns the profile, a Customer must exist in commercetools for permissions, Cart and Order assignment, and personalized promotions. For ownership and synchronization decisions, see Integrate a CRM.
In B2B implementations, an ERP commonly owns account hierarchies, credit limits, and payment terms. Replicate the account structure to Business Units as needed. A Business Unit requires
name, unitType, and key. Its status is optional and defaults to Active. For account-data integration, see Integrate ERP.To reference the corresponding customer record in the other system, use the
externalId field of the Customer resource. To replicate data with no equivalent field, store it in Custom Fields.Order
commercetools owns Order capture and contents at checkout. After capture, an OMS or ERP typically owns the fulfillment lifecycle, including status, shipments, cancellations, and returns, and replicates relevant updates to commercetools. When no OMS or ERP owns that lifecycle, commercetools can remain the authoritative writer. For the handoff and update boundaries, see Integrate an order management system.
Inventory
Inventory usually follows the system that owns the Order lifecycle, such as an OMS or ERP. Stock level notifications can emit Messages at configured thresholds and trigger asynchronous workflows. commercetools does not call an external inventory master before Order creation.
When commercetools owns the Order lifecycle, it can also own Inventory. Tracking Inventory in commercetools remains optional when an external system manages stock or the business does not need platform-side tracking. For synchronization and reconciliation decisions, see Integrate an order management system.
Product data
Assign ownership separately for core product data, product content, Categories, and media. A PIM typically owns core data, content, and Categories, while a digital asset management system can own media. An ERP can own core data when no PIM exists. Synchronize only the data needed by commercetools and keep each replica read-only for externally owned fields. For the complete ownership model, see Integrate product data.
Pricing
An ERP typically owns list and base Prices as well as contract and customer-specific Prices. Replicate the Prices needed for storefront selection into commercetools. See Integrate product data for list and base Prices and Integrate ERP for contract and customer-specific Prices.
A configure, price, quote (CPQ) system owns configuration and quotation workflows, not the underlying Price master. For quotation boundaries, see Integrate CPQ.
Financial data
The ERP is authoritative for invoices, credit notes, and other financial documents. Replicate only the references or summaries needed by the storefront or Merchant Center. For reconciliation and account-data patterns, see Integrate ERP.
Promotions
Promotions can use one of two ownership models. commercetools can own native Discounts, or an external promotion engine can own campaign rules, coupon inventory, and loyalty balances for the Carts assigned to it. Do not assign both systems as writers for the same discount domain. For the ownership boundary, see Integrate a promotion or loyalty engine.
Tax
Tax has no universal owner. commercetools can calculate tax from configured Tax Categories and Tax Rates, while an external tax service can calculate jurisdiction-specific rates or amounts and record transactions. An ERP can own tax data in some architectures. For calculation modes and lifecycle boundaries, see Integrate tax.
Payment
A payment service provider (PSP) is authoritative for the financial outcome. The commercetools Payment is the commerce representation of that outcome and must be updated from verified provider events. Ownership of the Payment resource depends on the selected Checkout or Connector path. For these boundaries, see Integrate a payment service provider.
Search
Product Search is integrated by default.
For merchandising or advanced search features, you may need to integrate a specialized search provider. Visit the Integration Marketplace for integration offerings, or build your own with the Integrate external search guide.
Shipping
commercetools owns native Shipping Methods, Zones, predicates, and configured rates. A carrier or rate service owns live quotes when checkout requires external rates. An OMS owns fulfillment, labels, and tracking when it books shipments. For the boundary between these flows, see Integrate a shipping carrier or rate service.
Customer and Order events in commercetools trigger asynchronous workflows, while an external email service provider delivers transactional messages. For event selection, delivery, and recovery boundaries, see Integrate transactional email.