Skip to main content

Shopify to iPaaS.com Company Mapping Documentation

Shopify to iPaaS.com Company Mapping Documentation

This mapping collection imports Shopify B2B Companies into iPaaS.com (transfer TO iPaaS.com — Add and Update). Each Shopify company is read and written to a matching iPaaS.com Company, linked by the Shopify company id saved as the external id, so subsequent transfers update the same record rather than creating a duplicate. It is the parent of the Company Contacts child collection, which brings each company's B2B users (contacts) into iPaaS.com as company relationships. It is the inbound counterpart to iPaaS.com to Shopify Company Mapping Documentation (FROM iPaaS.com), which creates and updates companies on the Shopify side.

Companies require Shopify's B2B capability to be enabled on the store. As of April 2026, Shopify's foundational B2B features — including company accounts — are available on the Basic, Grow, Advanced, and Plus plans and are no longer exclusive to Shopify Plus; some advanced B2B capabilities remain Plus-only (see Shopify's B2B for all announcement and the Shopify B2B Help Center).

ID Format

  • Manual Sync ID: the Shopify company id, entered on the iPaaS.com Manual Sync page.

  • External ID saved after sync: the Shopify company id is recorded as the external-id link, so later transfers update the same iPaaS.com Company.

Deleted Record Support

Shopify also publishes a Company Deleted (companies/delete) event, but deletion is not handled by this collection — a company deleted in Shopify is not removed from iPaaS.com automatically.

Mapping Collection Status

  • Status: Enabled (no mapping filter; every Shopify company sent through the collection is processed).

  • Trigger Events: Shopify Company Created (companies/create) and Company Updated (companies/update).

The Company Contacts child collection is Enabled and carries a mapping filter — see Supported Child Collections.

Duplicate or Conflicting Mappings

The outbound iPaaS.com to Shopify Company collection writes iPaaS.com Companies to Shopify. The two directions are linked by the same Shopify company id (saved as the external id), so a company that originates on one side is matched and updated on the other rather than duplicated.

When a company is not already linked in iPaaS.com, this inbound collection looks up an existing iPaaS.com Company by Name and links it before creating a new one, so a company that already exists is reused. Because matching falls back to the company Name, keep Shopify company names distinct enough to identify the intended iPaaS.com Company on first sync, before the external-id link is established.

Supported Child Collections

  • Add/Update Shopify Company Contacts TO iPaaS.com — imports the company's B2B users (contacts) into iPaaS.com as company relationships, each linked to the corresponding iPaaS.com Customer. The child runs as part of this company's transfer; it has no independent automatic trigger. It carries a mapping filter that confirms the related iPaaS.com Customer exists before the contact is created (see Mappings and Prerequisite Handling).

System Caveats

Shopify Caveats

  • B2B must be enabled. Companies require Shopify's B2B capability — available on the Basic, Grow, Advanced, and Plus plans (foundational B2B is no longer Plus-only as of April 2026; advanced B2B features remain Plus-only). Without B2B enabled, there are no companies to import and this collection has nothing to process.

  • Read access required. The Shopify connection must be authorized to read companies (the Shopify B2B read_companies access scope) to import them; without it the transfer fails with an authorization error.

  • Shopify is the source in this direction. This collection reads Shopify companies and does not modify Shopify.

iPaaS.com Caveats

  • External-id link required. The Shopify company id must be saved as the external id to route subsequent updates to the same iPaaS.com Company; the ExternalId mapping carries it.

  • Contacts depend on Customers. Each company contact is linked to an existing iPaaS.com Customer. The integration resolves any missing related Customer automatically as a prerequisite (see Prerequisite Handling), so you do not have to pre-sync customers.

Prerequisite Handling

When a company is transferred, the integration automatically resolves the records it depends on, so you do not have to pre-sync them:

  • If the company is not already linked in iPaaS.com, the integration looks up an existing iPaaS.com Company by Name and links it (avoiding a duplicate).

  • For each company contact, if the related Customer does not yet exist in iPaaS.com, the integration retrieves it from Shopify and transfers it as a prerequisite before the company completes.

If a prerequisite customer transfer fails, the company transfer also fails — so the Customer mapping must be configured correctly for company transfers to succeed.

Setup Requirements

iPaaS.com Configuration

Enable this mapping collection, and subscribe to the Shopify Company Created (companies/create) and Company Updated (companies/update) events in the subscription configuration's Inbound Data Flows section. No automatic transfers occur until those subscriptions are enabled. Companies can also be imported on demand from the Manual Sync page using the Shopify company id.

Shopify Configuration

The store must have Shopify B2B enabled (available on the Basic, Grow, Advanced, or Plus plans), and the Shopify connection must be authorized to read companies (the read_companies access scope). The Shopify-side webhook registration for the company events is covered in the Shopify Installation Instructions.

Integration Flow

  1. A Shopify company is received via the company webhook, or retrieved via the Shopify Companies API on Manual Sync.

  2. The integration matches the existing iPaaS.com Company by the saved external id (the Shopify company id), or — if none is linked — by Name, linking the existing record. A new iPaaS.com Company is created only when no match is found.

  3. The company Name is written to the iPaaS.com Company, the ExternalId is saved as the external-id link, and any configured custom-field mappings are applied.

  4. For each company contact, the related Customer is resolved (transferred as a prerequisite if missing) and the contact is written as a company relationship linked to that iPaaS.com Customer.

Mappings

Add/Update Shopify Company TO iPaaS.com

Mapping Type

Source Field (Shopify)

Destination Field (iPaaS.com)

Description

Field

Name

Name

Required. The Shopify company name, imported to the iPaaS.com Company Name. Also used to match an existing iPaaS.com Company by name before the external-id link is established.

Field

ExternalId

externalId

Required. Carries the Shopify company external id into iPaaS.com so the company is matched and linked. This is how subsequent updates route to the same iPaaS.com Company rather than creating a duplicate.

Dynamic Formula

GetValueFromMetaFields(MetaFields, "test_cf")

test_cf (custom field)

Example custom-field mapping: reads the Shopify company metafield named test_cf and writes it to an iPaaS.com custom field. Placeholder value — replace during implementation: test_cf is a sample metafield/custom-field key — replace it with the Shopify metafield key and iPaaS.com custom field your business uses, or remove this mapping if custom-field sync is not required.

Add/Update Shopify Company Contacts TO iPaaS.com (child)

Description: Imports the company's B2B users (contacts) into iPaaS.com as company relationships, each linked to the corresponding iPaaS.com Customer. Runs as part of the parent company's transfer. A mapping filter (below the table) confirms the related Customer exists before the contact is created.

Mapping Type

Source Field (Shopify)

Destination Field (iPaaS.com)

Description

Field

CustomerFirstName

B2B User First Name

The contact's first name, from the Shopify customer first name on the company relationship.

Field

CustomerLastName

B2B User Last Name

The contact's last name, from the Shopify customer last name on the company relationship.

Static

"Customer"

Type

Required. Static value Customer. Sets the iPaaS.com company-relationship type for this contact.

Dynamic Formula

GetSpaceportIdAsync(CustomerId, "Customer", SpaceportSystemId)

RelatedToId

Required. Resolves the iPaaS.com Customer id for the Shopify CustomerId on the company relationship, linking the contact to its iPaaS.com Customer. The parent company's prerequisite handling transfers any missing related Customer first, so you do not need to pre-sync customers.

Mapping Filter. The child carries a filter that confirms the related Customer already exists in iPaaS.com:

var customerId = await GetSpaceportIdAsync(CustomerId, "Customer", SpaceportSystemId);
if(customerId == null)
    throw new Exception($"There is no customer in iPaaS by this external id: {CustomerId}");
return true;

It looks up the iPaaS.com Customer by the Shopify CustomerId from the company relationship, and the record proceeds only if that customer is found. Because the parent's prerequisite handling auto-transfers any missing Customer first, this filter is effectively a safety check — it fails the contact only if its customer is genuinely unavailable.

Error Handling

  • Unauthorized access — ensure the store has Shopify B2B enabled and the Shopify connection is authorized to read companies (read_companies).

  • Missing external id — without the Shopify company id saved as the external id, updates cannot be routed to the same iPaaS.com Company; sync the company to establish the link.

  • "There is no customer in iPaaS by this external id" — a company contact references a Customer that is not in iPaaS.com. The parent's prerequisite handling normally transfers it automatically; if this error appears, the prerequisite Customer transfer failed — confirm the Customer mapping is configured correctly.

Testing & Validation

  • Sync a Shopify company and confirm it appears in iPaaS.com with the correct Name and the Shopify company id saved as the external id; re-sync and confirm the same iPaaS.com Company is updated rather than duplicated.

  • Confirm a company that already exists in iPaaS.com (by Name) is linked rather than duplicated on first sync.

  • Sync a company that has contacts and confirm each contact appears as a company relationship linked to the correct iPaaS.com Customer.

  • Sync a company whose contact references a Customer not yet in iPaaS.com and confirm the Customer is transferred as a prerequisite and the contact links to it.

  • If a custom-field mapping is configured, confirm the Shopify metafield value lands in the intended iPaaS.com custom field.

Additional Notes

This direction reads Shopify and imports companies into iPaaS.com. Creating and updating companies on Shopify is handled by the FROM-iPaaS collection (see Related Documents). The default template ships with an example custom-field mapping (test_cf) — replace or remove it during implementation; it is not required for the company sync to succeed.

Related Documents

Did this answer your question?