Agent skill

dlake-crmpro-zohocrm

When an agent should use it: What the shipped CRMPro Standard templates set up when Zoho CRM is the destination, stated across every source ERP that ships them: the object API names the templates push to (`Accounts`), the `TimeStampRepository` key separator they build, the view and `TimeStamp_Prefix` conventions, and which template groups every source ships versus only some. Use it when standing up or reading a Zoho CRM template set, when deciding which templates to import and activate, or when a run completes without pushing records and the answer is in the view or the configuration row. It extends `dlake-crmpro`, which covers operating CRMPro generally, and it carries one child page per source ERP under `erps/`, which is where everything ERP-specific lives.

Extends dlake-crmpro.

27 source-ERP pages: what the shipped templates set up for each (also readable with dlake skills show dlake-crmpro-zohocrm/erps/<erp>)

Install with "dlake skills install" or read it in the terminal with "dlake skills show dlake-crmpro-zohocrm". Skills ship inside the CLI; the copy below mirrors the GitHub repository.

CRMPro → Zoho CRM: what the shipped templates set up

Keep this skill current. dlake ships updates often and this text is embedded in the CLI you have installed. Before relying on it, compare dlake --version with npm view @commercient/dlake version; if they differ, run npm install -g @commercient/dlake@latest and then dlake skills install, which overwrites the installed skill files with the current text.

The source ERP has its own page under this skill. erps/<erp>.md is a child file of this skill and describes what the shipped templates for that ERP → Zoho CRM pair set up. §6 lists every one of them and how to pick the right row; read this page first, then that one.

dlake-crmpro is the parent skill and the authority for everything general: the crmpro_* tools, CRM_Configuration and CRM_FieldList, TimeStampRepository, the three kinds of source view, the NULL-cursor rule and the silent zero-record run. Read it first; this page does not repeat it. What follows is only what the shipped Standard templates for Zoho CRM themselves set, and only the part of it that is the same across 24 source ERPs. Everything that belongs to one source — which groups ship, which clone tables the views read, which view names and prefixes are paired — is on that ERP’s own page under erps/. This page grows as the catalogue does.

1. The objects these templates push to

Every source ERP that ships Zoho CRM templates pushes to Accounts. Copy an object name from the template or from crmpro_crm_objects; case is part of the name.

These appear in some sources’ sets and not others:

CRM_Object_API_NameSources whose templates push it
Products23 of 24
Contacts19 of 24
Products:Price_Books14 of 24
Sales_Orders13 of 24
Invoices12 of 24
Price_Books10 of 24
users10 of 24
Quotes7 of 24
sage100premium__Ar_InvoiceHistoryDetail3 of 24
sage100premium__Ar_InvoiceHistoryHeader3 of 24
sage100premium__Ar_SalesPerson3 of 24
sage100premium__ArTransactionPaymtHistory3 of 24
sage100premium__CI_Iem3 of 24
sage100premium__CI_Item3 of 24
sage100premium__LM_Item_Warehouse3 of 24
sage100premium__SO_SalesOrderHistoryDetai3 of 24
sage100premium__SO_SalesOrdrHistoryHeader3 of 24
sage100premium__SO_ShipToAddress3 of 24
commercientmsdynamicgp__MSDYGP_Customer2 of 24
commercientmsdynamicgp__MSDYGP_CustomerAddress2 of 24
commercientmsdynamicgp__MSDYGP_InvoiceDetails2 of 24
commercientmsdynamicgp__MSDYGP_InvoiceHeader2 of 24
commercientmsdynamicgp__MSDYGP_Item_Master2 of 24
commercientmsdynamicgp__MSDYGP_Item_Warehouse2 of 24
commercientmsdynamicgp__MSDYGP_SODetails2 of 24
commercientmsdynamicgp__MSDYGP_SOHeader2 of 24
commercientmsdynamicgp__MSDYGP_Warehouse2 of 24
sage100premium__Sage_Terms2 of 24
ACUMATICA_Opportunity1 of 24
commercientacumatica__Acumatica_Customer1 of 24
commercientacumatica__Acumatica_CustomerContact1 of 24
commercientacumatica__Acumatica_InvoiceDetail1 of 24
commercientacumatica__Acumatica_InvoiceHeader1 of 24
commercientacumatica__Acumatica_SODetail1 of 24
commercientacumatica__Acumatica_SOHeader1 of 24
commercientdynamicsax__MSDYAX_Customer1 of 24
commercientdynamicsax__MSDYAX_Inventory1 of 24
commercientdynamicsax__MSDYAX_InvoiceDetail1 of 24
commercientdynamicsax__MSDYAX_InvoiceHeader1 of 24
commercientdynamicsax__MSDYAX_Payment_Terms1 of 24
commercientdynamicsax__MSDYAX_SalesOrderDetail1 of 24
commercientdynamicsax__MSDYAX_SalesOrderHeader1 of 24
commercientdynamicsax__MSDYAX_Salesperson1 of 24
commercientdynamicsax__MSDYAX_SalesQuotation1 of 24
commercientdynamicsax__MSDYAX_SalesQuotationHead1 of 24
commercientdynamicsax__MSDYAX_ShippingAddress1 of 24
commercientdynamicsax__MSDYAX_Warehouse1 of 24
commercientepicoreagle__EpicorEagle_Customer1 of 24
commercientepicoreagle__EpicorEagle_Inventory1 of 24
commercientepicoreagle__EpicorEagle_InvoiceDetail1 of 24
commercientepicoreagle__EpicorEagle_InvoiceHeader1 of 24
commercientepicoreagle__EpicorEagle_InvtryStore1 of 24
commercientepicoreagle__EpicorEagle_OpenInvoiceD1 of 24
commercientepicoreagle__EpicorEagle_OpenInvoiceH1 of 24
commercientepicoreagle__EpicorEagle_SalesPerson1 of 24
commercientepicoreagle__EpicorEagle_SODetail1 of 24
commercientepicoreagle__EpicorEagle_SOHeader1 of 24
commercientepicoreagle__EpicorEagle_TermsCode1 of 24
commercientepicorp21__EpicorP21_Address1 of 24
commercientepicorp21__Epicorp21_Branch1 of 24
commercientepicorp21__Epicorp21_Class1 of 24
commercientepicorp21__EpicorP21_Customer1 of 24
commercientepicorp21__EpicorP21_InvoiceDetails1 of 24
commercientepicorp21__EpicorP21_InvoiceHeader1 of 24
commercientepicorp21__EpicorP21_InvoicePayment1 of 24
commercientepicorp21__Epicorp21_Item_Master1 of 24
commercientepicorp21__Epicorp21_Item_Warehouse1 of 24
commercientepicorp21__Epicorp21_Sales_Person1 of 24
commercientepicorp21__Epicorp21_Serial_Number1 of 24
commercientepicorp21__EpicorP21_ShipToAddress1 of 24
commercientepicorp21__EpicorP21_SODetails1 of 24
commercientepicorp21__EpicorP21_SOHeader1 of 24
commercientepicorp21__Epicorp21_Terms1 of 24
commercientepicorp21__Epicorp21_Territory1 of 24
commercientepicorp21__Epicorp21_Warehouse1 of 24
commercientexactonline__ExactOnline_Address1 of 24
commercientexactonline__ExactOnline_Customer1 of 24
commercientexactonline__ExactOnline_Invoice1 of 24
commercientexactonline__ExactOnline_InvoiceLine1 of 24
commercientexactonline__ExactOnline_Quote1 of 24
commercientexactonline__ExactOnline_QuoteLine1 of 24
commercientexactonline__ExactOnline_SalesOrder1 of 24
commercientexactonline__ExactOnline_SO_Line1 of 24
commercientglobalshop__GlobalShop_Customer1 of 24
commercientglobalshop__GlobalShop_Invoice_Header1 of 24
commercientglobalshop__GlobalShop_Invoice_Line1 of 24
commercientglobalshop__GlobalShop_Item_List1 of 24
commercientglobalshop__GlobalShop_Item_Master1 of 24
commercientglobalshop__GlobalShop_Salespersons1 of 24
commercientglobalshop__GlobalShop_ShipToAddress1 of 24
commercientglobalshop__GlobalShop_SO_Header1 of 24
commercientglobalshop__GlobalShop_SO_Line1 of 24
commercientglobalshop__GlobalShop_Terms1 of 24
commercientinforcloudsuite__InforCloud_Customers1 of 24
commercientinforcloudsuite__InforCloud_Invoices1 of 24
commercientinforcloudsuite__InforCloud_ItemLocation1 of 24
commercientinforcloudsuite__InforCloud_ItemMaster1 of 24
commercientinforcloudsuite__InforCloud_ItemWarehouse1 of 24
commercientinforcloudsuite__InforCloud_SalesOrderLine1 of 24
commercientinforcloudsuite__InforCloud_SalesOrders1 of 24
commercientinforcloudsuite__InforCloud_Salespersons1 of 24
commercientinforcloudsuite__InforCloud_ShipToAddress1 of 24
commercientinforcloudsuite__InforCloud_Terms1 of 24
commercientinforvisual__Infor_Visual_Address1 of 24
commercientinforvisual__Infor_Visual_Customer1 of 24
commercientinforvisual__Infor_Visual_Order1 of 24
commercientinforvisual__Infor_Visual_Order_Line1 of 24
commercientinforvisual__Infor_Visual_Part1 of 24
commercientinforvisual__Infor_Visual_Quote_Line1 of 24
commercientinforvisual__Infor_Visual_Quote_Price1 of 24
commercientinforvisual__Infor_Visual_Qutoe1 of 24
commercientinforvisual__Infor_Visual_Receivable1 of 24
commercientinforvisual__Infor_Visual_Receivable_L1 of 24
commercientinforvisual__Infor_Visual_SalesPerson1 of 24
commercientinforvisual__Infor_Visual_Terms1 of 24
commercientnetsuite0__Netsuite_Address1 of 24
commercientnetsuite0__Netsuite_Customer1 of 24
commercientnetsuite0__Netsuite_Invoice1 of 24
commercientnetsuite0__Netsuite_InvoiceItem1 of 24
commercientnetsuite0__Netsuite_Item1 of 24
commercientnetsuite0__Netsuite_Item_Warehouse1 of 24
commercientnetsuite0__Netsuite_SalesOrder1 of 24
commercientnetsuite0__Netsuite_SalesOrderItem1 of 24
commercientnetsuite0__Netsuite_SalesPerson1 of 24
commercientnetsuite0__Netsuite_Terms1 of 24
commercientsage200uk__Sage200UK_Address1 of 24
commercientsage200uk__Sage200UK_Customers1 of 24
commercientsage200uk__Sage200UK_InvoiceDetail1 of 24
commercientsage200uk__Sage200UK_InvoiceHeader1 of 24
commercientsage200uk__Sage200UK_Item1 of 24
commercientsage200uk__Sage200UK_SalesOrderHeadr1 of 24
commercientsage200uk__Sage200UK_SalesOrdrDetail1 of 24
commercientsage200uk__Sage200UK_Warehouse1 of 24
commercientsage200uk__Sage200UK_Warehouse_Item1 of 24
commercientsage300__Sage300_Customer1 of 24
commercientsage300__Sage300_InvoiceDetail1 of 24
commercientsage300__Sage300_InvoiceHeader1 of 24
commercientsage300__Sage300_Item1 of 24
commercientsage300__Sage300_SalesOrderDetail1 of 24
commercientsage300__Sage300_SalesOrderHeader1 of 24
commercientsage300__Sage300_SalesPerson1 of 24
commercientsage300__Sage300_ShipToAddress1 of 24
commercientsage50ca__SAGE50CA_Customer1 of 24
commercientsage50ca__SAGE50CA_InvoiceDetail1 of 24
commercientsage50ca__SAGE50CA_InvoiceHeader1 of 24
commercientsage50ca__SAGE50CA_Item1 of 24
commercientsage50ca__SAGE50CA_ItemWarehouse1 of 24
commercientsage50ca__SAGE50CA_Salesperson1 of 24
commercientsage50ca__SAGE50CA_ShipToAddress1 of 24
commercientsage50ca__SAGE50CA_SODetail1 of 24
commercientsage50ca__SAGE50CA_SOHeader1 of 24
commercientsagex3__SageX3_Address1 of 24
commercientsagex3__SageX3_Customer1 of 24
commercientsagex3__SageX3_InvoiceDetail1 of 24
commercientsagex3__SageX3_InvoiceHeader1 of 24
commercientsagex3__SageX3_ItemMaster1 of 24
commercientsagex3__SageX3_ItemWareHouse1 of 24
commercientsagex3__SageX3_PaymentDetail1 of 24
commercientsagex3__SageX3_PaymentHeader1 of 24
commercientsagex3__SageX3_PaymentTerm1 of 24
commercientsagex3__SageX3_SalesOrderDetail1 of 24
commercientsagex3__SageX3_SalesOrderHeader1 of 24
commercientsagex3__SageX3_SalesPerson1 of 24
commercientsagex3__SageX3_Warehouse1 of 24
commercientsapb1__SAPB1_Address1 of 24
commercientsapb1__SAPB1_Customer1 of 24
commercientsapb1__SAPB1_Invoice_Detail1 of 24
commercientsapb1__SAPB1_Invoice_Header1 of 24
commercientsapb1__SAPB1_Item1 of 24
commercientsapb1__SAPB1_Item_PriceBooks1 of 24
commercientsapb1__SAPB1_PriceBooks1 of 24
commercientsapb1__SAPB1_Quotes1 of 24
commercientsapb1__SAPB1_Quotes_Details1 of 24
commercientsapb1__SAPB1_Sales_Order_Detail1 of 24
commercientsapb1__SAPB1_Sales_Order_Header1 of 24
commercientsyspro7__Syspro7_ARMultipleAddress1 of 24
commercientsyspro7__Syspro7_Customer1 of 24
commercientsyspro7__Syspro7_Inv_Warehouse1 of 24
commercientsyspro7__Syspro7_Inventory_Master1 of 24
commercientsyspro7__Syspro7_InvoiceDetail1 of 24
commercientsyspro7__Syspro7_InvoiceHeader1 of 24
commercientsyspro7__Syspro7_Salesperson1 of 24
commercientsyspro7__Syspro7_SODetail1 of 24
commercientsyspro7__Syspro7_SOHeader1 of 24
commercientsyspro7__Terms1 of 24
EpicorEagle_SerialNumber1 of 24
Infor_Visual_Notes1 of 24
MSDYAX_Cust_Pur_History1 of 24
MSDYAX_Dispatch_Shipping1 of 24
Netsuite_TaxGroup1 of 24
Netsuite_TaxType1 of 24
Purchase_Orders1 of 24
sage100contractor__SAGE100CNTR_AR_Payment1 of 24
sage100contractor__SAGE100CNTR_ARInvoice1 of 24
sage100contractor__SAGE100CNTR_ARInvoiceLine1 of 24
sage100contractor__SAGE100CNTR_Customer1 of 24
sage100contractor__SAGE100CNTR_InventoryHist1 of 24
sage100contractor__SAGE100CNTR_Job1 of 24
sage100contractor__SAGE100CNTR_Parts1 of 24
sage100contractor__SAGE100CNTR_Salesperson1 of 24
sage50uk__SAGE50UK_Address1 of 24
sage50uk__SAGE50UK_Customer1 of 24
sage50uk__SAGE50UK_Invoice_Detail1 of 24
sage50uk__SAGE50UK_Invoice_Header1 of 24
sage50uk__SAGE50UK_ITEM1 of 24
sage50uk__SAGE50UK_Pur_Order_Detail1 of 24
sage50uk__SAGE50UK_Pur_Order_Header1 of 24
sage50uk__SAGE50UK_Vendor1 of 24
sage50uk__SAGE50UKSalesOrder_Detail1 of 24
sage50uk__SAGE50UKSalesOrder_Header1 of 24
sage50ustozoho__SAGE50US_Address1 of 24
sage50ustozoho__SAGE50US_ARTerm1 of 24
sage50ustozoho__SAGE50US_Customer1 of 24
sage50ustozoho__SAGE50US_Item_Master1 of 24
sage50ustozoho__SAGE50US_SalesInvoiceDeta1 of 24
sage50ustozoho__SAGE50US_SalesInvoiceHead1 of 24
sage50ustozoho__SAGE50US_SalesOrderDetail1 of 24
sage50ustozoho__SAGE50US_SalesOrderHeader1 of 24
sage50ustozoho__SAGE50US_SalesPerson1 of 24
Vendors1 of 24
zohotoquickbooks__Quickbooks_Customer1 of 24
zohotoquickbooks__Quickbooks_Invoice_Detail1 of 24
zohotoquickbooks__Quickbooks_Invoice_Header1 of 24
zohotoquickbooks__Quickbooks_Item1 of 24
zohotoquickbooks__Quickbooks_Sales_Persons1 of 24
zohotoquickbooks__Quickbooks_Terms1 of 24
zohotoquickbooks__QuickbooksSaleOrderDetail1 of 24
zohotoquickbooks__QuickbooksSaleOrderHeader1 of 24

2. The repository key these templates build

Every one of these template sets builds its TimeStampRepository key as <TimeStamp_Prefix>:<key>. The literal in the view and the TimeStamp_Prefix on the configuration row have to be the same string, case included; a key built with the other separator matches nothing the engine wrote.

The views these templates create are named with the vw_ prefix form. The TimeStamp_Prefix is not reliably the view name — the ERP pages carry the pairings — and it is what every downstream view joins on, so it is effectively public API between processes.

3. What the template groups deliver

The rest are shipped by some sources only:

Template groupSources that ship it
Contacts16 of 24
Products16 of 24
Invoices11 of 24
Account10 of 24
Accounts10 of 24
CRM Ownership8 of 24
Product7 of 24
Child Account6 of 24
Quotes6 of 24
Sales Orders6 of 24
Parent Account4 of 24
PriceBooks4 of 24
Product Pricebook4 of 24
Contact3 of 24
Product Pricebooks3 of 24
Sage100 Customer3 of 24
Sage100 Invoice Detail3 of 24
Sage100 Invoice Header3 of 24
Sage100 Item Master3 of 24
Sage100 Product Price Book3 of 24
Sage100 Sales Order Detail3 of 24
Sage100 Sales Order Header3 of 24
Sage100 Sales Person3 of 24
Sage100 Ship To Address3 of 24
Sage100 Transcation Payment History3 of 24
Sage100 Warehouse3 of 24
SalesOrders3 of 24
Child Accounts2 of 24
Invoice2 of 24
Item Master2 of 24
MSDYGP Customer2 of 24
MSDYGP CustomerAddress2 of 24
MSDYGP InvoiceDetail2 of 24
MSDYGP InvoiceHeader2 of 24
MSDYGP ItemMaster2 of 24
MSDYGP ItemWareHouse2 of 24
MSDYGP SalesOrderDetail2 of 24
MSDYGP SalesOrderHeader2 of 24
MSDYGP Warehouse2 of 24
Pricebook2 of 24

That is the 40 most widely shipped; the ERP pages carry the rest.

Every one of these templates inserts Is_Active as 0, so an imported process is inactive until an operator activates it, and the Registration API’s import does not populate CRM_FieldList — an object with no CRM_FieldList rows pushes nothing and records no error. Read MappingJson off the template with dlake admin crmpro_templates, then check crmpro_field_mapping on the created process before activating it.

4. When a run pushes no records

The signature failure is the one dlake-crmpro §7d describes: every object logs a start and an end in about 0.00 seconds, the total is zero, and no error is written anywhere. For this destination, check in this order.

  1. Does the view return rows? Zero rows means the answer is in the view.
  2. Does TimeStamp_Prefix equal the literal the view builds its key from, case included — and not, by reflex, the view’s own name?
  3. Is the separator the one §2 names, in both the view literal and the prefix?
  4. Does CRM_FieldList have rows for that Object_Name, spelled as the API name?
  5. Any NULL nullable text column on the configuration row? The templates set '' throughout, and a NULL throws inside the engine, which catches it — so the object is skipped with no recorded error.
  6. Is the parent’s prefix the one that actually holds the ids? A view that reads another process’s prefix returns nothing until that process has run, which is what makes Sync_Order a dependency order rather than a preference.
  7. Do the clone tables the view reads carry the prefix this ERP’s templates expect? That is on the ERP’s own page, and it differs between sources.

5. Verifying

# per-prefix counts; every synced record carries its destination id
dlake tool query --profile <tenant> --sql "SELECT LEFT([Key], CHARINDEX(':',[Key])-1) AS prefix, COUNT(*) n, COUNT(NULLIF(SFDCID,'')) withId FROM dbo.TimeStampRepository WHERE CHARINDEX(':',[Key])>0 GROUP BY LEFT([Key], CHARINDEX(':',[Key])-1)"

withId = n for every prefix is the success condition dlake-crmpro defines. The split is on the first colon, which is the prefix boundary whether the key separator is : or ::.

6. The source ERP’s own page

One row per source ERP the catalogue carries Zoho CRM templates for. Each page is a child file of this skill, addressed as dlake-crmpro-zohocrm/erps/<erp>dlake skills show dlake-crmpro-zohocrm/erps/<erp> prints one, and dlake skills install writes them beside this file.

ERPPageWhat its templates deliver
Acumaticaerps/acumatica.md10 Standard templates in 10 groups, pushing users, Accounts, Contacts, commercientacumatica__Acumatica_Customer and more; : repository keys
Epicor 9 and 9.5erps/epicor-9-and-9-5.mdno Standard templates; 4 community templates
Epicor Eagleerps/epicor-eagle.md18 Standard templates in 18 groups, pushing commercientepicoreagle__EpicorEagle_TermsCode, commercientepicoreagle__EpicorEagle_SalesPerson, Accounts, commercientepicoreagle__EpicorEagle_Customer and more; : repository keys; 19 community templates
Epicor Prophet 21 (P21)erps/epicor-prophet-21-p21.md23 Standard templates in 23 groups, pushing commercientepicorp21__Epicorp21_Terms, commercientepicorp21__Epicorp21_Branch, commercientepicorp21__Epicorp21_Class, commercientepicorp21__Epicorp21_Territory and more; : repository keys; 37 community templates
Exact Onlineerps/exact-online.md11 Standard templates in 11 groups, pushing Accounts, commercientexactonline__ExactOnline_Customer, commercientexactonline__ExactOnline_Address, Contacts and more; : repository keys
GlobalShoperps/globalshop.md14 Standard templates in 14 groups, pushing users, commercientglobalshop__GlobalShop_Terms, commercientglobalshop__GlobalShop_Salespersons, Accounts and more; : repository keys
Infor CloudSuiteerps/infor-cloudsuite.md14 Standard templates in 14 groups, pushing commercientinforcloudsuite__InforCloud_Terms, commercientinforcloudsuite__InforCloud_Salespersons, Accounts, commercientinforcloudsuite__InforCloud_Customers and more; : repository keys
Infor Visual 9erps/infor-visual-9.md22 Standard templates in 22 groups, pushing commercientinforvisual__Infor_Visual_Terms, commercientinforvisual__Infor_Visual_SalesPerson, Accounts, commercientinforvisual__Infor_Visual_Customer and more; : repository keys; 23 community templates
Microsoft Dynamics AXerps/microsoft-dynamics-ax.md18 Standard templates in 18 groups, pushing commercientdynamicsax__MSDYAX_Payment_Terms, Accounts, commercientdynamicsax__MSDYAX_Customer, Products and more; : repository keys
Microsoft Dynamics GP 2016erps/microsoft-dynamics-gp-2016.md16 Standard templates in 16 groups, pushing Accounts, commercientmsdynamicgp__MSDYGP_Customer, commercientmsdynamicgp__MSDYGP_CustomerAddress, Products and more; : repository keys
Microsoft Dynamics GP 2017erps/microsoft-dynamics-gp-2017.md16 Standard templates in 16 groups, pushing Accounts, commercientmsdynamicgp__MSDYGP_Customer, commercientmsdynamicgp__MSDYGP_CustomerAddress, Products and more; : repository keys; 16 community templates
NetSuiteerps/netsuite.md17 Standard templates in 17 groups, pushing commercientnetsuite0__Netsuite_Terms, commercientnetsuite0__Netsuite_SalesPerson, Accounts, commercientnetsuite0__Netsuite_Customer and more; : repository keys; 64 community templates
QuickBooks Desktoperps/quickbooks-desktop.md15 Standard templates in 15 groups, pushing zohotoquickbooks__Quickbooks_Terms, zohotoquickbooks__Quickbooks_Sales_Persons, Accounts, zohotoquickbooks__Quickbooks_Customer and more; : repository keys
QuickBooks Onlineerps/quickbooks-online.mdno Standard templates; 5 community templates
Sage 100 (US)erps/sage-100-us.md18 Standard templates in 18 groups, pushing Accounts, sage100premium__CI_Iem, sage100premium__SO_ShipToAddress, sage100premium__Ar_SalesPerson and more; : repository keys; 19 community templates
Sage 100 Contractor 2018erps/sage-100-contractor-2018.md15 Standard templates in 15 groups, pushing sage100contractor__SAGE100CNTR_Salesperson, Accounts, sage100contractor__SAGE100CNTR_Customer, sage100contractor__SAGE100CNTR_Job and more; : repository keys; 14 community templates
Sage 100 Contractor 2018 (SAGE100C2018)erps/sage-100-contractor-2018-sage100c2018.md19 Standard templates in 19 groups, pushing sage100premium__Ar_SalesPerson, Accounts, sage100premium__CI_Iem, sage100premium__SO_ShipToAddress and more; : repository keys; 18 community templates
Sage 100 Premiumerps/sage-100-premium.md18 Standard templates in 18 groups, pushing Accounts, sage100premium__CI_Iem, sage100premium__SO_ShipToAddress, sage100premium__Ar_SalesPerson and more; : repository keys
Sage 200 UKerps/sage-200-uk.md17 Standard templates in 17 groups, pushing Accounts, commercientsage200uk__Sage200UK_Customers, commercientsage200uk__Sage200UK_Address, Contacts and more; : repository keys; 11 community templates
Sage 300erps/sage-300.md17 Standard templates in 17 groups, pushing commercientsage300__Sage300_SalesPerson, Accounts, commercientsage300__Sage300_Customer, Contacts and more; : repository keys
Sage 50 Canadaerps/sage-50-canada.md13 Standard templates in 13 groups, pushing commercientsage50ca__SAGE50CA_Salesperson, Accounts, commercientsage50ca__SAGE50CA_Customer, commercientsage50ca__SAGE50CA_ShipToAddress and more; : repository keys; 48 community templates
Sage 50 UKerps/sage-50-uk.md19 Standard templates in 19 groups, pushing Accounts, sage50uk__SAGE50UK_Customer, sage50uk__SAGE50UK_Address, Contacts and more; : repository keys
Sage 50 USerps/sage-50-us.md17 Standard templates in 17 groups, pushing sage50ustozoho__SAGE50US_ARTerm, sage50ustozoho__SAGE50US_SalesPerson, Accounts, sage50ustozoho__SAGE50US_Customer and more; : repository keys; 55 community templates
Sage X3erps/sage-x3.md19 Standard templates in 19 groups, pushing commercientsagex3__SageX3_PaymentTerm, commercientsagex3__SageX3_SalesPerson, Accounts, commercientsagex3__SageX3_Customer and more; : repository keys
SAP B1erps/sap-b1.md16 Standard templates in 16 groups, pushing Accounts, commercientsapb1__SAPB1_Customer, commercientsapb1__SAPB1_Address, Products and more; : repository keys
SAP Business ByDesignerps/sap-business-bydesign.mdno Standard templates; 11 community templates
SYSPRO 7 and aboveerps/syspro-7-and-above.md17 Standard templates in 17 groups, pushing Accounts, commercientsyspro7__Terms, commercientsyspro7__Syspro7_Salesperson, commercientsyspro7__Syspro7_Customer and more; : repository keys

Work out which row applies before reading one. The source is the ERP the tenant was registered with: dlake register erps lists the catalogue’s names and codes, and dlake admin crmpro_templates shows what that tenant can actually import. Match that ERP to a row above, then read its page alongside this one — this page for the conventions that hold across every source, that page for what this source’s own templates set. If no row matches the tenant’s ERP, this skill alone applies: the catalogue ships no Standard templates for that pair, so there is nothing ERP-specific to read and nothing to import.

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 skill adds what the shipped Zoho CRM templates set up, and its erps/ pages add what each source ERP’s own templates set. dlake-crmpro-hubspot, dlake-crmpro-salesforce and dlake-crmpro-shopify are the hand-written destination skills for their CRMs, and the conventions genuinely differ between destinations. For the extract leg that fills the clone tables, 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.