Summary
This documentation covers how the Zuper integration sends customer records from iPaaS.com to Zuper. When a customer is created or updated in iPaaS.com and dispatched through these collections, the integration creates or updates the matching record in Zuper as either an individual customer or an organization, decided automatically from the record's data. The customer's address is written to Zuper as part of the same transfer through the child address collection, so customers maintained in iPaaS.com are reflected in Zuper without manual re-entry.
ID Format
Manual Sync ID Format
For a Manual Sync, enter the iPaaS.com customer identifier for the record you want to send to Zuper. Example: 288.
External ID Format
After a successful transfer, iPaaS.com records the Zuper customer_uid as the external ID on a dedicated external-ID record, which routes later updates to the same Zuper customer. Example customer_uid: 800af730-b7fb-11ed-80d7-bb59aacf01c7. The Id mapping also carries this identifier onto the record so subsequent updates match the existing Zuper customer instead of creating a duplicate.
Deleted Record Support
Deleting a customer through this collection deactivates the customer in Zuper rather than permanently (hard) deleting it. Address deletion is not supported: an address cannot be removed from Zuper on its own through the child collection. Delete mappings are not included in the default templates for these collections.
Mapping Collection Status
Enabled. Neither collection has a mapping filter, so all dispatched records are processed.
Trigger Events: Transfers to Zuper in this direction are driven by iPaaS.com outbound triggers and Manual Sync. In the subscription configuration's Outbound Data Flows section, subscribe the relevant customer Add and Update triggers so that customer changes in iPaaS.com dispatch to Zuper. A Manual Sync is also available at any time from the iPaaS.com Manual Sync page. This direction does not use Zuper webhooks.
Duplicate or Conflicting Mappings
Add Zuper Customer TO iPaaS.com: operates on the same customer entity in the opposite direction, capturing customers from Zuper into iPaaS.com.
Add Zuper Customer Address TO iPaaS.com: handles the same address data in the opposite direction, capturing addresses from Zuper into iPaaS.com.
Before enabling both directions, review the filters and Add/Update settings on both collections and decide which system is the source of truth for customer data, to avoid records overwriting each other.
Collision Handling
Collision handling is not used by these collections. Records are matched by the saved external ID and, before an external-ID link exists, by the customer identifier — not by a configurable collision rule.
Supported Child Collections
Add Zuper Customer Address FROM iPaaS.com: writes the customer's address to Zuper as part of the customer transfer. The address is linked to the customer it belongs to and is not transferred independently.
Zuper Caveats
First name required: a new individual customer must have a first name or Zuper rejects it.
Organization name required: a record created as an organization must have an organization name.
Addresses travel with the customer: address data is written during the customer transfer, not as a separate call.
iPaaS.com Caveats
The customer record must exist in iPaaS.com before it can be dispatched to Zuper.
The parent customer must be present in iPaaS.com for its address to transfer.
Setup Requirements
Enable the outbound triggers: in the subscription configuration's Outbound Data Flows section, subscribe the relevant customer Add and Update triggers. No automatic transfers occur until those outbound subscriptions are enabled.
Authentication: the integration authenticates to Zuper with an API key.
Installation: for connection and authentication setup, see the Zuper Installation Instructions article.
Integration Flow
A single transfer writes the record to Zuper in one of two ways, decided automatically from the record's data:
When the record is an individual customer, the integration creates it with a POST to the Zuper Customers endpoint, then reads the new record back to confirm the assigned customer identifier.
When the record is an organization, the integration creates it with a POST to the Zuper Organization endpoint instead.
On an update, the integration writes to the corresponding Zuper record by its identifier rather than creating a new one.
The customer's primary and billing addresses are placed on the record as part of this same write: the address flagged as primary goes into the service-address slot and the other into the billing-address slot.
Add Zuper Customer FROM iPaaS.com
This collection sends the customer record from iPaaS.com to Zuper, creating or updating it as either an individual customer or an organization depending on the record's data.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Zuper) | Description |
Field | CustomerNumber | Id | Sends the iPaaS.com CustomerNumber as the Zuper customer identifier; empty on first transfer (Zuper generates the |
Field | FirstName | FirstName | Sets the customer's first name in Zuper. Required for individual customers: Zuper rejects a new customer with no first name. |
Field | LastName | LastName | Sets the customer's last name in Zuper. Recommended; Zuper accepts a customer without one but mapping it gives a complete record. |
Field | Company | Company | Sets the company name on the Zuper customer record and is used to help decide whether the record is created as an organization. Recommended. |
Field | EmailAddress | Sets the customer's email address in Zuper. Recommended so the customer can be contacted and matched reliably. | |
Field | Comment | Description | Copies the iPaaS.com customer comment into the Zuper customer description. Optional. |
Field | Company | OrganizationName | Supplies the organization name when the record is created as an organization, drawn from the same Company value. Required for organization records: Zuper rejects a new organization with no organization name. |
Field | EmailAddress | OrganizationEmail | Supplies the organization email when the record is created as an organization. Recommended for organization records; no effect on individual customers. |
Dynamic Formula |
| IsOrganization | Decides whether the record is created as an individual customer or an organization: honors the Zuper Organization custom field when set to true or false, otherwise treats the record as an organization when a company name is present that does not simply repeat the first and last name. Recommended. |
Add Zuper Customer Address FROM iPaaS.com
This child collection supplies the customer address that is written to Zuper as part of the parent customer transfer; it does not create an address on its own. All fields are optional for Zuper.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Zuper) | Description |
Field | City | City | Sets the city of the Zuper customer address. Recommended. |
Field | Country | Country | Sets the country of the Zuper customer address. Recommended. |
Field | FirstName | FirstName | Sets the contact first name stored on the address. Optional. |
Dynamic Formula |
| IsPrimary | Determines whether this address is written as the customer's primary (service) address: not primary if flagged as primary billing, otherwise primary if the Zuper Primary Contact custom field is true, otherwise no primary flag. Zuper uses this to place the address in the service versus billing slot. Optional. |
Field | LastName | LastName | Sets the contact last name stored on the address. Optional. |
Field | PhoneNumber | PhoneNumber | Sets the contact phone number stored on the address. Optional. |
Field | Region | State | Sets the state or region of the Zuper customer address; the iPaaS.com Region value is used for the Zuper state. Recommended. |
Field | Address1 | Street | Sets the street line of the Zuper customer address. Recommended for a usable address. |
Field | PostalCode | ZipCode | Sets the postal or zip code of the Zuper customer address. Recommended. |
Error Handling
For the meaning of specific errors returned during a transfer and how to resolve them, see the Zuper Error Messages article. This documentation does not duplicate that catalog.
Testing & Validation
Test Scenarios
Create a customer in iPaaS.com and verify it syncs to Zuper as the expected individual customer or organization.
Update a field on an existing customer in iPaaS.com and verify the change is reflected on the matched Zuper record.
Attempt a transfer with a missing first name (for an individual customer) and verify the expected error is returned.
Trigger a Manual Sync using the iPaaS.com customer identifier and verify the record reaches Zuper.
Verify the customer's address syncs to Zuper with the customer, with the primary address in the service slot.
Validation Checklist
The Add and Update customer triggers are subscribed under Outbound Data Flows.
New individual customers carry a first name and new organizations carry an organization name.
The Id mapping is in place so updates route to the existing Zuper customer rather than creating a duplicate.
The record is created as the expected type (customer versus organization) per the IsOrganization logic.
The address is written with the customer and the intended address is marked primary.
Additional Notes
Hard deletion is out of scope: removing a customer through this collection deactivates the customer in Zuper rather than permanently deleting it.
Standalone address transfer is out of scope: an address cannot be created or updated in Zuper on its own through the child collection; it always travels with its customer.
No bulk initialization: these collections do not support initializing all customers or addresses in one operation; records transfer individually through automatic triggers or Manual Sync at the time this documentation was written.
