Source ERP · 63 of 105

CRMPro → Salesforce — NetSuite: 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-salesforce/erps/netsuite". It extends the dlake-crmpro-salesforce skill, which holds what is true whatever the source ERP. Both directions for this pair are summarised at /integrations/netsuite-salesforce/.

CRMPro → Salesforce — NetSuite: 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-salesforce/erps/netsuite (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-salesforce is the destination skill this page is a child of, and the authority for the Salesforce 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
GET USERThe templates push users to Salesforce. New records are created, existing ones updated, and records removed in the ERP are deleted.users—
AccountIn addition to creating the Account record from your ERP customer records, Commercient syncs over the entire Accounting AR Customer record into a Commercient AR Customer object which is a Managed Custom Object (MCO). A lookup field is provided to lookup to the default AR Customer record MCO from the Account record. New records are created, existing ones updated, and records removed in the ERP are deleted.Account, Contact, Commercient NetSuite Customers Managed Custom Object, Commercient NetSuite Salesperson Managed Custom Objectcustomers, customer address book entries, contacts, employees
Customer Multi Ship AddressesIf you are using multiple ship to addresses for a given AR Customer in your ERP system then you will be able to see all the addresses inside the CRM Account screen in a Commercient Multi Ship To Address MCO related list. New records are created and existing ones updated; none are deleted.Commercient NetSuite Customer Address Book Managed Custom Objectcustomer address book entries, customers
ProductERP Item, Inventory item, Assembly item data becomes Commercient NetSuite Item Managed Custom Object, Commercient NetSuite Warehouse Managed Custom Object, Product in Salesforce. New records are created and existing ones updated; none are deleted.Commercient NetSuite Item Managed Custom Object, Commercient NetSuite Warehouse Managed Custom Object, Productitems, inventory items
InvoiceBoth Open and Historical invoices are synchronized. Open invoice changes, such as a balance change, or a terms change are reflected in the CRM as they sync based on the frequency of the sync you have chosen (every hour, for example). New records are created and existing ones updated; none are deleted.Commercient NetSuite Invoice Managed Custom Object, Commercient NetSuite Invoice Item Managed Custom Objectinvoices, invoice items
PricebookERP Price list, Assembly item, Non inventory resale item data becomes Price book object, Price book entry in Salesforce. New records are created and existing ones updated; none are deleted.Price book object, Price book entryprice lists
Sales orderCommercient will sync the Sales Orders from the ERP Sales Order Entry module to the Commercient Sales Order Header (MCO) objects in CRM. In the CRM, customer service and sales people can visualize the status of the order such as on hold, backorder, forward order, scheduled for delivery, whether it has shipped, and completion status. New records are created and existing ones updated; none are deleted.Commercient NetSuite Sales Order Managed Custom Object, Commercient NetSuite Sales Order Item Managed Custom Objectsales orders, sales order items

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 objectMatching keyRun sequence
GET USERusers—0
AccountAccountCommercient AR customer code1
NetSuite SalespersonCommercient NetSuite Salesperson Managed Custom ObjectCommercient external key (NetSuite package)1
Account-ChildAccountCommercient AR customer code2
CustomerCommercient NetSuite Customers Managed Custom ObjectCommercient external key (NetSuite package)3
Customer To Account Reverse LookupAccountCommercient AR customer code4
Customer Address BookCommercient NetSuite Customer Address Book Managed Custom ObjectCommercient external key (NetSuite package)5
Sales orderCommercient NetSuite Sales Order Managed Custom ObjectCommercient external key (NetSuite package)6
Sales order LineCommercient NetSuite Sales Order Item Managed Custom ObjectCommercient external key (NetSuite package)7
InvoiceCommercient NetSuite Invoice Managed Custom ObjectCommercient external key (NetSuite package)8
Invoice LineCommercient NetSuite Invoice Item Managed Custom ObjectCommercient external key (NetSuite package)9
ContactContactExternal key (custom field)10
ItemCommercient NetSuite Item Managed Custom ObjectCommercient external key (NetSuite package)11
ProductProductCommercient external key (earlier package)12
Product to item reverse lookupCommercient NetSuite Item Managed Custom ObjectCommercient external key (NetSuite package)13
Item WarehouseCommercient NetSuite Warehouse Managed Custom ObjectCommercient external key (NetSuite package)14
Price book objectPrice book objectExternal key (custom field)14
Create Standard Price BookPrice book entryExternal key (custom field)15
Update Standard Price BookPrice book entryExternal key (custom field)16

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
account feedinsert + updatecustomers, customer address book entries
salesperson feedinsert + updateemployees
child account feedinsert + updatecustomers, customer address book entries
customer feedinsert + updatecustomers
customer account lookup feedinsert + updatecustomers
customer address book feedinsert + updatecustomer address book entries, customers
sales order feedinsert + updatesales orders
sales order line feedinsert + updatesales order items, sales orders
invoice feedinsert + updateinvoices
invoice line feedinsert + updateinvoice items, invoices
contact feedinsert + updatecontacts
item feedinsert + updateitems
product feedinsert + updateitems
product item reverse lookup feedinsert + updateitems
item warehouse feedinsert + updateinventory items
standard price book feed (new entries)insert onlyprice lists
standard price book feed (changes)insert + updateprice lists

4. Order of work

The templates set run sequence from 0 to 16. A run processes active rows in ascending run sequence, which is the order the templates put them in:

  • 0 — GET USER
  • 1 — Account, NetSuite Salesperson
  • 2 — Account-Child
  • 3 — Customer
  • 4 — Customer To Account Reverse Lookup
  • 5 — Customer Address Book
  • 6 — Sales order
  • 7 — Sales order Line
  • 8 — Invoice
  • 9 — Invoice Line
  • 10 — Contact
  • 11 — Item
  • 12 — Product
  • 13 — Product to item reverse lookup
  • 14 — Item Warehouse, Price book object
  • 15 — Create Standard Price Book
  • 16 — Update Standard Price Book

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.

  • account feed reads salesperson sync output, user sync output
  • child account feed reads salesperson sync output, user sync output
  • customer account lookup feed reads customer sync output
  • contact feed reads account sync output, customer sync output
  • customer feed reads account sync output
  • customer address book feed reads account sync output, customer sync output
  • product item reverse lookup feed reads product sync output
  • item warehouse feed reads product sync output, item sync output
  • invoice feed reads account sync output, customer sync output
  • invoice line feed reads invoice sync output
  • standard price book feed (new entries) reads product sync output
  • product feed reads item sync output
  • sales order feed reads account sync output, customer sync output
  • sales order line feed reads sales order sync output

5. Field mapping

Each template carries its intended mapping in field mapping.

TemplateObjectMapped fieldsFirst ERP → Salesforce pairs
AccountAccount15Internal identifier → Commercient AR customer code, Entity identifier → Name, phone → Phone, Address 1, Address 2, Address line 3 → Billing street, city property → Billing city
NetSuite SalespersonCommercient NetSuite Salesperson Managed Custom Object74Salesperson account number → Salesperson account number, Default address → Commercient default address, Payroll provider identifier → Commercient payroll provider identifier, Alternate name → Commercient alternate name, →
CustomerCommercient NetSuite Customers Managed Custom Object145Internal identifier → Commercient external key (NetSuite package), Entity identifier → Name, the linked Salesforce record → Account, Custom form internal identifier → Commercient custom form internal identifier, Custom form external identifier → Commercient custom form external identifier
Customer To Account Reverse LookupAccount2Internal identifier → Commercient AR customer code, the linked Salesforce record → Commercient customer (related record)
Customer Address BookCommercient NetSuite Customer Address Book Managed Custom Object22parent account lookup,Internal identifier → Commercient external key (NetSuite package), addressee,Entity identifier → Commercient name, the linked Salesforce record → Commercient account (related record), the linked Salesforce record → Commercient customer (related record), parent account lookup → Commercient parent identifier
Sales orderCommercient NetSuite Sales Order Managed Custom Object197Internal identifier → Commercient external key (NetSuite package), Transaction number → Name, Entity internal identifier → Account, Entity internal identifier → Customer, Created date → Commercient created date
Sales order LineCommercient NetSuite Sales Order Item Managed Custom Object93Internal identifier, line → Commercient external key (NetSuite package), Internal identifier, line, Transaction number → Name, the linked Salesforce record → Sales order, Internal identifier → Internal identifier, Job internal identifier → Job internal identifier
InvoiceCommercient NetSuite Invoice Managed Custom Object160Internal identifier → Commercient external key (NetSuite package), Transaction number → Name, Entity internal identifier → Account, Entity internal identifier → Customer, Created date → Commercient created date
Invoice LineCommercient NetSuite Invoice Item Managed Custom Object73Internal identifier, line → Commercient external key (NetSuite package), Internal identifier, line, Transaction number → Name, the linked Salesforce record → Commercient invoice (related record), Internal identifier → Commercient internal identifier, Job internal identifier → Commercient job internal identifier
ProductProduct6Internal identifier → Commercient external key (earlier package), Item identifier → Name, Item identifier → Product code, Stock description → Description, Inactive status → Active
Product to item reverse lookupCommercient NetSuite Item Managed Custom Object2Internal identifier → Commercient external key (NetSuite package), the linked Salesforce record → Commercient product (related record)
Price book objectPrice book object2External key (custom field) → External key (custom field), Name → Name
Create Standard Price BookPrice book entry5Id → External key (custom field), the linked Salesforce record → price book lookup, the linked Salesforce record → product lookup, value → Unit price, Active → Active
Update Standard Price BookPrice book entry3Id → External key (custom field), value → Unit price

6. Community templates

The catalogue carries 253 community templates for this pair. A community template is authored in a tenant rather than shipped with the product, and it imports the same way as any other. Its own names, notes, field mapping and SQL are tenant content, so what this section states is what the set amounts to: how many templates there are, what they default to doing, which destination objects they write and which groups they fall in. They are not part of the shipped set described above.

  • Templates: 253
  • Default operations: insert on 253, update on 253, delete on 253
  • Marked as circular sync: 2
  • Licence groups they span: 12
  • Destination objects: Account, Commercient NetSuite Item Managed Custom Object, Price book entry, Product, Commercient NetSuite Invoice Managed Custom Object, Commercient NetSuite Customers Managed Custom Object, Commercient NetSuite Invoice Item Managed Custom Object, Commercient NetSuite Sales Order Managed Custom Object, Commercient NetSuite Sales Order Item Managed Custom Object, Commercient NetSuite Customer Address Book Managed Custom Object, Commercient NetSuite Warehouse Managed Custom Object, Contact, Commercient NetSuite Salesperson Managed Custom Object, NetSuite Return Merchandise Authorization Order Line (custom object), Commercient Account Matching Managed Custom Object, Commercient NetSuite Term Managed Custom Object, NetSuite Return Merchandise Authorization Order (custom object), Price book object, Credit Memo (custom object), 11 more and 2 custom objects
  • Object display names: Account, Customer To Account Reverse Lookup, Account-Child, Contact, Customer Address Book, Invoice, Product, Customer, Invoice Line, Item, Item Warehouse, Sales order, 54 more and 3 further templates
  • Template groups: Account, Product, Sales order, Invoice, Customer Multi Ship Addresses, CRM Order and Line

7. Verifying

The detail of this section is part of the operational skill. Whitelisted customers fetch it with dlake admin get_skill dlake-crmpro-salesforce/erps/netsuite.

8. 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 NetSuite → Salesforce templates set up. dlake-crmpro-salesforce is the destination skill this page sits under: its own text is the authority for the Salesforce 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-salesforce/erps/netsuite, 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.