Source ERP · 17 of 30
TxDownloaderPro ← Zoho CRM — Sage 100 (US): what the shipped default 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-txdownloaderpro-zohocrm/erps/sage-100-us". It extends the dlake-txdownloaderpro-zohocrm skill, which holds what is true whatever the source ERP. Both directions for this pair are summarised at /integrations/sage-100-us-zoho-crm/.
TxDownloaderPro ← Zoho CRM — Sage 100 (US): what the shipped default 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-txdownloaderpro-zohocrm/erps/sage-100-us (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-txdownloaderpro-zohocrm is the Zoho CRM page and carries the destination detail: it is the skill this page is a child of, and the authority for the conventions that hold across every ERP, so read it before this page.
What follows is only what the shipped default templates for this pair themselves set, described from their default query, default inbound mapping and default outbound mapping columns. It is a description of structure: which objects and marker columns are read, which parts and members are filled, which token names appear. No template text is reproduced. This page grows as the default catalogue does. The community templates the catalogue also carries for this pair are listed in a section of their own below, by count, object and name only.
1. What the templates deliver
One row per process the default set ships for this pair. The business language is the catalogue’s own, where it carries any; where it does not, the row says what the source and destination objects are and what the operation flags allow. Operations are the union of the insert, update and delete flags over that process’s templates.
| Process | What it delivers | Source → destination | Templates | Operations |
|---|---|---|---|---|
| Create New Customer | Zoho Account To Sage 100 Customer | Account, Accounts → Customer | 2 | create |
| Create Purchase Order | Zoho Purchase Order to Sage 100 Purchase Order | Purchase orders → Purchase Order | 2 | create |
| Create Vendor | Zoho Account to Sage 100 Vendor | Account → Vendor | 2 | create |
| Create and Update Contact | Zoho Contact TO Create and Update Sage 100 Contacts | Contacts → Contacts | 1 | create |
| Create new Product | Zoho Products To Sage 100 Products | Products → Item | 1 | create |
| Create New Sales Order | Zoho Order To Sage 100 Sales order | Sales orders → Sales order | 1 | create |
| Create Return merchandise authorization | Zoho Sales Order to Sage 100 Return merchandise authorization | Sales orders → Return merchandise authorization | 1 | create |
| Delete Contact | Zoho Account to Sage 100 Contact - Delete Contact | Account → Contact | 1 | delete |
| Delete Customer | Delete Zoho Account to Delete Sage 100 Customer | Account → Customer | 1 | delete |
| Delete Product | Zoho Product to Sage 100 Item - Delete Item | Products → Item | 1 | delete |
| Delete Purchase Order | Zoho Purchase Order to Sage 100 Purchase Order - Delete Purchase Order | Purchase orders → Purchase Order | 1 | delete |
| Delete Ship To Address | Zoho Account to Sage 100 Ship To Address - Delete Ship To Address | Accounts → Shipping address | 1 | delete |
| Delete Vendor | Zoho Account to Sage 100 Vendor - Delete Vendor | Account → Vendor | 1 | delete |
| Update Ship To Address | Zoho Account to Sage 100 Ship To Address - Update Ship To Address | Accounts → Shipping address | 1 | update |
Across the 17 default templates: 7 carry insert, 5 carry update, 6 carry delete. A flag decides which operation the process is allowed to perform, not which one it performs on a given record.
2. The process rows the import creates
Importing one of these templates writes one TxDownloaderPro row. The columns the import fills from the template are the ones the operational skill describes: the query, the inbound and outbound mappings and the operation flags are all stored on that row. In-flight state is never in this table — it is in the writeback transaction log (in the operational skill), keyed by its state.
| What the import sets | Where it comes from |
|---|---|
| Query | the template’s default query — section 3 |
| inbound mapping | the template’s default inbound mapping — section 4 |
| outbound mapping | the template’s default outbound mapping — section 5 |
| insert | the template’s own flags — section 1 |
1 of these template rows carries a licence group, so what a given tenant is offered in the picker is narrower than what the catalogue holds.
3. What the query retrieves
Query does not have one shape across the product (in the operational skill). For this pair, 17 carry an object naming the module to retrieve. No query text is reproduced here; what follows is what those queries read and filter on.
- Objects read: Contacts, Accounts, Products, Sales orders, Purchase orders.
- Members present in the query object: selected fields (17), module name (17), filter (17). 10 of them carry a populated filter. Its content is not reproduced, and a stored filter is not necessarily a condition on this destination — read the destination page before treating it as one. 17 carry a populated selected fields list.
- Where the filtering happens: the query names a module rather than a condition, so the selection the operational skill describes is applied after retrieval, not by the query.
4. The inbound mapping document
Inbound mapping is a flat object: each member names a field on the source side and its value is a template resolved against the retrieved record’s document (in the operational skill). Of this pair’s 17 default templates, 17 carry a default inbound mapping; 1 of those do not parse as and are counted but not described. A parseable document carries about 8 members.
- Template path roots used: Accounts, Purchase orders, Sales orders, product details, Products, Contacts, Account. A path’s first segment has to match the element the engine emits, and the document root itself is never part of the path.
- Line members present: line item code, a collection member, line item description, line quantity ordered, unit cost, quantity returned, invoice unit price, line comment. 3 templates name the collection through a collection member; the members beside it are resolved against that collection’s own root rather than through the header.
5. Result structure — what goes back to the CRM
Outbound mapping is the outbound half: up to four parts, each optional, filled from the source system’s response after the write (in the operational skill). Of this pair’s 17 default templates, 4 carry a parseable default outbound mapping, 13 carry none.
| Part | Filled by | What it addresses | Members present |
|---|---|---|---|
| Part 1 | 4 templates | the record the run is already working with | a map from source path to CRM field |
| Part 2 | 0 templates (4 explicitly null) | the line records under it | — |
| Part 3 | 0 templates (4 explicitly null) | a new record, matched on an external id field | — |
| Part 4 | 0 templates (4 explicitly null) | a different record, addressed by an id field | — |
- CRM fields Part 1 writes to: Commercient external key column, Commercient AR customer code (Zoho field). These are the fields on the flagged record that carry the source system’s key or outcome once the write has happened — the names only; what lands in them is the response, per record.
- Response fields it reads them from: AR division number, Customer number, Item code, returned purchase order number, returned return authorization number. The map is written source path first, CRM field second (in the operational skill); the wrong way round resolves to the same silent empty string as a mistyped path.
6. Community templates
The catalogue carries community templates for this pair as well as the default set above: templates written on a tenant rather than shipped. Their content is not read and not described here — no query, no mapping document, no field. What this section states is how many there are, which objects they start from, what they are called where the name is a product artefact name, and which process versions they belong to.
- How many: 24 community templates, across 6 process versions.
- Operations: 13 carry insert, 6 carry update, 2 carry delete. A flag decides which operation the template is allowed to perform, as it does for a default template.
| Source → destination | Templates |
|---|---|
| Customer → — | 9 |
| Sales Order → — | 9 |
| Customer Contact → — | 5 |
| Product → — | 1 |
None of these rows carries a destination object name in the catalogue, so the destination side of every shape above is empty.
- Template names the catalogue carries: Create New Contact (2), Create New Customer (2), Update Customer (2), Create Account (1), Create Contact (1), Create Customer (1), Create New Product (1), Create New Quote (1), Create New Sales Order (1), Create Sales Order (1), Delete Customer (1), Delete Order (1), New Account (1), New Contact (1), New Sales Order (1), Update Contact (1), Update New Customer (1), Update Sales Order (1).
- Names not reproduced: 2 of these templates carry a name that is not a product artefact name, and it is not printed here.
Importing one of these writes the same TxDownloaderPro row that importing a default template writes (in the operational skill); what differs is where the template came from, not how it is stored. What any one of them contains is read from the imported row itself.
7. Verifying
Read the imported row before a run, not after. The operational skill is the authority on the TxDownloaderPro tools and on the state they report.
The two failures this pair’s templates actually produce: a run that retrieves nothing, which is the module the query names, since these queries carry no condition of their own; and a record that arrives with fields empty, which is a path that does not match the emitted document.
8. Where this sits
- dlake-txdownloaderpro — the parent: exposure, key scoping, the two tables, its state, the mapping columns, the filter vocabulary, the TxDownloaderPro tools. Read it first.
- dlake-txdownloaderpro-zohocrm — the Zoho CRM destination page, which this page is a child of: the query shape, marker conventions and mapping conventions this destination uses across every ERP, and the ERP table that lists this page and its siblings.
- dlake-integration-setup — registration, CRM choice and the ERP connector, of which writeback is one step.
- dlake-crmpro and dlake-normalsync — the inbound leg, going the other way.
- dlake — general tenant operation.
This page describes the shipped default template set for this pair, and grows as that set does.
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-txdownloaderpro-zohocrm/erps/sage-100-us, 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.