Skip to main content

Shopware to iPaaS.com Customer Mapping Documentation

How Shopware customers and their addresses are mapped to iPaaS.com — field mappings, filter, and transfer behavior.

Summary

This mapping documentation describes how individual (non-company) Customer records are transferred from Shopware to iPaaS.com, together with each customer's addresses. The parent Add/Update Shopware Customer TO iPaaS.com collection receives a Shopware webhook (or a Manual Sync request), retrieves the full customer record, and dispatches it to iPaaS.com; the child Add/Update Shopware Customer Address TO iPaaS.com collection moves the customer's addresses as part of the same transfer. Business-to-business company records are handled separately by the Add/Update Shopware B2B Company TO iPaaS.com collection.

ID Format

Manual Sync ID Format

Customers can be transferred from the iPaaS.com Manual Sync page by entering the Shopware customer ID. The value is the Shopware internal customer identifier, for example 01915630e5db7214ab1ab2dc71608955. Entering a customer ID transfers that specific customer along with its child addresses. The child Add/Update Shopware Customer Address TO iPaaS.com collection cannot be triggered from Manual Sync on its own — transferring the parent customer moves its addresses.

External ID Format

After a customer is transferred, it is linked in iPaaS.com so that subsequent transfers update the same record. The customer is identified by its CustomerNumber, which carries the Shopware customer number (falling back to the Shopware internal customer ID when the customer number is empty). Each child address is linked using a composite external ID built from the Shopware address ID and its parent customer ID, so addresses stay associated with the correct customer across transfers.

Deleted Record Support

This family transfers Customer creates and updates only. There is no Customer delete collection in this family, so customer or address deletions in Shopware are not propagated to iPaaS.com by default. Removing a customer or address from iPaaS.com when it is deleted in Shopware must be handled separately.

Custom Field Support

This integration can read Shopware customer custom field values for use in the iPaaS.com Customer transfer using the GetValueFromCustomField conversion function. Add a mapping of type Dynamic Formula whose formula calls GetValueFromCustomField with the customer's custom fields and the technical name of the Shopware custom field to read. The function returns the value of the first custom field whose technical name matches; when no field matches, it returns nothing. The value can be sent as-is to an iPaaS.com custom field or used inside a larger formula that transforms or combines it before transfer. The C5_Custom_Customer mapping in the parent collection is a worked example — it reads the Shopware custom field whose technical name is customer comments. The child address collection additionally retains the raw Shopware Country ID and Country State ID on iPaaS.com custom fields alongside the resolved Country and Region names.

Mapping Collection Status

  • Add/Update Shopware Customer TO iPaaS.com (parent): Enabled

  • Add/Update Shopware Customer Address TO iPaaS.com (child): Enabled

Trigger Events

The parent collection is triggered by the following Shopware webhook events when subscribed on the Inbound Data Flows (External Webhooks) page:

  • checkout.customer.register: a registered customer is created.

  • checkout.customer.guest_register: a guest customer is created.

  • checkout.customer.changed-payment-method: a customer changes their payment method.

The parent collection can also be triggered manually from the iPaaS.com Manual Sync page. The child address collection has no independent trigger; it runs whenever its parent customer is transferred.

Duplicate or Conflicting Mappings

These mapping collections transfer Customers and Customer Addresses from Shopware to iPaaS.com. The following mapping collections operate on the same records in the opposite direction:

  • Add/Update Shopware Customer FROM iPaaS.com: Creates or updates customers in Shopware from iPaaS.com data.

  • Add/Update Shopware Customer Address FROM iPaaS.com: Creates or updates customer addresses in Shopware from iPaaS.com data.

Before enabling these inbound collections alongside the outbound "From iPaaS.com" collections, subscribers or their MiSP should review and customize the mapping collection filters to prevent circular updates, and define clearly which system is the source of truth for customer and address data. If both directions are active with default mappings, changes may propagate back and forth between systems.

Unmapped Field Overwrite Risk

The iPaaS.com API performs a full record replace when updating records, and these collections handle both Add and Update. The following standard fields are not mapped in the default template mappings. Any existing value in such a field on the iPaaS.com record is overwritten with an empty value each time an Update transfer runs, unless an additional mapping is added to preserve it:

  • Add/Update Shopware Customer TO iPaaS.com: the Comment field.

  • Add/Update Shopware Customer Address TO iPaaS.com: the Type field.

To preserve such values, split the combined Add/Update collection into separate Add and Update collections and, in the Update collection, add a Dynamic Formula mapping that uses the DestinationValue function to carry the existing iPaaS.com value forward — for example, DestinationValue.Comment mapped to the iPaaS.com Comment field, or DestinationValue.Type mapped to the iPaaS.com Type field. The DestinationValue function reads the current value from the iPaaS.com destination record before the replace and writes it back into the outgoing record, so the value is preserved. This is simpler than adding source-side mappings and works for every field, including those that originate in iPaaS.com and have no Shopware equivalent.

Supported Child Collections

  • Add/Update Shopware Customer Address TO iPaaS.com: Transfers the customer's addresses as part of the customer transfer. Each address is linked in iPaaS.com using a composite external ID built from the Shopware address ID and its parent customer ID, so addresses stay associated with the correct customer. An address is flagged IsPrimaryBilling or IsPrimaryShipping when it is the customer's billing or shipping address.

Shopware Caveats

  • Webhook workflow actions require Enterprise Shopware: The automatic-transfer workflows described under Setup Requirements can only be created on Enterprise editions of Shopware. Subscribers on other editions should rely on Manual Sync or order-driven customer transfers instead.

  • Country and Region resolution: On the child address collection, the Country and Region names are resolved from Shopware's country and country-state IDs and depend on those IDs existing in Shopware. The names are returned in the parent customer's language when available, falling back to the default language. If an ID cannot be resolved, the corresponding name is left empty.

iPaaS.com Caveats

  • Customer group linking for Categories: The Categories mapping only resolves to an iPaaS.com category when the corresponding Shopware customer group has already been linked between the two platforms. Customer groups that are not linked are omitted from the transferred categories rather than created on the fly.

  • Duplicate prevention by email: When a Shopware customer is transferred and is not already linked to an iPaaS.com customer, the integration looks for an existing iPaaS.com customer with the same email address and links to it instead of creating a duplicate. Keep customer email addresses accurate in Shopware so this matching works as intended.

  • Child collection runs only with its parent: The address collection runs only as part of a parent customer transfer. It cannot be triggered independently from the Manual Sync page; transfer the parent customer to move its addresses.

  • API throttling on large jobs: The subscription exposes configurable API throttle limits. Subscribers should stagger large manual jobs and rely on the configured throttle limits when transferring many customers at once.

Integration-Specific Caveats

  • Automatic customer transfer during order transfer: When an order is transferred from Shopware to iPaaS.com, a customer transfer occurs automatically to capture the customer on the order — even if customer webhooks are disabled. For a business customer, a B2B company transfer occurs instead. To prevent customer records from being created or updated during order transfers, disable the customer transfer mapping collections. This behavior applies at the time this documentation was written.

Setup Requirements

For automatic transfer, subscribers or their MiSP must subscribe to the Shopware customer events on the Inbound Data Flows (External Webhooks) page of the Shopware subscription in iPaaS.com. Webhooks do not activate automatically — the relevant events must be subscribed before automatic transfers occur. Subscribing creates a workflow in Shopware that sends a webhook to iPaaS.com after the corresponding event; clearing the Inbound Data Flow toggle removes that workflow. The supported events are checkout.customer.register, checkout.customer.guest_register, and checkout.customer.changed-payment-method.

Webhook workflow actions are only available on Enterprise editions of Shopware. On non-Enterprise editions, use Manual Sync (or transfer customers as part of an order transfer) instead.

Integration Flow

  1. A subscribed Shopware customer event (checkout.customer.register, checkout.customer.guest_register, or checkout.customer.changed-payment-method) fires a webhook to iPaaS.com, or a subscriber starts a Manual Sync by entering the Shopware customer ID.

  2. The integration retrieves the full Shopware customer record.

  3. The parent collection's filter is evaluated — only non-company (individual) customers continue; B2B company records are skipped here and handled by the Add/Update Shopware B2B Company TO iPaaS.com collection.

  4. The customer fields are transformed: core identity fields are mapped, tag IDs are resolved to readable tag names, the customer group is resolved to a linked iPaaS.com category when available, and selected Shopware values are stored on iPaaS.com custom fields.

  5. The customer is written to iPaaS.com. If it is not already linked, the integration matches on email address to an existing iPaaS.com customer and links to it rather than creating a duplicate.

  6. Each of the customer's addresses is processed through the child Add/Update Shopware Customer Address TO iPaaS.com collection and linked using a composite external ID built from the Shopware address ID and its parent customer ID.

  7. The customer record is linked in iPaaS.com by its CustomerNumber so that subsequent transfers update the same record.

Mappings

Add/Update Shopware Customer TO iPaaS.com

Mapping Filter

!IsCompany

Filter Description. The filter !IsCompany allows only Shopware customers that are not companies (individual customers) to pass. When IsCompany is true, the record is skipped by this collection and is instead transferred by the separate Add/Update Shopware B2B Company TO iPaaS.com collection. The filter does not throw an exception on a skipped record; company records simply do not pass.

Description: Transfers individual (non-company) Customer records from Shopware to iPaaS.com, including core identity fields and selected Shopware values retained as iPaaS.com custom fields.

Mapping Type

Source Field (Shopware)

Destination Field (iPaaS.com)

Description

Dynamic Formula

CustomerNumber ?? Id

CustomerNumber

required — Supplies the iPaaS.com Customer number from the Shopware customer number, falling back to the Shopware internal customer ID when empty. Key identifier for duplicate detection, record linking, and the value entered on Manual Sync.

Field

FirstName

FirstName

recommended — Maps the Shopware customer first name to the iPaaS.com Customer first name for proper identification.

Field

LastName

LastName

recommended — Maps the Shopware customer last name to the iPaaS.com Customer last name for proper identification.

Field

Email

EmailAddress

required — Maps the Shopware customer email to the iPaaS.com Customer email. The primary human-readable identifier; if the Shopware customer has no email, the transfer is rejected.

Field

Company

Company

recommended — Maps the Shopware customer company name; populated for business customers, left empty for individuals without a company.

Field

GroupId

Shopware Customer Group Id

optional — Stores the Shopware customer group ID on an iPaaS.com custom field, retained for later mapping logic such as the Categories mapping.

Field

SalesChannelId

Shopware Sales Channel Id

optional — Stores the Shopware sales channel ID the customer belongs to on an iPaaS.com custom field for sales-channel-specific handling.

Dynamic Formula

Read customer custom field (see formula below)

C5_Custom_Customer

optional — Reads a Shopware customer custom field value by technical name using GetValueFromCustomField and stores it on an iPaaS.com custom field. Worked example of the custom-field pattern.

Dynamic Formula

Resolve tag names (see formula below)

Shopware Tags

optional — Resolves the customer's Shopware tag IDs to readable names using GetTagNames and stores them as a comma-separated list.

Dynamic Formula

Resolve linked category (see formula below)

Categories

optional — Converts a single Shopware customer group ID to a linked iPaaS.com category using ConvertShopwareCategoryToiPaaS; unlinked groups are omitted rather than created.

Dynamic Formula

Capture B2B parent company ID (see formula below)

Shopware B2B Parent Company Id

optional — When the transfer contains a B2B company employee, captures the Shopware parent company ID on an iPaaS.com custom field for later employee-specific logic.

// C5_Custom_Customer
return await GetValueFromCustomField(CustomFields, "customer comments");
// Shopware Tags
return await GetTagNames(TagIds);
// Categories
return await ConvertShopwareCategoryToiPaaS(GroupId);
// Shopware B2B Parent Company Id
if (!string.IsNullOrEmpty(BusinessPartnerCustomerId)){
   return BusinessPartnerCustomerId; 
} else {
    return null;
}

Placeholder value — replace during implementation: In the C5_Custom_Customer formula, "customer comments" is an example Shopware custom field technical name. Replace it with the technical name of the custom field you want to transfer, or remove this example mapping if it is not needed.

Add/Update Shopware Customer Address TO iPaaS.com

Description: Child collection that transfers each of the customer's addresses to iPaaS.com as part of the parent customer transfer, including resolved Country and Region names and the raw Shopware identifiers.

Mapping Type

Source Field (Shopware)

Destination Field (iPaaS.com)

Description

Field

FirstName

FirstName

recommended — Maps the recipient first name on the Shopware address to the iPaaS.com Customer Address first name.

Field

LastName

LastName

recommended — Maps the recipient last name on the Shopware address to the iPaaS.com Customer Address last name.

Field

Street

Address1

recommended — Maps the Shopware street to the iPaaS.com Customer Address first street line for deliverable addresses.

Field

AdditionalAddressLine1

Address2

optional — Maps the Shopware additional address line 1 to the iPaaS.com Customer Address second street line.

Field

AdditionalAddressLine2

Address3

optional — Maps the Shopware additional address line 2 to the iPaaS.com Customer Address third street line.

Field

City

City

recommended — Maps the Shopware city to the iPaaS.com Customer Address city.

Field

ZipCode

PostalCode

recommended — Maps the Shopware zip code to the iPaaS.com Customer Address postal code for deliverable addresses.

Dynamic Formula

Resolve region name (see formula below)

Region

recommended — Resolves the state/province name from the Shopware Country ID and Country State ID using StateNameFromId, in the parent customer's language with fallback to default; empty if unresolved.

Dynamic Formula

Resolve country name (see formula below)

Country

recommended — Resolves the country name from the Shopware Country ID using CountryNameFromId, in the parent customer's language with fallback to default; empty if unresolved.

Field

Company

Company

optional — Maps the company name on the Shopware address to the iPaaS.com Customer Address company, typically for business addresses.

Field

PhoneNumber

PhoneNumber

optional — Maps the Shopware address phone number to the iPaaS.com Customer Address phone number.

Field

IsPrimaryShipping

IsPrimaryShipping

optional — Flags whether this address is the customer's primary shipping address.

Field

IsPrimaryBilling

IsPrimaryBilling

optional — Flags whether this address is the customer's primary billing address.

Field

CountryId

Country ID

optional — Stores the raw Shopware Country ID on an iPaaS.com custom field, retained alongside the resolved Country name.

Field

CountryStateId

Country State ID

optional — Stores the raw Shopware Country State ID on an iPaaS.com custom field, retained alongside the resolved Region name.

// Region
var state = await StateNameFromId(CountryId, CountryStateId, Parent.LanguageId);
if(!string.IsNullOrEmpty(state))
    return state;
return await StateNameFromId(CountryId, CountryStateId);
// Country
var country = await CountryNameFromId(CountryId,Parent.LanguageId);
if (!string.IsNullOrEmpty(country))
  return country;
return await CountryNameFromId(CountryId);

Error Handling

  • EmailAddress missing: A Shopware customer with no email address is rejected by the iPaaS.com Customer API because EmailAddress is required. Ensure customers have an email configured in Shopware before transfer. Errors surface in Dashboard / Integration Monitoring / Error Logs.

  • Shopware API temporarily unavailable: If the Shopware API is unavailable when a transfer is triggered, the transfer fails and an error appears in Dashboard / Integration Monitoring / Error Logs. The record can be retried by triggering a new webhook event or by using Manual Sync; for addresses, re-trigger the parent customer transfer.

Testing & Validation

Test Scenarios

  • Create a new individual customer in Shopware (or trigger checkout.customer.register) and confirm the customer is created in iPaaS.com with the expected CustomerNumber, name, email, and company.

  • Update an existing customer in Shopware and confirm the linked iPaaS.com customer is updated rather than duplicated.

  • Transfer a customer with no email address and confirm the transfer is rejected with an error in Dashboard / Integration Monitoring / Error Logs.

  • Run a Manual Sync using a Shopware customer ID and confirm the customer and its child addresses transfer together.

  • Transfer a customer with multiple addresses and confirm each address is created in iPaaS.com with resolved Country and Region names, retained Country ID and Country State ID, and correct primary billing/shipping flags.

  • Transfer a B2B company customer and confirm it is skipped by this collection (handled by Add/Update Shopware B2B Company TO iPaaS.com instead).

  • Transfer a customer whose email already exists on an unlinked iPaaS.com customer and confirm the integration links to the existing record rather than creating a duplicate.

Validation Checklist

  • Confirm the three customer webhook events are subscribed on the Inbound Data Flows page (Enterprise Shopware) before relying on automatic transfer.

  • Confirm CustomerNumber and EmailAddress are populated on every transferred customer.

  • Confirm Shopware tag IDs resolve to readable names in the Shopware Tags custom field.

  • Confirm the Categories mapping resolves only for customer groups that are linked between the two platforms, and that unlinked groups are omitted.

  • Confirm each child address links by the composite external ID and stays associated with the correct customer across repeated transfers.

  • Confirm Country and Region names resolve in the parent customer's language where available and fall back to the default language otherwise.

  • If running Add/Update, confirm whether the unmapped Comment (customer) or Type (address) values need to be preserved with a DestinationValue mapping before enabling the Update path.

Additional Notes

  • Business-to-business company records are out of scope for this family and are transferred by the Add/Update Shopware B2B Company TO iPaaS.com collection.

  • Customer and address deletions are not propagated by this family.

  • These limitations are inherent to the current design of the integration and the capabilities of the Shopware API, and they apply to all subscribers at the time this documentation was written.

Did this answer your question?