Summary
iPaaS.com customers and their addresses write out to BigCommerce customers and addresses, and iPaaS.com customer categories write out to BigCommerce as customer groups. Outbound transfers run automatically from subscribed iPaaS.com triggers or on demand from the iPaaS.com Manual Sync page.
This article covers the standard (non-B2B) outbound customer collections. Customers, companies, and users belonging to BigCommerce B2B Edition are handled by a separate set of collections — see the Related Documents footer. Capturing BigCommerce customers and addresses into iPaaS.com is covered by the companion BigCommerce to iPaaS.com Customer Mapping Documentation. Only one of the B2C (standard) or B2B mappings should apply to any given customer.
Contents
Data Types and Direction
This article documents the following mapping collections and the iPaaS.com data type each one operates on. Every collection here transfers iPaaS.com to BigCommerce.
Collection | iPaaS.com data type | Direction |
Add/Update BigCommerce Customer FROM iPaaS.com | Customer | iPaaS.com to BigCommerce |
Add/Update BigCommerce Customer Address FROM iPaaS.com (child) | Customer Address | iPaaS.com to BigCommerce |
Add/Update BigCommerce Customer Category FROM iPaaS.com | Customer Category | iPaaS.com to BigCommerce |
ID Format
Manual Sync IDs differ by collection because each collection acts on a different record. Enter the ID that matches the collection you are syncing.
Manual Sync ID Format
Customer: enter the iPaaS.com Customer ID — the numeric identifier iPaaS.com assigns to the customer. Example: 456.
Customer Category: enter the iPaaS.com Customer Category ID — the numeric identifier iPaaS.com assigns to the category. Example: 31.
Addresses written as part of a customer have no independent Manual Sync entry point; sync the parent customer and its addresses transfer together.
External ID Format
After a successful transfer, iPaaS.com records the BigCommerce identifier as the external ID on the iPaaS.com record:
For a customer written to BigCommerce, the BigCommerce customer ID is saved as the external ID on the iPaaS.com Customer.
For a customer category written to BigCommerce, the BigCommerce customer group ID is saved as the external ID on the iPaaS.com Customer Category.
The external-ID record is the match that routes later transfers of the same record to an update rather than creating a duplicate.
Deleted Record Support
Outbound delete is not supported for these collections. Delete mappings are not included in the default templates, and deleting a customer, address, or category in iPaaS.com does not propagate the deletion to BigCommerce. Remove records manually in each system as needed.
Custom Field Support
BigCommerce does not expose custom fields for the customer, customer address, or customer group data types, and no iPaaS.com custom fields are created by default for these records. No custom-field configuration is required to run these collections.
Two iPaaS.com custom fields are read by filters — they route records rather than adding mapped data — and neither is created automatically:
B2B_SendToB2B: read by the outbound customer filter to route B2B customers to the B2B collections. See the Mappings section.
Customer Pricing Group: read by the outbound customer category filter to select which categories become BigCommerce customer groups. See the Mappings section.
Mapping Collection Status
All collections in this article ship Enabled. Trigger events:
Customer: iPaaS.com customer created and customer updated triggers.
Customer Category: iPaaS.com customer category created and customer category updated triggers.
Whether a given trigger drives an Add or an Update depends on whether the record is already linked to BigCommerce by an external ID. Automatic transfers do not run until the corresponding triggers are subscribed — see Setup Requirements.
Duplicate or Conflicting Mappings
Review each collection's filter and Add/Update settings before enabling them, and decide which collection is the source of truth for each record.
Standard vs. B2B customers. The outbound customer filter splits customers between the standard collection documented here and the separate B2B collection. Only one of the standard or B2B mappings should apply to any given customer. Enabling both without coordinated filters can create duplicate or conflicting customers.
Pricing-group-only categories. The outbound customer category collection processes only iPaaS.com categories flagged as a customer pricing group; other categories are skipped so unrelated categories are not written to BigCommerce as groups.
Collision Handling
The Customer data type matches on email address. When iPaaS.com finds an existing BigCommerce customer with the same email, the two records are assumed to be the same customer, and the transfer updates the existing record rather than creating a duplicate.
The behavior on a match is configurable on the mapping collection. The selectable methods are:
Remap and Link: link the incoming record to the matched record and remap it.
Update and Link: update the matched record and keep the link.
Update and No Link: update the matched record without establishing a persistent link.
Error: stop and raise an error instead of resolving the match automatically.
Choose the method that fits how your business wants duplicate emails handled before enabling the collection. A customer without an email cannot be matched reliably.
Customer Category does not use email collision handling; it matches on its external-ID link.
Supported Child Collections
The outbound Customer collection drives its addresses through a child collection that transfers as part of the customer:
Add/Update BigCommerce Customer FROM iPaaS.com → Add/Update BigCommerce Customer Address FROM iPaaS.com
Customer Address and Customer Category are leaf collections with no children of their own.
System Caveats
BigCommerce Caveats
Customer group must exist. A customer group written from an iPaaS.com category, and any group resolved for an outbound customer, must correspond to a BigCommerce customer group. Confirm the group exists in BigCommerce before relying on the assignment.
Customer group pricing requires a price list. A customer group's discount rules assign a BigCommerce price list. The referenced price list must exist in BigCommerce for the group's pricing to apply.
Rate limiting. When BigCommerce rate-limits requests, the transfer is automatically rescheduled to resume after the limit window resets. No subscriber action is required.
iPaaS.com Caveats
Email required for matching. The email address is the key iPaaS.com uses to match and de-duplicate customers. A customer without an email cannot be matched reliably.
Category-driven customer group. For outbound customers, the BigCommerce customer group is derived from the customer's iPaaS.com categories. Review the category-to-group setup so customers land in the intended group.
Pricing-group flag drives category eligibility. Only iPaaS.com categories flagged as a customer pricing group are transferred to BigCommerce customer groups. Set the pricing-group custom field on the categories you want to become groups.
Parent Customer required for addresses. An address is written only in relation to its parent Customer; the parent customer must transfer for its addresses to be processed.
Integration-Specific Caveats
Full-replace updates. Each outbound transfer writes the full record to BigCommerce; fields left unmapped can be overwritten on each transfer. Map every field you want preserved, or use a DestinationValue approach for fields you do not source from iPaaS.com.
PreventDuplicate scope. The duplicate-address suppression described in the address collection applies only to addresses transferred as a subcollection of a full customer request.
Setup Requirements
Automatic transfers do not run until the corresponding triggers are subscribed. Configure them in the subscription configuration:
Customer. Enable the iPaaS.com customer triggers (customer created and customer updated) under Outbound Data Flows.
Customer Category. Enable the iPaaS.com customer category triggers (customer category created and customer category updated) under Outbound Data Flows, and confirm the BigCommerce price lists referenced by the discount rules exist.
Integration Flow
Customer and its addresses:
An iPaaS.com customer created or updated trigger fires, or a customer is manually synced by its iPaaS.com Customer ID.
The outbound filter processes standard customers and skips customers flagged for B2B.
The customer is created or updated in BigCommerce, resolving its customer group from the customer's iPaaS.com categories.
The customer's addresses are written and linked through the child address collection.
Customer category:
An iPaaS.com customer category trigger fires, or a category is manually synced by its iPaaS.com Customer Category ID.
The outbound filter processes only categories flagged as a customer pricing group.
The BigCommerce customer group is created or updated with the mapped name, default and guest flags, category access, and discount-rule (price-list) assignment.
Mappings
Each collection below lists its Mapping Filter (when the collection has one), the iPaaS.com data type it operates on, and its field mapping table. Source and destination field names are shown as they appear in each system.
Add/Update BigCommerce Customer FROM iPaaS.com
iPaaS.com data type: Customer
Writes an iPaaS.com Customer to BigCommerce, creating the customer when it does not yet exist and updating it when it does. Create-versus-update routing is decided by whether the customer is already linked to a BigCommerce customer by an external ID.
Mapping Filter
var result = GetCustomFieldValue(CustomFields, "B2B_SendToB2B");if (result != null) { if (result.ToLower() == "y" || result.ToLower() == "true") return false; //Exclude B2B customers from this transfer}return true; //Include all other customersFilter Description. The filter reads the customer's iPaaS.com B2B_SendToB2B custom field. When that field is set to y or true, the customer is skipped here (return false) and handled by the B2B Customer collection instead. Every other customer passes through (return true). The filter references a custom-field name rather than an environment-specific value, so no placeholder substitution is required.
Mapping Type | Source Field (iPaaS.com Customer) | Destination Field (BigCommerce) | Description |
Field |
| Required. The customer's email, and the key used to match an existing BigCommerce customer for de-duplication (see Collision Handling). | |
Dynamic Formula |
| FirstName | Required. BigCommerce expects a name on the customer. Falls back to the company name when the first name is empty, and to |
Dynamic Formula |
| LastName | Required. Falls back to |
Field |
| Company | Recommended. The customer's company name where present. |
Field |
| Notes | Recommended. The customer's comment, carried to the BigCommerce notes field. |
Dynamic Formula |
| CustomerGroupId | Recommended. Resolves the BigCommerce customer group from the customer's iPaaS.com categories. Returns |
Dynamic Formula |
| ChannelIds | Recommended. Sets the BigCommerce channels the customer is associated with, preserving any existing channel assignments and assigning a default of channel |
CustomerGroupId formula:
var customerGroupId = await GetCustomerGroupIdByCategories(Categories);if(customerGroupId != null && customerGroupId.ToString() != ""){ return customerGroupId;}return 0;ChannelIds formula:
//Use existing values var channelIds = new List<int>; var originalValues = GetCustomFieldValue(CustomFields,"Channel Assignments"); if(!String.IsNullOrEmpty(originalValues)){channelIds = IntListFromString(originalValues);} //Assign default values if(channelIds.count()==0){ if(1==1){ channelIds.Add(1); } } //Assign new values if(1==2){ channelIds.Add(2); } return channelIds;Placeholder value — replace during implementation: the default channel 1 in the ChannelIds formula is a BigCommerce channel identifier. Confirm that 1 is the correct channel for your store, or adjust the formula, before relying on it in production. The commented if(1==2) branch is an example scaffold for adding further channels and has no effect as written.
Add/Update BigCommerce Customer Address FROM iPaaS.com (child)
iPaaS.com data type: Customer Address
Writes an iPaaS.com Customer Address to BigCommerce, linked to its parent customer. This is a child collection of Add/Update BigCommerce Customer FROM iPaaS.com and transfers as part of the customer; it is not synced on its own.
Mapping Filter
!(IsEmpty(Address1)) && !(IsEmpty(Region))
Filter Description. An address is processed only when both the Address1 street line and the Region are present. Addresses missing either value are skipped. This filter contains no environment-specific value, so no placeholder substitution is required.
Mapping Type | Source Field (iPaaS.com Customer Address) | Destination Field (BigCommerce) | Description |
Dynamic Formula |
| Id | Recommended. Resolves the BigCommerce address ID for an existing address from its external-ID link so an update writes to the correct address rather than adding a new one. When no external ID exists yet, the address is created. |
Dynamic Formula |
| FirstName | Required by the write path. Falls back to the company name when the first name is empty, and to |
Dynamic Formula |
| LastName | Required by the write path. Falls back to |
Field |
| Company | Recommended. The company name on the address where present. |
Field |
| Address1 | Required. The collection's filter skips any address without a street line. |
Field |
| Address2 | Optional. The secondary street line where present. |
Field |
| City | Recommended. The city. |
Dynamic Formula |
| State | Recommended. Resolves the full state name from the iPaaS.com region value. |
Field |
| PostalCode | Recommended. The postal or ZIP code. |
Dynamic Formula |
| CountryCode | Recommended. Normalizes the country to a country code, defaulting to |
Dynamic Formula |
| Phone | Recommended. Uses the customer's phone when present and falls back to |
Id formula:
var external = await GetExternalIdAsync(Id, "Address", SpaceportSystemId);return SubstringAfterLastMatch(external, "\\");
Placeholder value — replace during implementation: the "000" phone fallback is a filler value used when the customer has no phone number. Replace it, or remove the fallback, if your business needs a real phone value on BigCommerce addresses. The "US" country default likewise assumes a US-centric customer base — adjust it if your customers are primarily elsewhere.
Duplicate address prevention. To prevent duplicate addresses in BigCommerce, add a Static mapping to a destination field named PreventDuplicate on this collection. When its value is Y, y, or true, iPaaS.com searches BigCommerce for an existing address that exactly matches every mapped field (excluding custom fields); on an exact match, the address is not added and no external ID is assigned. This applies to addresses transferred as a subcollection of the customer.
Add/Update BigCommerce Customer Category FROM iPaaS.com
iPaaS.com data type: Customer Category
Writes an iPaaS.com Customer Category to BigCommerce as a customer group, creating the group when it does not yet exist and updating it when it does. Create-versus-update routing is decided by whether the category is already linked to a BigCommerce customer group by an external ID.
Mapping Filter
var pricingGroupChecker = GetCustomFieldValue(CustomFields, "Customer Pricing Group");if(!string.IsNullOrEmpty(pricingGroupChecker) && pricingGroupChecker.ToLower() == "true") return true;return false;
Filter Description. The filter reads the category's iPaaS.com Customer Pricing Group custom field. Only categories whose value is true are processed (return true); every other category is skipped (return false). Set this custom field on the categories you want to become BigCommerce customer groups. The filter references a custom-field name rather than an environment-specific value, so no placeholder substitution is required.
Mapping Type | Source Field (iPaaS.com Customer Category) | Destination Field (BigCommerce) | Description |
Field |
| Name | Required. The customer group name written to BigCommerce; the group must have a name. |
Static |
| IsDefault | Recommended. Whether this is the store's default customer group. Defaults to |
Dynamic Formula |
| CategoryAccess | Recommended. Sets which BigCommerce product categories the group can access. Defaults to |
Dynamic Formula |
| DiscountRules | Recommended. Sets the group's discount rules by assigning a BigCommerce price list. The first argument must be |
Static |
| IsGroupForGuests | Recommended. Whether this group is applied to guest shoppers. Defaults to |
The category's CategoryId and InternalId are also required for the transfer to operate — they are the iPaaS.com identifiers the transfer acts on and the link back to the iPaaS.com record. They are supplied by the transfer rather than mapped as fields.
DiscountRules formula:
return SetDiscountRulesForCustomerGroup("price_list", 1);//Example formula applying category name logic//if (Name == "MEMBERS"){// return SetDiscountRulesForCustomerGroup("price_list", 3);//}//else {// return SetDiscountRulesForCustomerGroup("price_list", 2);//}Placeholder value — replace during implementation: the price list ID 1 in the DiscountRules formula is an example. Replace it with your own BigCommerce price list ID before enabling this collection. To find the ID: log in to BigCommerce, open Products, click Price Lists, open the desired price list, and copy its ID. The commented example shows how to select the price list by category name instead.
Category access types. SetCategoryAccessForCustomerGroup supports three access types:
all: the group can access all categories. Pass
allwith no category IDs. This is the default.specific: the group can access only the listed categories. Pass
specificwith an array of BigCommerce product category IDs, for exampleSetCategoryAccessForCustomerGroup("specific", new long[] { 1, 2, 3 });. The category IDs are environment-specific; confirm they match your BigCommerce store.none: the group cannot access any categories. Pass
nonewith no category IDs.
To find a BigCommerce product category ID: log in to BigCommerce, open Products, click Product Categories, open the desired category, and copy its ID.
Testing and Validation
Test Scenarios
Customer write. Manually sync an iPaaS.com Customer by its Customer ID and confirm the customer is created or updated in BigCommerce with the resolved customer group and channels; confirm a customer flagged B2B_SendToB2B is skipped by this collection.
Email matching. Write a customer whose email matches an existing BigCommerce customer and confirm the existing record is updated rather than a duplicate created, per the configured collision-handling method.
Address (child). Write a customer with one or more addresses and verify each address is created in BigCommerce and linked to the customer; confirm addresses missing a street line or region are skipped.
PreventDuplicate. With a PreventDuplicate static mapping set to
true, write a customer whose address exactly matches an existing BigCommerce address and confirm no duplicate address is created.Category. Flag an iPaaS.com category as a customer pricing group, sync it by its Customer Category ID, and confirm a BigCommerce customer group is created with the mapped name and the configured price list; confirm an unflagged category is skipped.
Validation Checklist
Only one of the standard or B2B customer mappings applies to any given customer.
The default channel ID, the country-code default, the phone fallback, and the discount-rule price list ID have been reviewed and replaced with store-appropriate values before enabling automatic transfers.
Required fields are populated: email for customers, a street line and region for addresses, a name plus pricing-group flag for categories.
Referenced BigCommerce customer groups and price lists exist before relying on group assignments and pricing.
The correct collision-handling method is selected for the Customer collection.
Additional Notes
Outbound customer writes are not active. The Customer "FROM iPaaS.com" collection maps iPaaS.com customers to BigCommerce, but writing customers back to BigCommerce from iPaaS.com is not active at this time. Subscribers should validate any outbound customer behavior in a staging environment before relying on it in production. Outbound writes for customer categories to BigCommerce customer groups are active.
B2B Edition. Customers, companies, and users belonging to BigCommerce B2B Edition are handled by a separate set of collections and are out of scope for this article. See the Related Documents footer.
Full-replace updates. Outbound transfers write the full record on each run; map every field you want preserved or use a DestinationValue approach for fields not sourced from iPaaS.com.
