Summary
Clover catalog items can be created and updated from iPaaS.com product records through Manual Sync and through automatic outbound transfers. This documentation covers the simple-product flow: the parent collection writes a product's name, SKU, and price into the Clover catalog, and its child collection sets that item's stock level for a Clover location. Products that carry variant data are excluded from this flow and are handled by a separate variant collection.
ID Format
Manual Sync ID Format
To sync one product on demand, enter the iPaaS.com product identifier as the record key. For example, a product named White T-shirt with iPaaS.com identifier 10001 is entered as 10001, and the collection resolves that value to the matching Clover item.
The child inventory collection is normally driven by its parent rather than keyed directly. When it is run on demand through Manual Sync, enter the iPaaS.com product inventory identifier for the record you want to transfer, for example 10001.
External ID Format
The integration keeps a dedicated external-identifier record that links each iPaaS.com product to its Clover item. Because of this link, the same product resolves to the same Clover item on repeat transfers, and the child inventory collection resolves the correct Clover item from the parent product's linked identifier.
Deleted Record Support
At the time this documentation was written, outbound delete is not supported for products. Removing a product, variant, or option in iPaaS.com does not remove the corresponding record from the Clover catalog. Delete mappings are not included in the default templates, and deletions will not propagate to Clover. If you need to remove a catalog record from Clover, make that change directly in Clover. See the Clover Integration Known Limitations article for the full detail on catalog deletions and option-definition updates.
Mapping Collection Status
Status: Enabled.
Trigger Events: The transfer runs on demand through Manual Sync at any time, and it runs automatically when a product is added or updated in iPaaS.com and the relevant iPaaS.com outbound triggers (Outbound Data Flows) are enabled for the product data type.
Duplicate or Conflicting Mappings
Conflicting collections
This collection writes simple products to Clover. A separate collection handles products that have variants. Inventory is handled by two separate collections: the child inventory collection that runs as part of this product transfer, and the standalone Product Inventory (Standalone) collection that sets an item's stock on its own. To avoid records overwriting one another, no other active mapping collection should target the same Clover item from the same source, and the standalone inventory collection should not run against the same item and location at the same time as this flow's child inventory collection. Review your active collections if a Clover item appears to change unexpectedly.
SKU duplicate risk
Because the product is matched to a Clover item by its SKU, two iPaaS.com products that share the same SKU resolve to the same Clover item and overwrite each other. Keep the SKU unique per product to prevent this. A missing or duplicated SKU can also cause a product to be created incorrectly or to link to the wrong item; the integration reports this with a warning that a duplicate product may result. See the Error Handling section below and the Clover Error Messages article for the exact message text.
Collision handling
Configurable collision handling is not offered for this flow. The integration prevents duplicates by matching on SKU and linking through the dedicated external-identifier record rather than by a subscriber-selectable collision-resolution method. Keeping SKUs unique per product is the way to avoid conflicting writes.
Supported Child Collections
This parent collection supports one child collection:
Add/Update Clover Product Inventory FROM iPaaS.com — sets the item's stock level in Clover alongside the item record.
System Caveats
Clover Caveats
When Clover signals that requests are arriving too quickly, the integration automatically reschedules and retries the in-progress transfer, so no subscriber action is needed. Clover expects a valid SKU on catalog items, and because SKU is the match key, a missing or duplicated SKU can cause a product to be created incorrectly or to overwrite a different item. Clover may reject an item that lacks a name or a valid price. Stock is only retained by a Clover item when Track Stock is enabled on that item; if Track Stock is off, an inventory transfer completes but the quantity is not held. Subscribers should validate item creation and stock behavior in a staging environment before relying on them in production.
iPaaS.com Caveats
The iPaaS.com product SKU must remain unique per product, because it is the value used to match and link the Clover item. The product price must resolve to a valid number so the conversion to cents succeeds; a product with no usable price may be rejected by Clover. For inventory, the iPaaS.com inventory record must carry a location identifier, because stock is written for a specific Clover location, and the available stock must resolve to a number so the total can be calculated and rounded. Errors are reported in the Dashboard under Integration Monitoring and the Error Logs.
Integration Flow
Read the product. The integration reads the iPaaS.com product and evaluates the mapping filter. Only a product with no variant data passes; a product that carries variants is skipped here and handled by the separate variant collection.
Match or create the Clover item by SKU. The integration matches the product to an existing Clover item by its SKU. If no matching Clover item exists, the integration creates it first, automatically, before writing the mapped fields. Subscribers do not need to pre-create the Clover item.
Write the item fields. The product's name, SKU, and price are assembled into a Clover item and created or updated in the catalog. The price is converted to cents automatically as part of this write.
Set the item's stock. The child inventory collection resolves the Clover item from the parent product, totals the available stock from iPaaS.com, rounds it down to a whole number, and writes that quantity to the item's stock for the given location. Stock is retained only when Track Stock is enabled on the item.
To enable automatic transfers, open the subscription's configuration in iPaaS.com and, under the Outbound Data Flows section, subscribe to the outbound Add and Update triggers for the product and inventory data types.
Mappings
Add/Update Clover Product FROM iPaaS.com (Parent)
iPaaS.com data type: Product
Mapping Filter
Variants == null || Variants.Count == 0
Filter Description. This collection processes an iPaaS.com product only when the product has no variant data — that is, when its Variants list is null or its Variants.Count is zero. Simple products pass the filter and are written to the Clover catalog. Products that carry one or more variants are rejected by this collection and are handled instead by the separate variant product collection. There is no error message on rejection; the product simply does not flow through this collection.
Description. Creates and updates simple product items in Clover, mapping the product's name, SKU, and price and applying a fixed set of item settings.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Clover) | Description |
Static |
| Available | Always marks the Clover item as available. Fixed value supplied by the collection; subscribers do not enter a value. |
Static |
| AutoManage | Always sets the Clover item to be automatically managed. Fixed value supplied by the collection; subscribers do not enter a value. |
Field | Name | Name | Recommended. Copies the product name from iPaaS.com into the Clover item name so the item is identifiable. If the product has no name, Clover may create the item without one or reject it; validate name behavior in a staging environment first. |
Field | Sku | Sku | Recommended. Copies the product SKU into the Clover item SKU. This is also the value used to match the product to an existing Clover item and to create the item if none exists. Keep the SKU unique per product; two products sharing a SKU resolve to the same Clover item and overwrite each other. |
Dynamic Formula |
| Price | Recommended. Clover stores prices in cents, so the collection takes the product's MSRP from iPaaS.com and multiplies it by 100 to convert dollars to cents (an MSRP of 19.99 becomes 1999). If the MSRP does not resolve to a valid number, the price cannot be calculated and Clover may reject the item. |
Static |
| PriceType | Sets the item's price type to a fixed price. Fixed value supplied by the collection; subscribers do not enter a value. |
Static |
| DefaultTaxRates | Applies the merchant's default tax rates to the item. Fixed value supplied by the collection; subscribers do not enter a value. |
Add/Update Clover Product Inventory FROM iPaaS.com (Child)
iPaaS.com data type: Product Inventory
This child collection has no mapping filter. Every product-inventory record routed to it through the parent flow is processed; there is no condition that skips records.
Description. Sets the stock level of a Clover item from the total available stock recorded in iPaaS.com, for a specific Clover location. It does not create the Clover item; the parent product collection does that.
Mapping Type | Source Field (iPaaS.com) | Destination Field (Clover) | Description |
Dynamic Formula |
| Quantity | Calculated automatically. Totals the available stock for the product across iPaaS.com and rounds the result down to a whole number, because Clover holds stock as whole units (a summed availability of 12.7 is written as 12). Stock is retained only when Track Stock is enabled on the Clover item. Subscribers do not enter a value. |
Field | LocationId | LocationId | Required. Copies the location identifier directly from the iPaaS.com inventory record, with no default. Stock is written for a specific Clover location; if the location identifier is missing, the stock cannot be written to the correct place. |
Dynamic Formula |
| ProductId | Resolved automatically. Identifies which Clover item the stock belongs to by resolving the parent product's linked identifier. If the parent product has not been established in Clover, the item reference cannot be resolved and the stock transfer will not complete. Subscribers do not enter a value. |
Error Handling
This flow shares an error catalog with the rest of the Clover integration. See the Clover Error Messages article for the full list and resolutions. The messages most relevant to simple products and inventory are:
"Unable to dynamically link to existing Clover Item using sku. This may result in duplicate product records." — The integration looked up the product in Clover by SKU but could not confirm the link back in iPaaS.com, so it warns that a duplicate product may result. Resolution: confirm the product SKU in iPaaS.com matches the SKU on the corresponding Clover item exactly, check Clover for a duplicate, remove any unintended duplicate, and re-run. If the SKU is correct and duplicates keep appearing, contact iPaaS.com Support.
"Unable to dynamically link to existing Clover Item Group using sku. This may result in duplicate product records." — The same SKU-link warning raised when the integration is resolving an item group. Resolution is the same: verify the SKU match in Clover, remove any unintended duplicate, and re-run.
Product cannot be priced — If the product's MSRP does not resolve to a valid number, the price conversion cannot be calculated and Clover may reject the item. Resolution: ensure the product carries a valid MSRP before transfer.
Stock not retained after an inventory transfer — If Track Stock is not enabled on the Clover item, an inventory transfer completes but the quantity is not held by the item. Resolution: enable Track Stock on the target Clover items so stock values persist, then re-run.
Testing & Validation
Test Scenarios
New simple product. Create a product in iPaaS.com with a name, a unique SKU, and a valid MSRP, and no variant data. Sync it and confirm a matching item appears in the Clover catalog with the name, SKU, and a price equal to the MSRP in cents (for example, 19.99 shows as 1999).
Price update. Change the MSRP on an existing product and re-sync. Confirm the Clover item's price updates to the new value in cents.
Create-if-absent by SKU. Sync a product whose SKU does not yet exist in Clover and confirm the integration creates the item automatically without any pre-creation step.
Repeat transfer links the same item. Sync the same product twice and confirm both transfers resolve to the same Clover item rather than creating a duplicate.
Variant product is skipped. Sync a product that carries variant data and confirm it does not flow through this collection (it is handled by the variant collection instead).
Inventory with Track Stock enabled. With Track Stock enabled on the item, sync the product's inventory for a valid location and confirm the Clover item's stock reflects the floored total available stock from iPaaS.com.
Inventory with Track Stock disabled. With Track Stock disabled, sync inventory and confirm the transfer completes but the stock is not retained on the item.
Missing location. Attempt an inventory sync for a record with no location identifier and confirm the stock is not written to a location.
Validation Checklist
Each simple product carries a name, a unique SKU, and a valid MSRP before transfer.
SKUs are unique per product so that products do not resolve to the same Clover item.
The Clover item price matches the MSRP converted to cents.
Track Stock is enabled on the target Clover items where stock values must persist.
The iPaaS.com inventory record carries a valid location identifier.
Products that carry variants are routed through the variant collection, not this one.
Out of Scope
Products that carry variant data — these are transferred by the variant product collection, not this flow.
Customers, orders, and option structures.
Variant stock, which is handled by the variant inventory collections.
Deletion of products, variants, or options — deletions are not propagated to Clover.
