Summary
iPaaS.com Customers can be transferred from commercetools customers through the integration's polling schedule or through a Manual Sync run from iPaaS.com. Each transfer carries the customer's identifier, email address, name and company, together with every address held on that customer's commercetools address book. The purpose is to make storefront shoppers available to the subscriber's other connected systems — ERP, accounting, marketing and fulfilment — rather than leaving them confined to commercetools.
Two mapping collections make up this family: Add/Update commercetools Customer TO iPaaS.com (the parent) and Add/Update commercetools Customer Address TO iPaaS.com (its child). Both read from commercetools and write into iPaaS.com. Neither modifies anything in commercetools.
ID Format
Manual Sync ID Format
Enter the commercetools customer identifier — the identifier commercetools assigns to a customer when the record is created. It is visible on the customer's record in the commercetools Merchant Center. commercetools issues record identifiers as 36-character GUIDs (UUIDs):
fbd9c195-5028-46b3-b85d-016dc6e2f9b9
This is not the commercetools Customer Number field, which is a separate, optional, merchant-assigned value that this collection does not read.
There is only one ID format for this family. The child address collection has no Manual Sync entry point of its own — see Supported Child Collections below.
External ID Format
After a successful transfer, iPaaS.com stores the commercetools customer identifier — the same 36-character GUID, for example fbd9c195-5028-46b3-b85d-016dc6e2f9b9 — as the external ID on a dedicated external-ID record against the iPaaS.com customer. That record is the primary match on every later transfer: it is what links a repeat transfer to the same iPaaS.com customer instead of creating a duplicate.
The iPaaS.com Customer Number field acts only as a fallback match key when no external-ID record exists yet. Captured addresses carry no external identifier of their own; each one is linked to its iPaaS.com customer through the parent customer's external-ID record.
Deleted Record Support
Outbound delete is not supported by this integration for any entity. Delete mappings are not included in the default templates, and deletions do not propagate: deleting a customer in commercetools does not delete the corresponding iPaaS.com customer, and deleting an address in commercetools does not remove the previously captured iPaaS.com address. Records must be removed directly in each system.
If a delete is configured anyway, the transfer fails with a generic operation-not-implemented message — see commercetools Error Messages.
Custom Field Support
This integration has no custom-field implementation for the customer flow. Custom fields defined on a commercetools customer record or on a commercetools address are not read, and there is no conversion function available to retrieve them. Any commercetools value a subscriber needs in iPaaS.com must exist as a standard commercetools field and be added as an additional mapping.
Mapping Collection Status
Status: Enabled. Both collections ship enabled, and neither carries a mapping filter, so every commercetools customer returned by a poll or requested through a Manual Sync is processed, along with every address on that customer.
Trigger Events:
Poll — the integration periodically checks commercetools for customers whose last-modified time is later than the previous check, and captures those customers. No automatic transfers occur until polling is enabled for the subscription.
Manual Sync — available from the iPaaS.com Manual Sync page at any time, independent of the polling schedule, on the parent collection only.
There is no webhook or event-driven intake path from commercetools for customers. Customer intake is polling-based only.
Duplicate or Conflicting Mappings
Opposite-direction customer collections
Two other collections operate on the same entities in the opposite direction:
Add/Update commercetools Customer FROM iPaaS.com — writes customers from iPaaS.com into commercetools.
Add/Update commercetools Customer Address FROM iPaaS.com — writes addresses from iPaaS.com into commercetools, as a child of that collection.
Review both directions before enabling them together, and decide which system is the system of record for customer and address data. Running both directions on the same customers without a clear source of truth allows a change made in one system to be overwritten by the other on the next cycle.
How duplicates are prevented on the way in
Duplicate customers are prevented by the external-ID record described under ID Format, not by any configurable conflict-resolution setting. On every transfer the integration looks for the external-ID record carrying the commercetools customer identifier; when it finds one, the existing iPaaS.com customer is updated rather than a new one created. The integration does not implement configurable collision handling for any entity, so there are no match fields or resolution methods to select on either collection.
Customers sharing an email address
iPaaS.com requires the customer email address to be unique across customers when a customer is created. The commercetools email address is captured directly with no de-duplication step, so if two commercetools customers share an email address the second one to transfer fails to create. The failure is reported under Dashboard / Integration Monitoring / Error Logs.
Addresses are added, never removed
Each address on a transferring customer is captured as a separate iPaaS.com customer address. Because delete is not supported, an address removed from the commercetools address book after it was captured remains on the iPaaS.com customer.
Supported Child Collections
Parent Collection: Add/Update commercetools Customer TO iPaaS.com
Child Collection: Add/Update commercetools Customer Address TO iPaaS.com — captures the addresses held on the commercetools customer as addresses on the corresponding iPaaS.com Customer.
The child collection transfers inside the parent's customer record. The integration retrieves the commercetools customer and submits it to iPaaS.com with its addresses carried within that single customer record, which is how each address is attached to the correct iPaaS.com customer. Consequently:
The child has no independent trigger and no Manual Sync entry point of its own. It cannot be dispatched, filtered or manually synced on its own.
No mapping in the child carries a customer identifier, and none needs to be added — the parent supplies the linkage.
To transfer an address, transfer its customer: run Manual Sync on the parent with the commercetools customer identifier.
Enabling or disabling the child controls whether addresses accompany the customer; it does not create a separate address sync.
The address collection is a leaf — no further child collections hang off a customer address.
System Caveats
commercetools Caveats
Intake is polling-based. A change made in commercetools becomes visible in iPaaS.com on the next poll cycle, not at the moment it is saved.
A poll cycle can permanently skip changed customers. Each poll returns only a limited page of the customers changed since the previous check, and the integration then advances its last-checked marker past the whole window regardless of how many customers that page contained. Any customer changed within that window but not included in the returned page is not picked up on a later cycle — it is skipped, and no error is raised. This is data loss, not a delay. Manual Sync is the only recovery. See Known Limitations.
The commercetools Customer Number field is not read. It is optional and merchant-assigned. The CustomerNumber mapping captures the commercetools customer identifier instead. Subscribers who maintain human-readable customer numbers in commercetools and need them in iPaaS.com must repoint that mapping — before the first transfer, not after customers have already been created.
commercetools holds both a region and a state value on an address, and this integration reads the state value. Subscribers who record their province, state or county in the commercetools region field will see the iPaaS.com Region arrive empty. Confirm which of the two fields the storefront populates and repoint the mapping if it is the region value, before the first transfer.
The street number is a separate value from the street name, and only the street name is captured. In markets where shoppers enter the house or building number in its own field, iPaaS.com addresses arrive without it.
The country is a two-letter code. Addresses arrive in iPaaS.com carrying the code rather than a country name; downstream systems expecting a full country name need a translation applied.
Email uniqueness is not guaranteed by commercetools when a customer belongs to a store, while iPaaS.com does require it on create.
commercetools requires a country on every address. The remaining address values are optional in commercetools and may legitimately be empty.
Request limits and per-project quotas apply. commercetools publishes them at
https://docs.commercetools.com/api/limits(retrieved 2026-07-20); most are configurable per project, a few are hard limits. commercetools also bounds the shape of an individual query — thelimitparameter accepts a value between 0 and 500 and defaults to 20 on most query endpoints (https://docs.commercetools.com/api/general-concepts, retrieved 2026-07-20). This documentation makes no claim that a request declined for a limit is retried or resumed on the subscriber's behalf. Treat a declined request as a failed transfer: monitor Dashboard / Integration Monitoring / Error Logs, re-run affected records with Manual Sync, and validate expected throughput in a staging environment before relying on it in production.
iPaaS.com Caveats
A customer number and an email address are required on every iPaaS.com customer. Both are mapped by default and both are always present on a commercetools customer.
At least one of First Name, Last Name or Company must be supplied on an iPaaS.com customer. All three are mapped by default, so the condition is satisfied.
The email address must be unique across customers when a customer is created.
No field is required on a customer address beyond its link to a customer, which the parent supplies. An incomplete commercetools address transfers successfully and arrives incomplete — the integration will not reject it. Subscribers should confirm that the detail their downstream systems depend on, commonly Address 1, City, Postal Code and Country, is actually populated in commercetools.
Addresses arrive without a primary shipping or primary billing designation, because neither value is mapped. Set it in iPaaS.com, or add the mapping.
Delete is not supported for any entity in either direction.
Initialization is not supported. There is no bulk first-load step; use Manual Sync to bring historical customers across.
Integration-Specific Caveats
Only the values listed in the mapping tables below are captured. Any other commercetools customer or address detail a subscriber needs in iPaaS.com must be added as an additional mapping.
The integration does not transfer any dependent record automatically ahead of a customer. Nothing else needs to exist in iPaaS.com before a customer transfers.
The address-level company is distinct from the company name on the parent customer record; both are captured, into different iPaaS.com fields.
Setup Requirements
commercetools Configuration
A commercetools project with customers to transfer, reachable through the credentials configured for the subscription.
No webhook or subscription needs to be created in commercetools for this family. There is no inbound webhook event to subscribe to — customer intake is polling-based only.
A decision on which commercetools field holds the subscriber's state or province value, and which field holds their customer number, before the first transfer.
iPaaS.com Configuration
A configured and authorized commercetools connection for the subscription. The credential set and the region constraint are covered in commercetools Connections and Settings; the full setup walkthrough is in commercetools Installation Instructions.
Polling enabled for the integration, if customers are to transfer without manual intervention.
Both collections enabled, if addresses are to accompany the customer.
A decision on the system of record for customer data, if the opposite-direction customer collection is also enabled.
Authentication is handled by the subscription's commercetools connection; no per-collection credential is configured. The endpoints the integration calls are listed in commercetools API Endpoints.
Integration Flow
A poll runs on the integration's schedule, or a subscriber runs a Manual Sync on Add/Update commercetools Customer TO iPaaS.com and supplies a commercetools customer identifier such as
fbd9c195-5028-46b3-b85d-016dc6e2f9b9.On a poll, the integration asks commercetools for customers whose last-modified time is later than its previous check. Only a limited page of those customers is returned, and the last-checked marker is then advanced past the whole window — customers changed in that window but not in the returned page are skipped and are recoverable only through a Manual Sync.
The integration retrieves the commercetools customer record, including the addresses held on it.
No mapping filter is applied on either collection, so every retrieved customer and every address on it is processed.
The parent mappings populate the iPaaS.com customer's Customer Number, Email Address, First Name, Last Name and Company.
The child mappings populate each address's First Name, Last Name, Company, Address 1, City, Region, Country and Postal Code.
The customer and its addresses are submitted to iPaaS.com as a single customer record. The addresses travel inside that record, which is what attaches each one to the correct iPaaS.com customer.
iPaaS.com matches the incoming customer to an existing one by the external-ID record carrying the commercetools customer identifier. If a match is found the customer is updated; otherwise a new iPaaS.com customer is created and the external-ID record is written. The iPaaS.com customer number is the fallback match key when no external-ID record exists yet.
A create that duplicates an existing customer's email address is rejected by iPaaS.com and reported under Dashboard / Integration Monitoring / Error Logs.
Nothing is written back to commercetools. Corrections made to the iPaaS.com customer stay in iPaaS.com unless the opposite-direction collection is also enabled.
Mappings
Add/Update commercetools Customer TO iPaaS.com
iPaaS.com data type: Customer
Description: Captures a commercetools customer record and records it in iPaaS.com as a Customer. This collection has no mapping filter, so every customer reaching it is processed.
Mapping Type | Source Field (commercetools) | Destination Field (iPaaS.com) | Description |
Field |
| CustomerNumber | Required. Captures the commercetools customer identifier — the system-generated 36-character GUID assigned when the record is created, not the separate merchant-assigned commercetools Customer Number field. iPaaS.com requires a customer number on every customer, and this value is always present. The same value is saved as the external ID, so the customer number and the external ID agree by default. Subscribers who need their own human-readable customer numbers in iPaaS.com should repoint this mapping before the first transfer. |
Field |
| EmailAddress | Required. Captures the commercetools customer email address. commercetools requires an email address on every customer, so the value is always present. iPaaS.com additionally requires it to be unique across customers on create; the value is captured with no de-duplication step, so two commercetools customers sharing an email address will collide. |
Field |
| FirstName | Recommended. Captures the customer's first name. iPaaS.com requires at least one of First Name, Last Name or Company; all three are mapped, so the condition is met. The first name is optional in commercetools — if empty, the iPaaS.com value is left empty and the transfer still succeeds. |
Field |
| LastName | Recommended. Captures the customer's last name, satisfying the same "at least one of three" condition as First Name. Optional in commercetools; if empty, the iPaaS.com value is left empty and the transfer still succeeds. |
Field |
| Company | Recommended. Captures the customer's company name, satisfying the same "at least one of three" condition as First Name. Optional in commercetools and normally empty for ordinary consumer accounts. This populates the Company field on the iPaaS.com customer record; it does not create or link an iPaaS.com Company record. |
Add/Update commercetools Customer Address TO iPaaS.com
iPaaS.com data type: Customer Address
Description: Captures the addresses held on a commercetools customer record as addresses on the corresponding iPaaS.com Customer. This is a child collection of Add/Update commercetools Customer TO iPaaS.com — it runs only as part of a parent customer transfer, has no mapping filter, and has no Manual Sync entry point of its own. No mapping here carries a customer identifier because the parent supplies that linkage.
Mapping Type | Source Field (commercetools) | Destination Field (iPaaS.com) | Description |
Field |
| FirstName | Optional on both sides. Captures the recipient first name held on the commercetools address, which may differ from the name on the customer record — a shipping address can be addressed to someone other than the account holder. If empty, the iPaaS.com value is left empty and the address still transfers. |
Field |
| LastName | Optional on both sides. Captures the recipient last name held on the commercetools address rather than on the customer record. If empty, the iPaaS.com value is left empty and the address still transfers. |
Field |
| Company | Optional on both sides, and normally empty for consumer addresses. Captures the company name held on the commercetools address. This is the address-level company, distinct from the company name on the parent customer record. |
Field |
| Address1 | Optional on both sides. Captures the commercetools street name. commercetools stores the street name and the street number as two separate values and only the street name is mapped, so addresses arrive without a house or building number in markets that use the separate field — extend this mapping to combine the two before go-live if that applies. iPaaS.com supports additional address lines, but no commercetools value is mapped to them. |
Field |
| City | Optional on both sides. Captures the commercetools city. If empty, the iPaaS.com value is left empty and the address still transfers — the integration does not reject an address for a missing city. |
Field |
| Region | Optional on both sides. Captures the commercetools state value. commercetools holds two separate values for this concept on an address — a region value and a state value — and this mapping reads the state value. Subscribers who record their province, state or county in the commercetools region field instead will see the iPaaS.com region arrive empty; repoint this mapping before the first transfer if that applies. |
Field |
| Country | Optional from the iPaaS.com side, but commercetools requires a country on every address so the value is always present in practice. commercetools stores the country as a two-letter code rather than a country name, so iPaaS.com addresses arrive carrying the code; downstream systems expecting a full name need a translation applied. |
Field |
| PostalCode | Optional on both sides. Captures the commercetools postal or ZIP code exactly as entered, with no reformatting, so any spacing or casing convention used in the storefront carries through. If empty, the iPaaS.com value is left empty and the address still transfers. |
Error Handling
The full catalog of user-facing messages is in commercetools Error Messages. The failures most likely to be seen on this family are:
"Error calling CommerceTool CallWrapper.{action}: {response body} (Http Code: {status})" — commercetools returned a non-success HTTP status while the customer was being read. The useful detail is the response body, which carries the text commercetools itself reported. A
429means the project's request rate was exceeded. Resolution: read the response body in the Error Logs entry and correct the source record or the mapping it names. Transfers are not automatically rescheduled or resumed by this integration — stagger large jobs, avoid running several intensive transfers at once, and re-run the affected records with Manual Sync.Email address already in use — reported by iPaaS.com when a create carries an email address that already belongs to another iPaaS.com customer. This is the expected outcome when two commercetools customers share an email address. Resolution: correct the duplicate in commercetools, or decide which of the two customers should exist in iPaaS.com, then re-run the transfer for that customer.
"Call to PollRequest with unhandled parameters: System=CommerceTool {collection}, sourceObject could not be created" — the poll ran but the customer record it was to work on could not be constructed. Resolution: confirm the collection is configured for the customer record type and that the commercetools connection is authorized, then re-run. If the configuration is correct, contact iPaaS.com Support at support@ipaas.com with the Error Logs entry.
"The method or operation is not implemented." — a delete was requested for a commercetools customer or address. Delete is not supported. Resolution: remove any configuration that asks the integration to delete a commercetools record.
No message at all — a customer skipped by a poll cycle produces no error and no entry in the Error Logs. Nothing in the logs will indicate that a record was missed. Resolution: reconcile expected customers after each cycle and re-sync any that are absent by their commercetools customer identifier.
Failures are reported under Dashboard / Integration Monitoring / Error Logs.
Validation Rules
The iPaaS.com customer number must be present. It is supplied from the commercetools customer identifier, which always exists.
The iPaaS.com email address must be present and must be unique across customers when a customer is created.
At least one of the iPaaS.com First Name, Last Name or Company must be supplied. All three are mapped, so the rule is satisfied by default and only fails if all three are unmapped or all three are empty in commercetools.
No validation rule is enforced on a customer address beyond its link to a customer, which the parent transfer supplies. Address completeness is not validated by either system.
Neither collection applies a mapping filter, so no record is rejected on filter grounds.
Testing & Validation
Test Scenarios
Create and capture a new customer. Register a new customer in commercetools with a first name, last name and email address, wait for the next poll cycle, and confirm an iPaaS.com Customer is created with the matching Customer Number, Email Address, First Name, Last Name and Company. Expected outcome: one new iPaaS.com customer, no duplicate.
Update an existing customer. Change the last name on a customer already captured in iPaaS.com and confirm the change propagates on the next poll. Expected outcome: the existing iPaaS.com customer is updated, not duplicated, because the external-ID record matched.
Verify the Manual Sync ID format. Run a Manual Sync on Add/Update commercetools Customer TO iPaaS.com using a 36-character commercetools customer identifier such as
fbd9c195-5028-46b3-b85d-016dc6e2f9b9and confirm the transfer succeeds. Repeat with a value that is not a commercetools customer identifier — for example the merchant-assigned customer number — and confirm the transfer fails rather than matching the wrong record.Verify parent-child transfer. Add two addresses to a commercetools customer's address book, re-sync the customer, and confirm both arrive as separate iPaaS.com customer addresses attached to that customer. Confirm there is no way to sync an address without its customer.
Verify the email uniqueness failure. Create a second commercetools customer with an email address already used by a captured iPaaS.com customer and confirm the transfer fails with a message in the Error Logs rather than silently overwriting the first customer.
Verify the region field. Populate the commercetools address state value on one test address and the commercetools region value on another. Confirm the first arrives with an iPaaS.com Region and the second arrives with Region empty. This confirms which commercetools field the storefront should be using before go-live.
Verify the street address. Enter a house or building number in the commercetools street-number field and confirm it does not arrive in Address 1. Decide before go-live whether the mapping needs extending.
Verify poll capacity. Change more customers in commercetools between two poll cycles than a single page can carry, then reconcile the arrivals against the changes made. Any customer missing from iPaaS.com with no Error Logs entry demonstrates the skip behavior described in Known Limitations and should be recovered with Manual Sync.
Validation Checklist
The commercetools connection is configured and authorized for the subscription.
Polling is enabled, if customers are to transfer without manual intervention.
Both Add/Update commercetools Customer TO iPaaS.com and Add/Update commercetools Customer Address TO iPaaS.com are enabled.
The system of record for customer data has been decided, if the opposite-direction collections are also enabled.
It has been confirmed whether the CustomerNumber mapping should stay on the commercetools customer identifier or be repointed at the merchant-assigned customer number — and the decision was made before the first transfer.
It has been confirmed which commercetools field the storefront uses for state or province, and the Region mapping matches it.
A decision has been recorded on whether the commercetools street number needs to be added to the Address 1 mapping.
A sample customer has transferred end to end with its addresses, and the values in iPaaS.com match commercetools field for field.
A repeat transfer of the same customer updates rather than duplicates.
Dashboard / Integration Monitoring / Error Logs has been checked after the first cycles, and a reconciliation of expected against arrived customers has been performed at least once.
Additional Notes
The following are not carried by this family:
Deleting customers or addresses in either system.
Customer groups, stores, authentication mode, password and password-reset state, date of birth, VAT identifier, middle name, title and salutation.
The commercetools street number, additional street info, building, apartment, PO box, department, address key and address external identifier, and the address-level email, phone, mobile and fax values.
Address type, and the primary billing and primary shipping designations.
Custom fields on either the commercetools customer or the commercetools address.
Writing anything back to commercetools. Subscribers who need iPaaS.com customers published into the storefront should review Add/Update commercetools Customer FROM iPaaS.com, which runs in the opposite direction and carries its own separate behaviors.
For the broader set of behaviors to plan around, see Known Limitations. For assistance, contact iPaaS.com Support at support@ipaas.com.
