Skip to main content

Zoho CRM from iPaaS.com Product Mapping Documentation

How iPaaS.com products map to Zoho CRM products: stock, tax, pricing, and custom field mappings.

Summary

iPaaS.com Products can be transferred out to Zoho CRM as Products, one record per transfer, either automatically on a Product create or update or on demand from the Manual Sync page. Each product carries its code, name, description, price, stock quantity, tax treatment and active flag. A Zoho CRM product catalog kept in step with iPaaS.com is also what lets Sales Order lines attach to the right product.

ID Format

Manual Sync ID Format

To transfer a single Product on demand, enter the iPaaS.com Product ID on the Manual Sync page — the numeric identifier of the Product record in iPaaS.com, for example 1234. The integration retrieves that Product and writes it to Zoho CRM.

External ID Format

After a successful transfer, iPaaS.com saves the Zoho CRM product id — a long numeric value such as 6027981000005646002 — on a dedicated external-ID record. That record routes a repeat transfer to an update of the existing Zoho CRM product rather than creating a duplicate, and it is the only link between the two systems: this collection does not search Zoho CRM for a matching product before creating one. If the external-ID record is missing or cleared, the next transfer creates a second product. Subscribers loading a catalog into a Zoho CRM organization that already holds the same products should expect duplicates unless those products were previously linked through iPaaS.com.

Deleted Record Support

Deletion is not propagated. Deleting a Product in iPaaS.com does not delete or deactivate the corresponding Zoho CRM product; the product remains until it is removed in Zoho CRM directly.

Custom Field Support

Custom fields are supported on this collection. Before a custom field can be transferred, it must already exist in Zoho CRM: go to Settings → Customization → Modules and Fields → Products → Fields and create the field, then configure the matching custom field on the iPaaS.com subscription using exactly the Zoho CRM field label or API name — the integration matches on either, and API names differ from labels in that spaces and special characters are removed (a label of CF Multi-Select 2 becomes the API name CF_Multi_Select_2). The integration resolves each mapped name against the live Products field list on every transfer.

The Raise Custom Field Not Found Exception subscription setting controls what happens when a mapped custom field cannot be matched: True stops the transfer with a message naming the field; False sends the value anyway and Zoho CRM silently ignores it. Subscribers or their MiSP still configuring the integration are advised to set it to True. Some Zoho CRM field types cannot be used as destinations at all — see Additional Notes.

Mapping Collection Status

Status: Enabled. This collection has no mapping filter, so every Product sent to it is processed.

Trigger Events: Created and Updated. Automatic transfers do not activate by default — subscribe to the product/created and product/updated triggers under Outbound Data Flows in the subscription configuration. Until those are enabled, no automatic transfers occur.

Duplicate or Conflicting Mappings

There are no other mapping collections in this integration that write to the Zoho CRM Products module, so no conflicting source of truth exists by default. Collision handling is not configurable on this collection.

Supported Child Collections

None — Zoho CRM Product is a leaf collection. Product options, variants, kits, and category assignments are not transferred by this integration.

System Caveats

Zoho CRM Caveats

  • Tax names must already exist: the value written to the Zoho CRM Tax field is a tax name, and it needs to already be configured in the organization's Zoho CRM tax settings.

  • Product name is enforced by Zoho CRM, not by iPaaS.com: a product with no name is rejected at the Zoho CRM end, so the failure appears in the error log rather than being caught before the call.

  • Call credits are consumed per transfer: Zoho CRM meters API usage against a rolling 24-hour credit allowance that varies by edition, and caps how many calls an application may have in flight at once. When the allowance or concurrency cap is reached, Zoho CRM rejects the call and the transfer is not retried or rescheduled — it fails and is recorded under Dashboard / Integration Monitoring / Error Logs. Stagger large catalog loads.

  • Decimal precision is not strictly enforced: extra decimal places on price or quantity are generally accepted and stored rather than rounded. Apply rounding on the iPaaS.com side where exact precision matters, and validate in staging.

iPaaS.com Caveats

  • The Product must exist in iPaaS.com first: this collection writes outward only. A product created directly in Zoho CRM is not brought back into iPaaS.com by this integration.

  • Stock figures are summed across locations: the stock quantity written to Zoho CRM is the total of the product's inventory across every iPaaS.com location. Subscribers who track stock per location will not see that breakdown in Zoho CRM.

  • Custom fields must be configured on the subscription: a Zoho CRM custom field with no matching iPaaS.com subscription custom field is never populated, regardless of the exception setting.

Setup Requirements

  • In Zoho CRM, confirm the connected user can read and write the Products module.

  • In the Zoho CRM tax settings, create the tax name written by the Tax mapping (Sales Tax by default).

  • Create any Zoho CRM product custom fields to be populated, then create the matching iPaaS.com subscription custom fields with the correct data type.

  • Subscribe to the product/created and product/updated triggers under Outbound Data Flows for automatic transfers.

Integration Flow

When a Product transfer is started from iPaaS.com, the integration:

  1. Resolves any mapped custom fields against the live Products field list, handling unmatched fields per the Raise Custom Field Not Found Exception setting.

  2. Calculates the stock quantity by summing the product's inventory across every iPaaS.com location; a negative net figure is written as zero.

  3. Creates or updates the product — a new product if the iPaaS.com Product is not yet linked, otherwise an update in place. Only mapped fields are sent, so any unmapped Zoho CRM field keeps its current value.

  4. Reads the product back and records the link, recording the Zoho CRM product id as the external-id link for subsequent transfers.

Mappings

Add/Update Zoho CRM Product FROM iPaaS.com

iPaaS.com data type: Product

Description: Writes an iPaaS.com Product to Zoho CRM as a product record. This collection has no mapping filter — every Product sent to it is processed.

Mapping Type

Source Field (iPaaS.com)

Destination Field (Zoho CRM)

Description

Field

Name

Product_Name

Required. Zoho CRM rejects a product without a name.

Field

Sku

Product_Code

Required for subscribers who also transfer Sales Orders — it is the value Sales Order lines match on to attach to a product; a line whose code cannot be found stops that order's transfer. Where Sales Orders are not in use, treat as recommended.

Field

DefaultPrice

Unit_Price

Recommended. The product's unit price, so it quotes correctly in Zoho CRM.

Dynamic Formula

see Formula bodies below

Qty_in_Stock

Recommended. The product's total stock across all iPaaS.com locations. A negative net figure is written as zero.

Field

Description

Description

Optional. The product description.

Dynamic Formula

see Formula bodies below

Tax

Optional. Sets the product's tax to a single named tax, Sales Tax by default. The named tax must exist in the Zoho CRM tax settings.

Static

true

Product_Active

Optional. Marks the product active in Zoho CRM. Change if inactive products should transfer as inactive.

Formula bodies. The multi-line formulas above, verbatim:

// Qty_in_Stock
var result = await SumFullInventoryForProductAsync(Convert.ToInt64(Id));
if (result < 0 )
    return 0;
return result;
// Tax
var itemTax = new List<string> { "Sales Tax" };
return itemTax;

Error Handling

  • A product is rejected for a missing name. Zoho CRM enforces a product name; the failure appears in the error log. Resolution: ensure Product_Name is mapped and populated.

  • A tax write fails because the named tax is not configured. The Tax mapping writes a tax name that must already exist in Zoho CRM. Resolution: create the tax name (Sales Tax by default) in the Zoho CRM tax settings, or change the mapping to a configured tax.

  • A mapped custom field cannot be found in Zoho CRM. With Raise Custom Field Not Found Exception set to True, the transfer stops naming the field. Resolution: correct the field name in the iPaaS.com custom field configuration, or create the field in Zoho CRM.

  • A transfer fails when the Zoho CRM call allowance or concurrency cap is reached. The transfer is not rescheduled — it fails and is recorded in the error log. Resolution: pace bulk catalog work and re-run affected transfers once the allowance resets.

A dedicated Zoho CRM Error Messages article covers the integration's error catalog in full.

Testing & Validation

Test Scenarios

  1. Create a Product in iPaaS.com with a name and SKU, trigger a transfer, and confirm a Zoho CRM product is created with its code, price and stock.

  2. Update the product's price and confirm the existing Zoho CRM product updates rather than duplicating.

  3. Confirm the stock quantity in Zoho CRM equals the sum of the product's iPaaS.com inventory across locations.

  4. Transfer a product whose net stock is negative and confirm zero is written.

  5. Map a product custom field to a real Zoho CRM field and confirm the value lands.

  6. Manually sync by entering an iPaaS.com Product ID and confirm success.

Validation Checklist

  • The connected Zoho CRM user can read and write the Products module.

  • The tax name written by the Tax mapping exists in the Zoho CRM tax settings.

  • Product codes match the SKUs used on iPaaS.com transaction lines, if Sales Orders are also in use.

  • Any custom fields exist in Zoho CRM with matching iPaaS.com subscription custom fields.

Additional Notes

  • Stock is a point-in-time snapshot written at the moment of transfer; it does not stay in step with later iPaaS.com inventory movements until the Product is transferred again.

  • Negative stock is written as zero rather than a negative number.

  • Several Zoho CRM field types are not usable as mapping destinations — Image Upload, File Upload, Multi-line (Rich Text), Multiple Users, and Multi-select Lookup fields have each been observed either to be absent from the Products field list or to accept a value without storing it. Confirm any such field in staging first.

  • There is no bulk initialization. For an initial catalog load, use bulk sync using Postman.

The following are out of scope: product deletion, product variants/options/kits, images and file attachments, and inbound product sync.

Related Documents

Did this answer your question?