Summary
Products that vary by option — size, colour, and so on — are transferred from iPaaS.com into Adobe Commerce/Magento 2 as a configurable product with its associated simple product variants. The configurable parent is a container that carries the catalog data; the variants beneath it are the items shoppers actually buy and the items that hold sellable stock.
The family is a three-level tree. The configurable parent has four children — its inventory, its option definitions, its variants, and its alternate units. Two of those children have children of their own: the option definitions carry their option values, and each variant carries its own inventory and its own option assignments.
The family ships as an add-only set paired with an update-only set, so creation and maintenance can be filtered and enabled independently. The transfer is unidirectional. Standalone products that do not vary by option are covered by the separate simple product family.
ID Format
Manual Sync ID Format
Enter the iPaaS.com Product record identifier of the configurable parent — the internal numeric identifier of the product in iPaaS.com, for example 58231.
This is not the product SKU, and it is not a variant's identifier. Syncing the parent brings its variants, options and inventory with it.
External ID Format
After a successful transfer, iPaaS.com stores the Adobe Commerce/Magento 2 SKU as the external ID on records linking the iPaaS.com product and each of its variants to their Magento counterparts. Those records route later transfers to the existing Magento records for an update rather than creating duplicates, and they are what the standalone inventory collections read to resolve a SKU.
Deleted Record Support
Outbound delete is supported for products and product variants through separate delete mappings, which are not part of this family and are not included in the default templates. Removing a product or variant in iPaaS.com does not remove it from Adobe Commerce/Magento 2 through the collections documented here.
Custom Field Support
This family reads a substantial set of iPaaS.com custom fields, which must exist by these exact names for the behavior they control to work.
On the configurable parent:
Parent Item: a value of True makes the category mapping leave existing Magento category assignments untouched, forces the parent in stock, and sends a fixed parent quantity.
Parent Always In Stock, Parent URL Key Method, Parent Last Cost: the parent's always-in-stock override, URL key generation method, and cost.
On the variant:
Child Name: overrides the variant's name; the parent's name is used when it is empty.
Child Web Status: the source of the variant's enabled or disabled status.
Child Tax Class: the source of the variant's tax class.
Child Always In Stock, Child URL Key Method, Child Last Cost: the variant's always-in-stock override, URL key generation method, and cost.
On the configurable unit child, a set of per-variant overrides:
Child Alternate Unit Include, Child Alternate Unit Name, Child Alternate Unit Numerator, Child Alternate Unit Denominator, Child Alternate Unit Default Price, Child Alternate Unit Sale Price, Child Alternate Unit Barcode.
A catalog that does not use these behaviors does not need the fields; the standard calculations and the parent's values then apply.
Mapping Collection Status
Status: Enabled. All sixteen collections in this family ship enabled.
Trigger Events: Creation or update of Product records in iPaaS.com whose tracking method is Variant, plus Manual Sync on demand.
Automatic outbound transfers are enabled on the subscription's Outbound Data Flows page. Until that flow is enabled, no products are sent automatically. Manual Sync is always available regardless.
Duplicate or Conflicting Mappings
The add and update sets write the same fields to the same Magento records. Any change made to a mapping, a static value, or a Lookup Translation on one set should be mirrored on the other. Divergence produces records whose values change the first time they are updated.
Update Adobe Commerce/Magento 2 Configurable Product Inventory Stock Status FROM iPaaS.com refreshes the configurable parent's stock status, and Update Adobe Commerce/Magento 2 Simple Associated Product Variant Inventory Totals FROM iPaaS.com refreshes a variant's aggregate totals. Both ship disabled, but where a subscriber enables them they write stock fields this family also writes.
The standalone product inventory and standalone product variant inventory collections write the same per-source inventory rows as the inventory children here, without a product transfer above them.
Subscribers or their MiSP should review the filters and the sync settings on all of these collections together before enabling or modifying any of them.
Duplicate matching
This integration implements no selectable collision-handling methods, and the behavior is not configurable on these collections. The link between the iPaaS.com record and its Magento SKU decides whether a transfer creates or updates.
Unmapped field overwrite risk
When a product or variant is re-transferred, the fields this family maps are written again over the existing Magento record. Values edited directly in the Magento admin on any mapped field will be replaced.
The integration provides no guarantee that unmapped or blank fields are preserved on a product update. Subscribers or their MiSP should validate in a staging environment which fields are affected on their own store before relying on manual edits to any record this family transfers.
The CategoryIds mapping is the one deliberate exception: for a product flagged as a parent item, it instructs the integration to leave existing Magento category assignments untouched.
The fields at risk are every field the parent collections map — Sku, Name, AttributeSetId, Price, Status, Visibility, TypeId, Weight, StockItemQty, StockItemIsInStock, TaxClassId, Cost, SpecialPrice, CategoryIds, AlwaysInStockOverride and UrlKeyMethodOverride — the same set on each variant, the option attribute code, input type and label, the option value label and sort order, the variant's option value, the per-source quantity and status written by both inventory children, and every unit and per-variant unit override written by the unit child.
The mitigation is a DestinationValue. Where a Magento field must hold a specific value that the source system does not supply, set a DestinationValue on that mapping so the integration writes the value chosen there instead of taking it from the source. Values that must be maintained only in Magento should be kept on fields these collections do not map.
Supported Child Collections
The parent collections are Add Adobe Commerce/Magento 2 Configurable Product FROM iPaaS.com and Update Adobe Commerce/Magento 2 Configurable Product FROM iPaaS.com. The tree beneath each is the same.
Each row below is a pair of collections — one add-only and one update-only. In the iPaaS.com interface they appear under their own names, beginning Add and Update respectively (for example Add Adobe Commerce/Magento 2 Configurable Product Inventory FROM iPaaS.com and Update Adobe Commerce/Magento 2 Configurable Product Inventory FROM iPaaS.com). They are documented together here because their mappings are identical.
Add / Update Adobe Commerce/Magento 2 Configurable Product Inventory FROM iPaaS.com: the per-source inventory rows for the configurable parent record.
Add / Update Adobe Commerce/Magento 2 Configurable Product Options FROM iPaaS.com: the option definitions the family varies by, created as Magento product attributes.
Add / Update Adobe Commerce/Magento 2 Configurable Product Option Values FROM iPaaS.com: the individual choices within each option. This is a child of the options collection, not of the product.
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant FROM iPaaS.com: the simple products that sit beneath the configurable parent and hold the sellable stock.
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant Inventory FROM iPaaS.com: the per-source inventory rows for each variant. This is a child of the variant collection, not of the product.
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant Option FROM iPaaS.com: which option value each variant represents. This is a child of the variant collection, not of the product.
Add / Update Adobe Commerce/Magento 2 Configurable Product Unit FROM iPaaS.com: the family's alternate units of measure, including the per-variant unit overrides.
The nesting matters when troubleshooting. Option values do not transfer unless their option definition transferred, and variant inventory and variant options do not transfer unless the variant itself transferred.
System Caveats
Adobe Commerce/Magento 2 Caveats
A configurable parent needs at least one option attribute. A family with no option definitions cannot be assembled in Magento.
Option attribute codes are generated from option names. The attribute code is derived by trimming the option name and replacing spaces with underscores. Two option names that differ only in spacing or case can therefore collide on the same attribute code.
Option value matching is case-sensitive. A variant's option value must match the option value defined on the family exactly, including case, or the variant will not be associated.
The attribute set must already exist and cannot be changed later. The integration does not create attribute sets, and an attribute set cannot be changed on a product after creation.
Custom attributes must exist with global scope before transfer. An attribute that does not exist, or is not configured with global scope, causes the transfer to fail.
Inventory source codes are case-sensitive. A case mismatch causes the Magento inventory indexer to fail, and a failed inventory index can hide all products in the Magento admin until corrected and reindexed.
Configurable transfers are subject to Magento's API limits. A configurable family is many records, so large catch-up runs reach request-array and page-size limits sooner than simple products do. Stagger them rather than issuing them concurrently.
iPaaS.com Caveats
The record's tracking method must be Variant. That is what routes a product to this family rather than the simple product family.
Categories must exist in Magento before products are transferred. A category that cannot be matched is simply not assigned, and the product transfers without it.
An unmatched status or tax class is handled silently. A status with no translation row sends no value and Magento applies its own default; a tax class with no row is caught by the translation's fallback and taxed as Taxable Goods. Neither raises an error.
The custom fields listed above must exist by their exact names. A missing field leaves the behavior it controls unset rather than raising an error.
Integration-Specific Caveats
The configurable parent's quantity is nominal. A configurable product holds no saleable stock of its own — Magento derives purchasability from its variants. The quantity written to the parent is a container figure, and for a product flagged as a parent item a fixed value of 9999 is sent by design.
The variant's price falls back to the parent's. A variant with no price of its own uses the configurable parent's price, and the same fallback applies to the promotional price.
The variant's name falls back to the parent's. A variant with no Child Name custom field value takes the parent product's name.
Variants are not individually visible. Every variant is created with a visibility of Not Visible Individually, so it is sold only through its configurable parent.
The add and update sets must not be configured as add-and-update. The split is what lets creation and maintenance carry different filters and be enabled independently.
The update parent excludes secondary updates. An inventory-only movement is deliberately not allowed to re-send the complete family payload; those records are handled by the configurable stock status collection, which ships disabled.
Cost must be supplied on both sets. A cost provided on the add does not carry over to the update. Where cost matters, the mapping must be present and populated on both halves.
Setup Requirements
Adobe Commerce/Magento 2 Configuration
Confirm the attribute set the products and variants should use, and note its numeric ID.
Create any custom attributes the catalog requires, with global scope.
Confirm the tax class IDs in the store.
Create every required inventory source under Multi Source Inventory, confirming exact spelling and casing.
iPaaS.com Configuration
Replace the static attribute set IDs on both the parent and the variant collections with the store's own.
Review the product status and tax class Lookup Translations and add a row for every value the catalog uses.
Review the inventory source code Lookup Translation so that there is exactly one row per iPaaS.com location.
Create the product and variant custom fields listed under Custom Field Support where the behaviors they control are required.
Transfer the category structure before running product transfers.
Confirm option names are distinct once trimmed and space-replaced, so no two options collide on the same attribute code.
Mirror any mapping change across both the add and the update set.
Enable the outbound flow for Adobe Commerce/Magento 2 products on the subscription's Outbound Data Flows page.
Full step-by-step setup instructions are in the Adobe Commerce/Magento 2 Installation Instructions article.
Integration Flow
The iPaaS.com product record is evaluated against the parent collection's mapping filter. Products whose tracking method is not Variant are skipped without error.
The parent mappings build the Magento configurable product payload, including the translated status and tax class, the resolved category assignments, and the nominal parent stock figures.
The configurable product is created or updated in Adobe Commerce/Magento 2, and iPaaS.com records the link between the two.
The option definitions are created as Magento product attributes, and each option's values are created beneath it.
Each variant is created as a simple product beneath the configurable parent, with its own price, status, tax class and stock figures.
Each variant's own inventory rows and option assignments are written beneath it, associating the variant with the option values it represents.
The family's alternate units of measure are written, including any per-variant unit overrides.
Because the family is written as one nested sequence, a subscriber troubleshooting a variant that arrived without options or without inventory should check the child collections' filters and the option value casing before concluding the product transfer failed.
Mappings
Subsections headed Add / Update cover an add-only and an update-only collection that share the same mappings. Where the pair differs, both filters are shown and the differing rows are marked.
Add / Update Adobe Commerce/Magento 2 Configurable Product FROM iPaaS.com (Parent)
iPaaS.com data type: Product
Mapping Filter — Add collection
TrackingMethod=="Variant"
Mapping Filter — Update collection
TrackingMethod=="Variant" && SecondaryUpdate != true
Both collections process iPaaS.com product records whose tracking method is Variant, which routes them to this family rather than the simple product family. The update collection adds a condition excluding records flagged as a secondary update, so that an inventory-only movement does not re-send the complete family payload — those records are the subject of the configurable stock status collection instead. Records that do not pass are skipped without error.
The two collections map the same sixteen shared fields; the only difference is that the add collection writes CreatedAt and the update collection writes UpdatedAt.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Field | Sku | Sku | Required. The configurable parent's SKU, and the value stored as the external ID linking the two systems. |
Field | Name | Name | Required. The product name shown in the catalog and on the storefront. |
Static |
| AttributeSetId | Required. Placeholder value — replace during implementation: the ID of the stock Default attribute set. Confirm it is correct for the store and replace it if not. The set must already exist and cannot be changed after creation. |
Static |
| TypeId | Required. Fixed for every product created by this collection. |
Dynamic Formula |
| Price | Recommended. The price carried on the configurable parent, taken from the default price and falling back to the sale price. |
Lookup Translation | Lookup Translation: M2 Product Status From iPaaS | Status | Recommended. Whether the configurable product is enabled or disabled. An unmatched status sends no value and Magento applies its own default, silently. |
Static |
| Visibility | Recommended. Magento's Catalog, Search setting, so the family appears in both category browsing and search results. |
Dynamic Formula |
| Weight | Recommended. The parent's weight, falling back to 1 when none is recorded. |
Dynamic Formula |
| StockItemQty | Recommended. The nominal quantity on the parent container. A product flagged as a parent item sends a fixed 9999 by design; otherwise the summed inventory is sent. |
Dynamic Formula |
| StockItemIsInStock | Recommended. The parent's stock status. A parent item is forced in stock; otherwise the status follows the summed inventory. |
Lookup Translation | Lookup Translation: M2 Product Tax Class From iPaaS | TaxClassId | Recommended. The parent's tax class. A class with no explicit row is caught by the translation's fallback and taxed as Taxable Goods. Confirm the IDs against the store. |
Dynamic Formula |
| CategoryIds | Optional. Resolves the product's iPaaS.com categories to Magento category IDs. When Parent Item is True, existing Magento assignments are left untouched. A category that cannot be matched is simply not assigned. |
Dynamic Formula |
| SpecialPrice | Optional. The promotional price on the parent, set only when the sale price is both below the default price and greater than zero. |
Dynamic Formula |
| Cost | Optional. The parent's cost attribute. A cost supplied on the add set does not carry over to the update — map it on both where cost matters. |
Field | Parent Always In Stock | AlwaysInStockOverride | Optional. Forces the parent to remain in stock regardless of the calculated quantity. |
Field | Parent URL Key Method | UrlKeyMethodOverride | Optional. Controls how the parent's storefront URL key is generated. |
Dynamic Formula |
| CreatedAt | Optional. Add collection only. Stamps the created date with the time the transfer ran. |
Dynamic Formula |
| UpdatedAt | Optional. Update collection only. Stamps the updated date with the time the transfer ran. |
Add / Update Adobe Commerce/Magento 2 Configurable Product Inventory FROM iPaaS.com (Child of the product)
iPaaS.com data type: Product Inventory
Neither the add nor the update child carries a mapping filter, and both map the same three fields identically. They inherit the product from the transfer above them, so they need no product-existence condition of their own.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Lookup Translation | Lookup Translation: M2 Product Inventory Source Code From iPaaS | SourceCode | Required. Resolves which Magento inventory source the quantity is written to. An inventory row cannot be written without a valid source code. |
Dynamic Formula |
| Quantity | Required. The available quantity at the location being processed, rounded down to a whole number. |
Dynamic Formula |
| Status | Required. The in-stock flag at that source, derived from the same floored figure. 0 is out of stock, 1 is in stock. |
Add / Update Adobe Commerce/Magento 2 Configurable Product Options FROM iPaaS.com (Child of the product)
iPaaS.com data type: Product Option
Neither collection carries a mapping filter. These are the option definitions the family varies by — size, colour and so on — created as Magento product attributes.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Dynamic Formula |
| AttributeCode | Required. The Magento attribute code for the option, derived by trimming the option name and replacing spaces with underscores. Two option names differing only in spacing can collide on the same code. |
Static |
| FrontendInput | Required. Sets the attribute's input type to Magento's dropdown input. |
Field | OptionName | DefaultFrontendLabel | Required. The label shown for the option on the storefront. |
Add / Update Adobe Commerce/Magento 2 Configurable Product Option Values FROM iPaaS.com (Child of the options collection)
iPaaS.com data type: Product Option Value
Neither collection carries a mapping filter. These are the individual choices within each option. This collection is a child of the options collection, so an option value cannot transfer unless its option definition transferred first.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Field | Value | Label | Required. The option value's label, for example Medium or Blue. Variant option assignments match against this value and the match is case-sensitive. |
Field | Order | SortOrder | Optional. The order the value appears in on the storefront dropdown. |
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant FROM iPaaS.com (Child of the product)
iPaaS.com data type: Product Variant
Neither collection carries a mapping filter. These are the simple products that sit beneath the configurable parent and hold the family's sellable stock. The add and update collections map the same sixteen shared fields, differing only in the date stamp.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Field | Sku | Sku | Required. The variant's SKU, and the value stored as the external ID linking the two systems. |
Dynamic Formula |
| Name | Required. The variant's name, taken from the Child Name custom field and falling back to the configurable parent's name when it is empty. |
Static |
| AttributeSetId | Required. Placeholder value — replace during implementation: the stock Default attribute set ID. Must match the set used for the family. |
Dynamic Formula |
| Price | Required. The variant's regular selling price, falling back to the configurable parent's price when the variant has none of its own. |
Static |
| TypeId | Required. Every variant is created as a simple product beneath the configurable parent. |
Dynamic Formula |
| StockItemIsInStock | Required. Whether the storefront treats this option as in stock, derived from the variant's summed inventory rounded down. |
Lookup Translation | Lookup Translation: M2 Product Status From iPaaS | Status | Recommended. Whether the variant is enabled or disabled, translated from the Child Web Status custom field. |
Static |
| Visibility | Recommended. Magento's Not Visible Individually setting, so the variant is sold only through its configurable parent. |
Dynamic Formula |
| Weight | Recommended. The variant's weight, falling back to 1 when none is recorded. |
Dynamic Formula |
| StockItemQty | Recommended. The variant's on-hand quantity, summed across its locations and rounded down. |
Lookup Translation | Lookup Translation: M2 Product Tax Class From iPaaS | TaxClassId | Recommended. The variant's tax class, translated from the Child Tax Class custom field. |
Dynamic Formula |
| SpecialPrice | Optional. The variant's promotional price, set only when the sale price is below the original price and greater than zero. Both prices fall back to the parent's when the variant has none. |
Dynamic Formula |
| Cost | Optional. The variant's cost attribute. Must be supplied on both the add and the update collection where cost matters. |
Field | Child Always In Stock | AlwaysInStockOverride | Optional. Forces the variant to remain in stock regardless of the calculated quantity. |
Field | Child URL Key Method | UrlKeyMethodOverride | Optional. Controls how the variant's URL key is generated. |
Field | Magento PriceTier_FormattedData | Pricing_6 (custom field) | Optional. Carries customer-group tier pricing. Placeholder value — replace during implementation: the destination field Pricing_6 targets Magento customer group 6 in the store the template was built from. Create one Pricing_ field per customer group in your own store that should receive tier pricing, named for that group's own identifier; a store with no group 6 never receives these prices. |
Dynamic Formula |
| CreatedAt | Optional. Add collection only. Stamps the created date with the time the transfer ran. |
Dynamic Formula |
| UpdatedAt | Optional. Update collection only. Stamps the updated date with the time the transfer ran. |
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant Inventory FROM iPaaS.com (Child of the variant)
iPaaS.com data type: Product Variant Inventory
Neither collection carries a mapping filter, and both map the same three fields identically. This collection is a child of the variant collection, so a variant's inventory cannot transfer unless the variant transferred first.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Lookup Translation | Lookup Translation: M2 Product Inventory Source Code From iPaaS | SourceCode | Required. Resolves which Magento inventory source the variant's quantity is written to. |
Dynamic Formula |
| Quantity | Required. The available quantity at the location being processed, rounded down to a whole number. |
Dynamic Formula |
| Status | Required. The in-stock flag at that source, derived from the same floored figure. |
Add / Update Adobe Commerce/Magento 2 Simple Associated Product Variant Option FROM iPaaS.com (Child of the variant)
iPaaS.com data type: Product Variant Option
Neither collection carries a mapping filter. This is what associates a variant with the option values it represents — Medium within a Size option, Blue within a Colour option. It is a child of the variant collection.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Dynamic Formula |
| AttributeCode | Required. Identifies which of the family's options this variant is being given a value for. Derived the same way as the option definition's attribute code, so the two must agree. |
Field | Value | Value | Required. Which of the option's choices this variant represents. The match against the option value is case-sensitive — a mismatch leaves the variant unassociated. |
Add / Update Adobe Commerce/Magento 2 Configurable Product Unit FROM iPaaS.com (Child of the product)
iPaaS.com data type: Product Unit
Neither collection carries a mapping filter. This writes the family's alternate units of measure, and carries the per-variant unit overrides that the simple product unit collection does not have.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Adobe Commerce/Magento 2) | Description |
Field | Name | UnitName | Required. The unit's name, for example Each, Case, or Pallet. |
Field | Conversion | UnitConversion | Required. How many stocking units make up one of this unit. |
Field | DefaultPrice | UnitPrice | Recommended. The price for this unit of measure. |
Field | Child Alternate Unit Include | UnitIncludeChildOverride | Optional. Per-variant control over whether this unit is included. |
Field | Child Alternate Unit Name | UnitNameChildOverride | Optional. Per-variant override for the unit's name. |
Field | Child Alternate Unit Numerator | UnitConversionNumeratorChildOverride | Optional. Per-variant override for the conversion numerator. |
Field | Child Alternate Unit Denominator | UnitConversionDenominatorChildOverride | Optional. Per-variant override for the conversion denominator. |
Field | Child Alternate Unit Default Price | UnitPriceChildOverride | Optional. Per-variant override for the unit price. |
Field | Child Alternate Unit Sale Price | UnitSpecialPriceChildOverride | Optional. Per-variant override for the unit's promotional price. |
Dynamic Formula |
| UnitBarcodeChildOverride | Optional. Writes a per-variant alternate barcode. Placeholder value — replace during implementation: the target attribute code upc_code — replace it with the attribute code the store actually uses for barcodes, if it differs. That attribute must already exist in Magento with global scope. |
Lookup Translations
M2 Product Status From iPaaS
Used by the Status mapping on the parent collections (from the product status) and on the variant collections (from the Child Web Status custom field).
Source Value | Destination Value | Notes |
Preorder | 1 | Enabled — preorder items are published to the storefront. |
Active | 1 | Enabled. |
Disabled | 2 | The product exists in the catalog but is not shown on the storefront. |
In Adobe Commerce/Magento 2, 1 means Enabled and 2 means Disabled. A status with no matching row is not translated: no status value is sent, and the record is created with Magento's own default status. This is silent rather than reported, so complete the translation before the first production run.
M2 Product Tax Class From iPaaS
Used by the TaxClassId mapping on the parent collections (from the product tax class) and on the variant collections (from the Child Tax Class custom field).
Source Value | Destination Value | Notes |
None | 0 | The non-taxable class in a standard installation. |
Taxable Goods | 2 | The stock Taxable Goods class. |
Fallback row (always matches, placed last) | 2 | Catches every tax class not matched above. |
The final row is entered as a formula whose value is always true and placed last, so any tax class not matched by the rows above it is mapped to Taxable Goods. A tax class with no row of its own — including one that is misspelled or newly added — is therefore not skipped, it is taxed as Taxable Goods.
Verify these destination IDs against the store: custom tax classes created in Magento receive their own IDs, and the IDs above are correct only for a store using the stock classes.
M2 Product Inventory Source Code From iPaaS
Used by the SourceCode mapping on both inventory children. This is the same translation used by the simple product and standalone inventory collections, so a change made here affects those transfers too.
The source side is not a plain location name — each row matches the inventory record's location by resolving an iPaaS.com location name to its identifier and comparing it to the location on the record.
Source Value | Destination Value | Notes |
Location matches the iPaaS.com location named MAIN | MAIN | Example row — replace both sides. |
Location matches the iPaaS.com location named EAST | EAST | Example row — replace both sides. |
Location matches the iPaaS.com location named STORAGE | STORAGE | Example row — replace both sides. |
Placeholder value — replace during implementation: the shipped location names and the Magento source codes they point at are example values. Replace the location name inside the match condition on the source side and the source code on the destination side, editing each row in place rather than replacing the row as a whole. Ensure exactly one row per iPaaS.com location, and confirm the mapping is one-to-one.
Error Handling
The full catalog of messages this integration produces, with causes and resolutions, is in the Adobe Commerce/Magento 2 Error Messages article. The conditions most often seen on this transfer are:
Error message: Attribute Set is required for new products. No attribute set ID was supplied. Resolution: confirm the static attribute set mapping is present and populated on both the parent and the variant collection.
A custom attribute that must be created with global scope. An option attribute or custom attribute does not exist in Magento, or is not configured with global scope. Resolution: create the attribute with global scope before re-running.
A variant that arrives unassociated with its family. The variant's option value did not match the option value defined on the family, most often a case difference. Resolution: correct the casing in iPaaS.com so the variant value matches the option value exactly.
A configurable family that cannot be assembled. The family has no option definitions. Resolution: confirm the options and option values transferred before the variants.
An inventory row rejected for a missing or invalid source code. Resolution: correct the source code translation and confirm the source exists with exactly that code and casing.
Errors are reported under Dashboard / Integration Monitoring / Error Logs.
Testing & Validation
Test Scenarios
Create a product in iPaaS.com with a tracking method of Variant and confirm it arrives in Magento as a configurable product with its option attributes, option values and variants.
Manually sync using the iPaaS.com Product record identifier of the parent and confirm the whole family transfers.
Update the family in iPaaS.com and confirm the same Magento records are updated rather than duplicates created.
Confirm each variant is created with a visibility of Not Visible Individually and is purchasable only through the parent.
Transfer a variant with no price of its own and confirm it inherits the configurable parent's price.
Transfer a variant with no Child Name value and confirm it takes the parent's name.
Change the case of a variant's option value so it no longer matches the family's option value, and confirm the variant is not associated.
Create two options whose names differ only by spacing and confirm whether they collide on the same attribute code before relying on them.
Draw every variant to zero stock and confirm the storefront treats the family as unpurchasable.
Set Parent Item to True on the configurable product and confirm the parent is forced in stock, sends the fixed parent quantity, and leaves existing Magento category assignments untouched.
Confirm each variant's inventory is distributed across every expected Magento inventory source.
Confirm the unit child writes alternate units and that the per-variant unit overrides reach the intended variants.
Trigger an inventory-only movement and confirm the update parent does not re-send the full family payload.
Validation Checklist
The static attribute set IDs on both the parent and the variant collections match an attribute set that exists in the store.
Every option name is distinct once trimmed and space-replaced, so no two options collide on one attribute code.
Variant option values match the family's option values exactly, including case.
The product status and tax class translations cover every value the catalog uses, and the tax class IDs match the store.
The inventory source code translation has exactly one row per iPaaS.com location, one-to-one, with match conditions intact.
The barcode target attribute code matches the store's own, and that attribute exists with global scope.
Every mapping change has been mirrored across both the add and the update set.
The category structure has been transferred before products.
Additional Notes
The configurable parent is a container. Its quantity is nominal and its purchasability is derived by Magento from its variants, which is why the variant collections are the ones that govern storefront availability for the family.
Option values and variant options both derive their attribute code from the option name the same way, so a change to an option name in iPaaS.com changes the attribute code and can orphan variants associated under the previous code.
The add and update sets are deliberately split and must not be configured as add-and-update. Mirror every change across the pair.
Cost does not carry over from the add set to the update set. Where cost matters it must be supplied on both.
Validate dynamic formulas, static values and translation changes in a staging environment before enabling automatic transfers in production.
