Overview
Product records from iPaaS.com can be synchronized into Clover using a manual sync method and outbound webhook. This mapping supports the synchronization of Product data from iPaaS into Clover via the Product API.
Mapping Collection Status
Mapping Status: Enabled.
Trigger Events: The sync is triggered manually or when a Product record is created or updated in iPaaS.
ID Format: When manually syncing, the correct iPaaS Product ProductID must be entered (e.g., Product White T-shirt with ID 10001 must be entered as 10001).
Conflicting Mappings: This mapping applies only to Product records. Ensure no other mappings target the same Clover entity to prevent data from being overwritten.
Supported Child Collections
The integration supports the synchronization of the parent Product variant and its related child collections:
Clover Product Inventory From iPaaS
System Caveats
iPaaS Caveats
Products must not contain variant data; otherwise, this mapping will not trigger.
SKU must remain unique to avoid conflicts.
Variant pricing requires a valid calculated price value.
Clover Caveats
Clover requires a valid SKU for all items and variants.
Variant options must match Clover’s option structure.
Setup Requirements
iPaaS Configuration
Pricing formulas must generate numerical values.
Inventory sync requires LocationId to be provided.
Clover Configuration
Location Id must exist in Clover. Authentication & Security
Clover2 MerchantId: Used to access the iPaaS API for fetching data.
Clover2 API Key: Used to access the iPaaS API for fetching data.
Integration Flow
Retrieve Product Data: Fetch product without variant details from iPaaS.
Map Parent Product: Sync product’s SKU to Clover.
Push Inventory: Sync stock quantities for each variant by location.
Mappings
Clover Product From iPaaS (Parent)
Mapping Filter
Variants == null || Variants.Count == 0
Mapping Type | Source Field (iPaaS) | Destination Field (Clover) | Description |
Static | true | Available |
|
Static | true | AutoManage |
|
Field | Name | Name | Required |
Field | Sku | Sku |
|
Dynamic Formula |
| Price | Required: Clover prices are stored in cents and must be converted from iPaaS decimal amounts (typically in dollars)Calculates the price in cents by multiplying the MSRP by 100. |
Static | FIXED | PriceType |
|
Static | true | DefaultTaxRates |
|
Clover Product Inventory From iPaaS (Child)
Description
To create inventory, Track Stock must be enabled in the inventory setup. If it is not enabled, the API call will still be made, but the stock will not be added to the item. To display the item stock correctly, Track Stock must be enabled.
Mapping Type | Source Field (iPaaS) | Destination Field (Clover) | Description |
Dynamic Formula |
| ProductId | Required: Retrieves the external ID of the product for the given ParentId in the Spaceport system. |
Dynamic Formula | var result = await SumInventoryForProductAsync(ConvertToLong(ParentId)); return Floor(result); | Quantity | Calculates the total inventory for the product and returns the floor value as a whole number. |
Field | LocationId | LocationId | Required |
Error Handling
Missing Variant Data
Variants array is empty or null.
Description: Mapping filter prevents sync
Resolution: Ensure product includes at least one valid variant.
Invalid SKU
Missing or duplicate SKU.
Description: Clover requires a unique SKU per variant.
Resolution: Populate SKU in iPaaS.
Pricing Formula Failure
CalculatedPrice returned null or an invalid value
Description: Clover rejects invalid price data.
Resolution: Fix pricing logic in iPaaS.
Validation Rules & Testing
Validation Rules
Product must contain variants. SKUs must be unique.
Price must be numeric and valid.
Option groups must match the Clover structure.
Inventory sync requires Track Stock to be enabled and a valid LocationId.
Test Scenarios
New Product With Variants: Create a product in iPaaS and verify all variants appear in Clover.
Price Update: Modify variant pricing and ensure Clover reflects the updated price.
Option Sync: Add new option values and verify accurate assignment in Clover.
Inventory Update: Change variant stock and confirm stock updates for each location.
Missing Variant Simulation: Remove variants and ensure sync is skipped correctly.
Additional Notes
Option groups must be added before variant-level option assignments.
