Contents
Summary
ID Format
Deleted Record Support
Mapping Collection Status
Duplicate or Conflicting Mappings
Supported Child Collections
System Caveats
Setup Requirements
Integration Flow
Mappings
Error Handling
Testing & Validation
Out of Scope
Additional Notes
Summary
Clover customers can be transferred into iPaaS.com so that the iPaaS.com customer list stays aligned with the customers who exist in Clover. Two parent collections carry the flow: one creates new iPaaS.com customers from Clover and one updates customers that already exist, each with a child collection that carries the customer's address alongside the customer record. Customers move automatically as part of transaction polling — when the integration polls a Clover order that references a customer, that customer is transferred with the order — and Manual Sync is always available to transfer a specific customer on demand.
ID Format
Manual Sync ID Format
The parent customer collections accept a Manual Sync key. Enter the Clover customer identifier for the customer you want to transfer. A Clover customer identifier is a single opaque value carried on the customer record.
Pattern:
{CloverCustomerId}Example:
8FGH1234ABCD5
The two child address collections do not take their own Manual Sync key. An address is matched to its customer through the parent transfer, so there is no separate identifier to enter for the address.
External ID Format
After a customer transfers, the integration stores a dedicated external-identifier record that links the Clover customer to its iPaaS.com counterpart, keyed on the Clover customer identifier. Because of this link, the same Clover identifier resolves the same iPaaS.com record on every repeat transfer, so re-syncing a customer updates the existing record rather than creating a duplicate.
Deleted Record Support
Outbound delete is not part of this flow. The Add and Update collections documented here transfer new and changed customers into iPaaS.com; they do not carry deletions. Delete mappings are not included in the default templates for the Clover-to-iPaaS.com customer collections, and a customer removed in Clover is not automatically removed from iPaaS.com through these collections. If a customer should no longer be active in iPaaS.com, manage that customer directly in iPaaS.com.
Mapping Collection Status
Status: Both parent collections are active. Add Clover Customer TO iPaaS.com creates customers; Update Clover Customer TO iPaaS.com updates existing customers. Each processes a Clover customer only when the customer passes the mapping filter described in the Mappings section. The two child address collections are active and have no filter of their own.
Trigger Events: A customer is transferred when a polled Clover order references that customer (the customer travels with the transaction). Manual Sync can trigger a transfer of a specific customer at any time. No webhook configuration is required by the subscriber.
Duplicate or Conflicting Mappings
Duplicate or conflicting collections
Two collections target the Clover-sourced iPaaS.com customer: one creates and one updates. To avoid records overwriting one another, no other active mapping collection should target the same iPaaS.com customer from the same source. Review your active collections if the same customer appears to change unexpectedly.
Collision handling
The Clover integration does not provide collision handling for the customer flow. When the same record could be changed from more than one side, the integration does not run a field-level merge or conflict-resolution step. Decide which system is the system of record for each customer and drive changes from that side. This behavior is described in the Clover Integration Known Limitations article.
Unmapped Field Overwrite Risk
The Update flow writes the mapped fields onto the existing iPaaS.com customer on every transfer. First Name, Last Name, and Email Address are refreshed from Clover each time, so any value entered directly in iPaaS.com on those fields is replaced by the Clover value on the next update. The integration omits empty (null) values from the write rather than sending them as blanks, so a field that is not part of these collections' mappings is left as it is on the destination record — unmapped fields are preserved, not cleared. For a field that should keep a value set in iPaaS.com rather than one sourced from Clover, use the destination-value approach so the update reads the existing iPaaS.com value back into the write and preserves it. This is exactly how Customer Number is preserved on update, using DestinationValue.CustomerNumber.
Supported Child Collections
Each parent customer collection supports one child address collection. The child does not transfer on its own; it moves whenever its parent customer moves.
Parent Collection | Child Collection | Purpose |
Add Clover Customer TO iPaaS.com | Add Clover Customer Address TO iPaaS.com | Carries the new customer's address details alongside the customer record. |
Update Clover Customer TO iPaaS.com | Update Clover Customer Address TO iPaaS.com | Refreshes the existing customer's address details alongside the customer update. |
System Caveats
Clover Caveats
When Clover reports that too many requests have been made in a short period, the integration automatically pauses and retries the affected calls; no subscriber action is required. Customer records that have no email address in Clover are excluded by the mapping filter and will not appear in — or be updated in — iPaaS.com. For the address child collections, only address fields that are present on the Clover customer are carried; a field that is empty in Clover arrives empty in iPaaS.com.
iPaaS.com Caveats
iPaaS.com treats Customer Number as the primary customer identifier and expects a value on every record; on update the existing number is preserved rather than replaced. Email Address is expected to be unique per customer — if a Clover customer resolves to an email that already exists on a different iPaaS.com customer, the transfer can be rejected as a conflict. An address is stored against the customer created or matched by the parent collection: if the parent customer is not created or matched, there is no customer to attach the address to and the address is not stored.
Integration-Specific Caveats
The guest-email default is the only conditional field behavior in this flow. When a Clover customer's email is empty, the collection substitutes the default value guest@customerdomain.com so the required Email Address field is satisfied. Because the mapping filter already skips customers whose Clover email is empty, this default acts as a safeguard rather than the usual outcome. Note that multiple customers resolving to the shared guest value can conflict with one another under the uniqueness expectation above.
Setup Requirements
Clover Configuration
Populate an email address on each Clover customer you expect to sync; customers with no email are excluded by the filter. Populate the customer's address fields where available so the address child collection has data to carry.
iPaaS.com Configuration
No subscriber-facing setup is required on the iPaaS.com side to receive customers — automatic capture happens as part of transaction polling, so there is no webhook to configure. The Clover integration must be installed and authorized for the subscription before any transfer, and for the update flow a matching customer must already exist in iPaaS.com for the update to apply.
Authentication & Security
The integration authenticates to Clover using the credentials established when the Clover integration is authorized for the subscription. No additional per-transfer authentication is required for the customer flow. For the full installation and authorization walkthrough, see the Clover Installation Instructions article.
Integration Flow
The integration polls Clover for orders. When a polled order references a customer, that customer is transferred with the order; the customer must exist on the transaction for this to occur. Alternatively, a subscriber runs Manual Sync on a parent customer collection using the Clover customer identifier.
The Clover customer is read and evaluated against the mapping filter. A customer with no email address in Clover is skipped and does not proceed.
The mapped identifying and contact fields are assembled into an iPaaS.com customer record. On Add, the customer is created; on Update, the mapped fields are written onto the matched iPaaS.com customer and the established Customer Number is preserved.
The address child collection writes the mapped address fields to the customer's address as part of the same transfer — there is no separate subscriber-initiated step for the address.
The integration stores or reuses the external-identifier record that links the Clover customer to its iPaaS.com counterpart, so repeat transfers resolve the same record.
Mappings
The Add and Update parent collections carry the same four customer fields, differing only in how Customer Number is handled (created from Clover on Add; preserved from the existing record on Update). The two child collections carry the same eight address fields. Each is documented below.
Add Clover Customer TO iPaaS.com
iPaaS.com data type: Customer
Mapping Filter
!IsEmpty(EmailAddress)
Filter Description. This collection processes a Clover customer only when the customer has a non-empty email address. A customer whose Clover EmailAddress is empty fails the filter and is skipped — no iPaaS.com customer is created and no error is raised (the skip is silent). The filter is evaluated against the raw Clover email before the email mapping's default guest value is applied, so an empty-email customer is never created even though the email mapping could otherwise supply a default.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Field | Id | CustomerNumber | Required. Populates the iPaaS.com Customer Number from the Clover customer's identifier, which serves as the primary customer identifier. If the Clover identifier is missing, the record cannot be created because iPaaS.com will not accept a customer without this value. |
Field | FirstName | FirstName | Recommended for record completeness; not required by iPaaS.com. If the Clover customer has no first name, the field is left empty and the transfer still succeeds. |
Field | LastName | LastName | Recommended for record completeness; not required by iPaaS.com. If the Clover customer has no last name, the field is left empty and the transfer still succeeds. |
Dynamic Formula |
| EmailAddress | Required. Uses the Clover customer's email when present; when it is empty, substitutes the default |
Update Clover Customer TO iPaaS.com
iPaaS.com data type: Customer
Mapping Filter
!IsEmpty(EmailAddress)
Filter Description. This collection processes a Clover customer only when the customer has a non-empty email address. A customer whose Clover EmailAddress is empty fails the filter and is skipped — the existing iPaaS.com customer is not updated and no error is raised (the skip is silent). As with the Add collection, the filter is evaluated against the raw Clover email before the email mapping's default guest value is applied.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| CustomerNumber | Required. Keeps the iPaaS.com Customer Number as it already is on the matched customer: the formula reads the current destination value and writes it back unchanged rather than re-deriving it from Clover, preserving the established identifier across updates. This is the recommended pattern for any field that should retain its iPaaS.com value rather than be overwritten from the source. |
Field | FirstName | FirstName | Recommended for completeness; not required. Refreshed from Clover on every update, so a first name edited directly in iPaaS.com is replaced by the Clover value on the next transfer. If the Clover customer has no first name, the field is set empty. |
Field | LastName | LastName | Recommended for completeness; not required. Refreshed from Clover on every update, so a last name edited directly in iPaaS.com is replaced by the Clover value on the next transfer. If the Clover customer has no last name, the field is set empty. |
Dynamic Formula |
| EmailAddress | Required. Uses the Clover customer's email when present; when it is empty, substitutes the default |
Add Clover Customer Address TO iPaaS.com
iPaaS.com data type: Customer Address
This child collection has no mapping filter of its own. Its records are gated entirely by the parent Add Clover Customer TO iPaaS.com collection: whichever customers the parent processes, their addresses are carried through here. The address transfers only as part of the parent customer transfer.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Field | Address1 | Address1 | Recommended for a complete address; not required. If the source line is empty, the destination line is left empty and the transfer still succeeds. |
Field | Address2 | Address2 | Recommended for a complete address; not required. Empty in the source means empty in the destination. |
Field | Address3 | Address3 | Recommended for a complete address; not required. Empty in the source means empty in the destination. |
Field | City | City | Recommended for a complete address; not required. Empty in the source means empty in the destination. |
Field | State | Region | Recommended for a complete address; not required. The Clover State value is passed through as provided to the iPaaS.com Region field, so subscribers should confirm the source uses region values that iPaaS.com and downstream systems accept. Empty in the source means empty in the destination. |
Field | Country | Country | Recommended for a complete address; not required. The value is passed through as provided by Clover. Empty in the source means empty in the destination. |
Field | Zip | PostalCode | Recommended for a complete address; not required. Maps the Clover Zip value to the iPaaS.com Postal Code field. Empty in the source means empty in the destination. |
Field | PhoneNumber | PhoneNumber | Recommended for a complete contact record; not required. Empty in the source means empty in the destination. |
Update Clover Customer Address TO iPaaS.com
iPaaS.com data type: Customer Address
This child collection has no mapping filter of its own. Its records are gated entirely by the parent Update Clover Customer TO iPaaS.com collection: whichever customers the parent updates, their addresses are carried through here. The address update transfers only as part of the parent customer update. Because these fields are refreshed from Clover on every update, a value edited directly in iPaaS.com on a mapped address field is replaced by the Clover value on the next transfer, and an empty source field clears the mapped destination field.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Field | Address1 | Address1 | Recommended for a complete address; not required. Refreshed on every update; an empty source line clears the destination line. |
Field | Address2 | Address2 | Recommended for a complete address; not required. Refreshed on every update; an empty source value clears the destination. |
Field | Address3 | Address3 | Recommended for a complete address; not required. Refreshed on every update; an empty source value clears the destination. |
Field | City | City | Recommended for a complete address; not required. Refreshed on every update; an empty source value clears the destination. |
Field | State | Region | Recommended for a complete address; not required. Maps the Clover State value to the iPaaS.com Region field, passed through as provided; subscribers should confirm the source uses region values that iPaaS.com and downstream systems accept. Refreshed on every update; an empty source value clears the destination. |
Field | Country | Country | Recommended for a complete address; not required. The value is passed through as provided by Clover. Refreshed on every update; an empty source value clears the destination. |
Field | Zip | PostalCode | Recommended for a complete address; not required. Maps the Clover Zip value to the iPaaS.com Postal Code field. Refreshed on every update; an empty source value clears the destination. |
Field | PhoneNumber | PhoneNumber | Recommended for a complete contact record; not required. Refreshed on every update; an empty source value clears the destination. |
Error Handling
Errors for this flow surface in the iPaaS.com Dashboard under Integration Monitoring and then Error Logs. The full catalog of Clover integration error messages, with resolutions, lives in the Clover Error Messages article; consult it when you see an error in your logs.
Two behaviors specific to the customer flow are worth calling out:
A customer with no email address in Clover is skipped silently. The mapping filter excludes these records, so they are filtered before any write is attempted. No error message is written to Error Logs — the customer simply does not appear (Add) or is not updated (Update). To transfer such a customer, populate a valid email address on the Clover customer.
A duplicate email conflict can reject the transfer. iPaaS.com expects Email Address to be unique per customer. If a Clover customer resolves to an email already used by a different iPaaS.com customer — including several customers falling back to the shared
guest@customerdomain.comdefault — the transfer can be rejected as a conflict. Resolve the duplicate email in Clover so the customer resolves to a unique address.
Testing & Validation
Test Scenarios
New customer sync. Create a Clover customer with a valid email address, then poll an order that references the customer (or run Manual Sync on the customer identifier). Confirm a new customer is created in iPaaS.com with the Clover identifier as its Customer Number.
Update an existing customer. Change the first name, last name, or email on a Clover customer that already exists in iPaaS.com, re-transfer, and confirm the change propagates while the Customer Number stays unchanged.
Address sync. Populate or change the address fields on the Clover customer and confirm the address is carried into the iPaaS.com customer's address through the child collection.
Required-field / filter validation. Create a Clover customer with no email address, attempt to transfer it, and confirm it does not sync and that no error is written to Error Logs (the record is filtered silently).
ID format. Run Manual Sync using the documented Clover customer identifier pattern and confirm the correct customer transfers.
Duplicate email. Point two Clover customers at the same email address, transfer both, and confirm the second is rejected as a uniqueness conflict.
Validation Checklist
Only customers with a non-empty Clover email address are transferred.
Customer Number carries the Clover identifier on Add and is preserved unchanged on Update.
Email Address is always populated on the transferred record (Clover email, or the guest default).
Address fields present in Clover appear on the iPaaS.com customer address; empty source fields arrive empty.
Re-transferring the same customer updates the existing record rather than creating a duplicate.
On Update, fields not carried by these collections retain their existing iPaaS.com values.
Out of Scope
The Add collections do not update customers that already exist in iPaaS.com, and the Update collections do not create customers that do not yet exist — the two flows are separate.
These collections do not transfer orders, products, or inventory.
Address handling is limited to the fields carried by the child address collections.
Deletions are not propagated to iPaaS.com through these collections (see Deleted Record Support).
Additional Notes
Email Address is effectively mandatory for this flow because the mapping filter excludes customers without a Clover email; the guest-email default only applies to records that already pass the filter.
This flow maps identifying and contact fields only. Fields not listed in the mappings are not sent to iPaaS.com; on Update they are preserved on the existing record. This behavior and the broader integration constraints are described in the Clover Integration Known Limitations article.
