# Products and Pricing Scenarios This page describes common integration scenarios for products and pricing between Norce Commerce and external systems such as ERP, OMS, PDM, WMS or others. ## Scenario 1: Norce as Product Master **Overview:** In this scenario, Norce Commerce is the master system for the product catalog. Products are created or updated in Norce and then synchronized to the ERP system. **Process Diagram:** *Image: Norce Product master process. The diagram shows Norce Commerce as the source of product data, sending updates to the ERP system and receiving stock updates in return.* ![Norce Product master process](/assets/productintegration-1.c955c1e31a36c86b3d8de78d51905213369c7094b461236faf4e3d329fc31569.003e135d.png) **Integration Steps:** 1. **Product Creation in Norce Commerce** - Products are created in Norce Commerce, either automatically (by rules) or manually (by an admin). - When a product is created, an integration is triggered to send relevant information to the ERP system: - **Product Identifier** (`PartNo`) and short name (should become the product identifier in the ERP) - **Manufacturer Information** (`Code`, `PartNo`) - **Category Code** (for classification and default settings in ERP) - **Type** (only relevant product types are integrated; e.g., virtual products like `ManagedStructure` are usually excluded) - **Status** (new products are set to `Coming`) - **Standard price** (default price for the product) - On product updates, only fields relevant to the ERP are checked and, if changed, sent for update. 2. **Warehouse and Stock Updates** - After products are added to the ERP, they are available for warehouse processes. - When stock values change, an integration updates stock values and unit cost in Norce Commerce: - **Product Identifier** - **Warehouse and Location Identifier(s)** - **OnHandValue** - **IncomingValue** (optional) - **NextDeliveryDate** (optional) - Only physical products are updated with stock values; virtual, service, or fee products are excluded. 3. **Price Management** - Prices are maintained in Norce Commerce. - The standard price list calculates the standard price for all active products, typically based on unit cost. - The calculated sale price is sent to the ERP as part of product creation and update messages. - Other price lists (e.g., campaigns, member prices) are not sent to the ERP unless used on actual order rows. 4. **Product Enrichment and Activation** - Products are enriched with content in Norce Commerce for frontend presentation. - Once enriched, the product status is changed to `Active` (done manually in the Admin UI). 5. **Product Expiry** - When products can no longer be manufactured or bought, the ERP marks them as expired. - An integration is triggered to update the product status in Norce Commerce: - **Product Identifier** - **Status** (`Expiring`) - Norce tracks expiring products and closes them when stock is depleted. ## Scenario 2: ERP as Product Master **Overview:** In this scenario, the ERP system is the master for the product catalog and standard sale price. Products are created in the ERP and synchronized to Norce Commerce. **Process Diagram:** *Image: ERP master process. The diagram shows the ERP as the source of product data, sending updates to Norce Commerce and receiving stock and content updates in return.* ![ERP master process](/assets/productintegration-2.d018ca6b2ab5c188bf350c6258ddf3be0f4fe9d90e15fcbffda3f476ff10d6b9.003e135d.png) **Integration Steps:** 1. **Product Creation in ERP** - Products are created in the ERP system. - When a product is created, an integration sends the following to Norce Commerce: - **Product Identifier** (`PartNo`) and short name - **Manufacturer Information** (`Code`, `PartNo`) - **Category Code** - **Type** - **Status** (`Coming`) - **Standard price** - **Unit cost** 2. **Warehouse and Stock Updates** - After products are added to Norce Commerce, they are available for warehouse processes. - When stock values change, an integration updates stock values in Norce Commerce: - **Product Identifier** (`PartNo`) - **Warehouse and Location Identifier(s)** - **OnHandValue** - **IncomingValue** (optional) - **NextDeliveryDate** (optional) - Only physical products are updated with stock values. - When standard prices change in the ERP, sale price and unit cost are updated in Norce Commerce. 3. **Product Enrichment and Activation** - Products are enriched with content in Norce Commerce for frontend presentation. - Once enriched, the product status is changed to `Active` (done manually in the Admin UI). 4. **Product Expiry** - When products can no longer be manufactured or bought, the ERP marks them as expiring. - An integration is triggered to update the product status in Norce Commerce: - **Product Identifier** - **Status** (`Expiring`) - Norce tracks outgoing products and closes them when stock is depleted. ## Variations and Customizations Norce Commerce supports flexible integration patterns. Here are some common variations: - **Existing PIM Integration:** Use Norce Commerce Connect to import data from multiple systems. Add logic in the header to distinguish product sources. - **Custom ERP Fields or Logic:** Add custom fields and business logic in the import process to Norce Commerce Connect. - **Stock Information from Other Systems (e.g., POS):** Allow different source systems to update different warehouses or locations. See POS adapters in Norce Commerce or the Norce partner community. - **3rd Party Content Integration (e.g., DAM):** Use Norce Commerce Connect to import content from external sources. ## Further Reading For more details and technical examples, see: - [Product and pricing integrations](/developer-portal/system-integration/products-and-pricing-integrations) - .NET Code examples: - [Jobs](/developer-portal/system-integration/job-check-examples) - [Product](/developer-portal/system-integration/product-integration-examples) - Postman [examples](https://documenter.getpostman.com/view/2973406/2sA35MzJve#72729e05-e755-466a-bbfe-84dc8e82eac5) - [System integration patterns](/developer-portal/system-integration/system-integration-patterns) - [Calling Norce Commerce Connect](/developer-portal/system-integration/calling-norce-commerce-connect) - [Calling Norce Commerce Query](/developer-portal/system-integration/calling-norce-commerce-query) - [Using Norce Commerce Event](/developer-portal/system-integration/using-norceevent)