Skip to main content

iPaaS.com to Zuper Customer Mapping Documentation

How the Zuper integration writes customer records and their addresses from iPaaS.com to Zuper, including field mappings, ID formats, and setup requirements.

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:

  1. 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.

  2. When the record is an organization, the integration creates it with a POST to the Zuper Organization endpoint instead.

  3. On an update, the integration writes to the corresponding Zuper record by its identifier rather than creating a new one.

  4. 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 customer_uid) and carries the existing customer_uid on updates so the record is matched rather than recreated. Recommended.

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

Email

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

var value = GetCustomFieldValue(CustomFields, "Zuper Organization"); // Honor organization custom field if (value != "true" && value != "false"){ // Add additional business logic here to create new as org or customer // This uses the existence of a company name that does not match first and last name // However it could come from another custom field var value2 = FirstName + " " + LastName; if (Company != value2) { return "true"; //Here this will sync to an organization } else {return "false"; } } else return "true";

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

if (IsPrimaryBilling == true){return false;} else if (GetCustomFieldValue(CustomFields,"Zuper Primary Contact") == "true") {return true;} else {return null;}

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.

Related Documents

Did this answer your question?