Summary
iPaaS.com products that have variants can be written to Square as catalog items with their full option and variation structure. The parent collection writes the Square item, and its child collections create the item's options, option values, variations, and each variation's option selections. It handles products tracked at the variant level, keeping the Square item and its variants aligned with iPaaS.com as the product changes. Products without variants are handled by the companion iPaaS.com to Square Product (Without Variants) documentation instead.
Note on amounts: Square records money in the smallest unit of the currency (for example, cents). Price mappings multiply the iPaaS.com decimal price by 100.
Note on fixed values: Several fields carry fixed Square catalog keywords (for example, ITEM, ITEM_VARIATION, ITEM_OPTION, FIXED_PRICING). These are case-sensitive Square values and should not be changed.
ID Format
Manual Sync ID: the iPaaS.com product identifier, entered on the iPaaS.com Manual Sync page.
External ID saved after sync: on the first successful transfer, iPaaS.com records the Square catalog item identifier and catalog version as the external ID for the product. That external ID routes later updates to the same Square item and supplies the catalog version Square needs to accept an update.
Deleted Record Support
Outbound product deletion is not supported. The Square Product and Variant model Delete operations are not implemented, delete mappings are not included in the default templates, and deleting a product, variant, option, or option value in iPaaS.com does not remove the corresponding record in Square. Removing part of a product in iPaaS.com is reflected only when the whole product is refreshed on its next transfer.
Mapping Collection Status
Status: Enabled, with a mapping filter on the parent Product collection that limits it to products tracked at the variant level that have one or more variants (see Mappings). The child collections carry no filter of their own; the parent filter governs whether the product and its variants transfer.
Trigger Events: the iPaaS.com product Create and Update outbound triggers, enabled by subscribers or their MiSP in the subscription's Outbound Data Flows configuration. Products can also be written on demand from the Manual Sync page.
Duplicate or Conflicting Mappings
Related Collection
iPaaS.com to Square Product (Without Variants) targets the same Square product catalog. The two collections are kept apart by their filters — this one handles products with variants, the other handles products without variants. Important: review both filters before enabling so that each product is written by exactly one of them.
Existing-Item Matching
Before writing, the integration looks for an existing Square item with the same SKU and links the iPaaS.com product to it, so an update is applied instead of creating a duplicate. If the link cannot be completed, the transfer stops and records an error.
Supported Child Collections
Parent Collection: Add/Update Square Product With Variants FROM iPaaS.com.
Add/Update Square Product Option FROM iPaaS.com: creates the product's options (for example, Size or Color). Its child, Add/Update Square Product Option Value FROM iPaaS.com, creates the values for each option (for example, Small, Medium, Large).
Add/Update Square Product Variant FROM iPaaS.com: creates the product's variations. Its child, Add/Update Square Product Variant Option FROM iPaaS.com, records which option values each variation is for.
System Caveats
Square Caveats
Money amounts are in the smallest unit of the currency (for example, cents); the iPaaS.com price is converted accordingly.
Currency must match your Square account. The variation price currency ships as
USD; if your Square account is not in US dollars, the variation is rejected until the currency is changed (see the placeholder callout under Mappings).Fixed catalog keywords are case-sensitive. The item, option, option-value, and variation types and the pricing type use exact Square keywords and must not be changed.
Variant name must match the Square format on update. Square builds a variant name by joining its option values with commas; the integration sends the name in that format so updates are accepted. A variant with no option values is sent with its SKU as the name.
Stock status comes from variant status. An Active variant is stockable; Disabled or Preorder is not.
Every variation must select all of the product's options, in order. If a product has both a Size and a Material option, each variation must specify a value for both, listed in the same order the options are defined on the product. A missing or reordered option causes Square to reject the product.
Option matching can be case-sensitive. The Match Different Case Product Options and Values subscription setting controls how option names and values are matched against Square. When it is off, matching is case-sensitive and a difference in letter casing can cause Square to report a duplicate option; when it is on, matching ignores letter casing, existing Square option names are reused, and existing color values are preserved when the incoming data does not include them.
Categories must already exist in Square. Category assignment matches iPaaS.com categories to existing Square categories by name and full parent chain; categories with no exact match are left off.
Rate limiting: if Square temporarily limits requests, the transfer is automatically rescheduled to resume after the limit resets. No subscriber action is required.
iPaaS.com Caveats
The Square item name is set from the product SKU. If you want a different name on the Square item, remap the name to the iPaaS.com product name field.
The parent product is written before its variations, options, and option values. Each variation links to the Square item recorded when the parent product transferred.
Setup Requirements
iPaaS.com Configuration
Enable the iPaaS.com product Create and Update outbound triggers in the subscription configuration's Outbound Data Flows section. No products transfer automatically until those triggers are enabled. Products can also be written on demand from the Manual Sync page using the iPaaS.com product identifier. Before enabling this collection, replace the USD currency placeholder on the variation price (see Mappings) if your Square account uses a different currency, and set the Match Different Case Product Options and Values subscription setting to match how your Square catalog is maintained (see the Square Connections and Settings article).
Square Configuration
The Square connection must be authorized for the integration. To file products under categories, create the matching Square category hierarchy first (see the Categories mapping description below).
Integration Flow
An iPaaS.com product with variants is written to Square via the product Create or Update outbound trigger, or on Manual Sync using the iPaaS.com product identifier.
The collection filter admits only products tracked at the variant level that have at least one variant.
The integration looks for an existing Square item with the same SKU; if one exists, it links the iPaaS.com product to that Square item so the write becomes an update, otherwise it creates a new item.
The Square catalog item is written, and its options and option values are created.
The product's variations are created, each linked to the parent Square item, and each variation records the option values it is for.
Categories are assigned by matching the product's iPaaS.com categories to existing Square categories by name and full parent chain.
The Square catalog item identifier and version are saved as the external ID.
Mappings
Add/Update Square Product With Variants FROM iPaaS.com (Parent)
iPaaS.com data type: Product
Mapping Filter
TrackingMethod == "Variant" && Variants?.Count > 0
Filter Description. The collection processes a product only when it is tracked at the variant level (TrackingMethod == "Variant") and carries at least one variant (Variants?.Count > 0). Products without variants are skipped here and handled by the iPaaS.com to Square Product (Without Variants) collection instead.
Mapping Type | Source (iPaaS.com) | Destination (Square) | Description |
Static |
| Type | Required. Identifies the catalog object as a product item; must remain |
Field | Sku | Name | Required. Square requires a name; it is set from the iPaaS.com product SKU. Remap to the product name field to show a different name. |
Field | Description | Description | Recommended. The product's plain-text description. |
Field | Description | DescriptionHtml | Recommended. The product's description in Square's rich-text (HTML) field. |
Dynamic Formula | Dynamic Formula | Categories | Optional. Matches the product's iPaaS.com categories to existing Square categories by name and full parent chain; unmatched categories are left off. |
Dynamic Formula |
| PresentAtAllLocations | Recommended. Makes the item available at all Square locations. |
Add/Update Square Product Option FROM iPaaS.com (Child)
iPaaS.com data type: Product Option
Mapping Type | Source (iPaaS.com) | Destination (Square) | Description |
Static |
| Type | Required. Identifies the object as a product option; must remain |
Field | OptionName | ItemOptionData_Name | Required. The option name (for example, Size). |
Add/Update Square Product Option Value FROM iPaaS.com (Child of Option)
iPaaS.com data type: Product Option Value
Mapping Type | Source (iPaaS.com) | Destination (Square) | Description |
Field | Value | ItemOptionValueData_Name | Required. The option value (for example, Small). |
Static |
| Type | Required. Identifies the object as an option value; must remain |
Add/Update Square Product Variant FROM iPaaS.com (Child)
iPaaS.com data type: Product Variant
Mapping Type | Source (iPaaS.com) | Destination (Square) | Description |
Dynamic Formula |
| Id | Required. A temporary reference for the variation while the item is created (Square requires the number-sign prefix). |
Dynamic Formula | Dynamic Formula | ItemId | Required. Links the variation to its parent Square item, using the item id recorded when the parent product transferred (falls back to the parent SKU reference). The parent product must transfer first. |
Dynamic Formula | Dynamic Formula | Name | Required. The variation name in Square's format — its option values joined with commas (for example, "Small, Blue"); a variation with no option values is sent with its SKU as the name. |
Field | Sku | Sku | Recommended. The iPaaS.com variant SKU. |
Static |
| Type | Required. Identifies the object as an item variation; must remain |
Static |
| PricingType | Required. Sets fixed pricing on the variation; must remain |
Dynamic Formula |
| PriceMoney_Amount | Required. The variation price, from the iPaaS.com variant default price converted to the smallest currency unit. |
Static |
| PriceMoney_Currency | Required. The currency of the variation price. Placeholder value — replace during implementation: ships as |
Lookup Translation | Lookup Translation: Square Product Variant Status From iPaaS | Stockable | Recommended. Sets whether the variation is stockable, from the iPaaS.com variant status (see the translation table below). |
Dynamic Formula | Dynamic Formula | Version | Used when updating an existing variation: supplies the Square catalog version recorded on the variation's last transfer. On a new variation there is no version yet and Square assigns one. |
Lookup Translation Tables
Square Product Variant Status From iPaaS:
Source Value (iPaaS.com) | Destination Value (Square) | Notes |
Active | true | Stockable in Square. |
Disabled | false | Not stockable. |
Preorder | false | Not stockable. |
Adjust these entries if your variant statuses should map to stockability differently.
Add/Update Square Product Variant Option FROM iPaaS.com (Child of Variant)
iPaaS.com data type: Product Variant Option
Mapping Type | Source (iPaaS.com) | Destination (Square) | Description |
Field | OptionName | OptionName | Required. The option the variation is chosen for (for example, Size). |
Field | Value | Value | Required. The option value the variation uses (for example, Small). |
Error Handling
Product link could not be completed: when the integration finds (or creates) a Square item but cannot save the external-ID link, the transfer stops and records an error noting that duplicate product records may otherwise result.
Currency mismatch: if the
USDcurrency does not match your Square account, Square rejects the variation; set the currency to your account's currency (see the placeholder callout under Mappings).Incomplete or misordered variation options: Square rejects the product if a variation does not select a value for every product option, or lists them in a different order than the product defines. Confirm each variation specifies all options in the product's option order.
Duplicate options from case differences: with Match Different Case Product Options and Values off, an option or value that differs only in letter casing can be reported by Square as a duplicate. Turn the setting on to match regardless of case.
See the Square Error Messages article for the full message text and resolution steps.
Testing & Validation
Write an iPaaS.com product that has two options (for example, Size and Color) and several variants; confirm the Square item is created with the options, option values, and variations, and that each variation carries the correct price, SKU, and stock status.
Confirm each variation is linked to the parent Square item and records the correct combination of option values, in the product's option order.
Confirm an Active variant is stockable and a Disabled or Preorder variant is not.
Change a variant's price in iPaaS.com, re-write the product, and confirm the existing Square variation is updated rather than duplicated.
Assign the product to an iPaaS.com category that also exists in Square (with the same parent chain) and confirm it is filed under the matching Square category.
With Match Different Case Product Options and Values on, write a product whose option casing differs from an existing Square option and confirm the existing option is reused rather than duplicated.
Additional Notes
Deletion is out of scope. Removing a product, variant, option, or option value in iPaaS.com does not remove the corresponding record in Square on its own; the product is refreshed as a whole on its next transfer.
