Source ERP · 16 of 24

CRMPro → Shopify — Sage 100 2017: what the shipped templates set up

This is the capability summary the dlake CLI repository publishes; whitelisted customers fetch the operational skill with "dlake admin get_skill dlake-crmpro-shopify/erps/sage-100-2017". It extends the dlake-crmpro-shopify skill, which holds what is true whatever the source ERP. Both directions for this pair are summarised at /integrations/sage-100-2017-shopify/.

CRMPro → Shopify — Sage 100 2017: what the shipped templates set up

This is a capability summary, not an operating guide. To receive the operational skill you must be a registered, whitelisted Commercient customer. Whitelisted customers fetch it with dlake admin get_skill dlake-crmpro-shopify/erps/sage-100-2017 (or list_skills) against the Commercient admin plane. Existing customers who need access or help: contact support@commercient.com. New customers: contact sales@commercient.com to become a customer and be whitelisted.

dlake-crmpro is the parent skill and the authority for everything general: the CRMPro tools, process configuration and field list, the sync history, how source data is selected, and what a run that finds nothing does. Read it first; this page does not repeat it. dlake-crmpro-shopify is the destination skill this page is a child of, and the authority for the Shopify conventions that hold across every ERP: read it first, then come back here for what this source’s own templates set. This page grows as the catalogue does.

1. What the templates deliver

GroupBusiness outcomeObjectsSource tables and views
Create CustomerThe templates push Customer to Shopify.Customercustomers
Create Customer AddressThe templates push Customer address to Shopify.Customer addresscountries, customers
Create ProductThe templates push Product object to Shopify.Product objectitems
Create OrderThe templates push Order to Shopify.Ordercountries, sales order headers, customers, sales order history headers
Create Order Shipping AddressThe templates push Order shipping address to Shopify.Order shipping addresscountries, sales order headers, customers, sales order history headers
Create Order Billing AddressThe templates push Order billing address to Shopify.Order billing addresscountries, sales order headers, customers, sales order history headers
Create Order Line ItemThe templates push Order line item to Shopify.Order line itemcountries, sales order headers, customers, sales order lines, sales order history lines, sales order history headers
CustomerThe templates push Customer to Shopify. Records are created once; they are not updated and none are deleted.Customercustomers
Customer AddressThe templates push Customer address to Shopify. Records are created once; they are not updated and none are deleted.Customer addresscustomers
Product objectThe templates push Product object to Shopify. Records are created once; they are not updated and none are deleted.Product objectitems
Product object updateThe templates push Product quantity, Product price to Shopify. Existing records are updated only — nothing is created and nothing is deleted.Product quantity, Product priceitems, Shopify product variants (mirrored), Shopify inventory levels (mirrored)

2. The process rows the templates create

Each template’s setup writes one process configuration row. These are the values it sets; a column the inserts never set is not listed.

Display nameDestination objectRun sequence
Create CustomerCustomer1
Create CustomerCustomer1
Create ProductProduct object1
Update QuantityProduct quantity1
Update PriceProduct price1
Create Customer AddressCustomer address2
Customer addressCustomer address2
Create ProductProduct object3
Create OrderOrder5
Create Order Shipping AddressOrder shipping address6
Create Order Billing AddressOrder billing address7
Create Order Line ItemOrder line item8

Every one of these inserts the active setting as 0, so an imported process is inactive until an operator activates it.

3. The views

“Change detection” names which of the three kinds dlake-crmpro defines the view’s own filter makes it; where a view’s shape is not one of those three the column is left empty and the view’s own filter is the authority.

ViewChange detectionSource tables
new customer feedinsert onlycustomers
new customer feedinsert onlycustomers
new product feedinsert onlyitems
product quantity update feed—items, Shopify product variants (mirrored), Shopify inventory levels (mirrored)
product price update feed—items, Shopify product variants (mirrored)
new customer address feedinsert onlycountries, customers
new customer address feedinsert onlycustomers
new item feedinsert onlyitems
new order feedinsert onlycountries, sales order headers, customers, sales order history headers
new order shipping address feedinsert onlycountries, sales order headers, customers, sales order history headers
new order billing address feedinsert onlycountries, sales order headers, customers, sales order history headers
new order billing address feedinsert onlycountries, sales order headers, customers, sales order lines, sales order history lines

4. Order of work

The templates set run sequence to 1, 2, 3, 5, 6, 7, 8. A run processes active rows in ascending run sequence, which is the order the templates put them in:

  • 1 — Create Customer, Create Product, Update Quantity, Update Price
  • 2 — Create Customer Address, Customer address
  • 3 — Create Product
  • 5 — Create Order
  • 6 — Create Order Shipping Address
  • 7 — Create Order Billing Address
  • 8 — Create Order Line Item

Several of these rows share a run sequence value: each template group carries its own numbering, so give the imported processes an order across the whole set rather than taking the template values as one.

These views read another process’s sync output, which is what makes the order a dependency order: the row appears in the view only once the process that writes that sync output has run, so a parent flows on one run and its children on the next.

  • new customer address feed reads new customer sync output
  • new order feed reads new customer sync output
  • new order shipping address feed reads new order sync output
  • new order billing address feed reads new order sync output
  • new order billing address feed reads new order sync output, new order billing address sync output, new item sync output, new item variant sync output; no template in this set writes new item variant sync output
  • new customer address feed reads new customer sync output

5. Field mapping

Each template carries its intended mapping in field mapping.

TemplateObjectMapped fieldsFirst ERP → Shopify pairs
Create CustomerCustomer11AR division number, Customer number → record key, AR division number, Customer number → description, AR division number, Customer number → ERP code, Email address → Email, Customer name → Given name
Create CustomerCustomer10record key → record key, description → description, ERP code → ERP code, Email → Email, Given name → Given name
Create ProductProduct object6Item description → Title, Item description → Product body text, Item code → record key, Item code → Stock keeping unit, Standard unit price → Price
Update QuantityProduct quantity4Total quantity on hand → Inventory quantity, product variant identifier → Id, Inventory quantity → Previous quantity, Location identifier → Location identifier
Update PriceProduct price2Standard unit price → Price, product variant identifier → product variant identifier
Create Customer AddressCustomer address12Address line 1 → Address 1, Address line 2 → Address 2, City → City, Country name → Country, Country code → Country code
Customer addressCustomer address18AR division number,Customer number → record key, AR division number,Customer number → description, AR division number,Customer number → ERP code, Address line 1 → Address 1, Address line 2 → Address 2
Create ProductProduct object9Item code → record key, Item code → name, Item description → description, Item product type → Item product type, Date created → Published date
Create OrderOrder34Sales order number, AR division number → record key, Ship expire date → Closed date, Order date → Created date, Sales order number → Order number, AR division number → Number
Create Order Shipping AddressOrder shipping address13Ship to address line 1 → Address 1, Ship to address line 2 → Address 2, Shipping city → City, Shipping country code → Country, Shipping country code → Country code
Create Order Billing AddressOrder billing address14Bill to address line 1 → Address 1, Bill to address line 2 → Address 2, Bill to city → City, Bill to country code → Country, Bill to country code → Country code
Create Order Line ItemOrder line item9Unit price → Price, Quantity ordered → Quantity, Item code → Name, Item code → Title, the linked Salesforce record → product identifier

6. Verifying

The detail of this section is part of the operational skill. Whitelisted customers fetch it with dlake admin get_skill dlake-crmpro-shopify/erps/sage-100-2017.

7. Where this sits

dlake-crmpro is the general operating surface — the CRMPro tools, the setup and transaction tables, field mapping, and the source view contract that applies to every destination. This page adds what the shipped Sage 100 2017 → Shopify templates set up. dlake-crmpro-shopify is the destination skill this page sits under: its own text is the authority for the Shopify conventions that hold across every ERP, and its ERP table lists this page alongside every sibling ERP page for this destination. For the extract leg that fills the source data, see dlake-normalsync; for the on-premises agent that runs it, dlake-syncagent; for the writeback leg, dlake-txdownloaderpro; for standing an integration up, dlake-integration-setup.

How to get started

  • Already a customer: the operational skill tells you how to connect, choose what to sync and run it. Fetch it with dlake admin get_skill dlake-crmpro-shopify/erps/sage-100-2017, or ask support@commercient.com.
  • New to Commercient: contact sales@commercient.com. Becoming a customer includes registration and whitelisting, after which the operational skills and tools are available to you.