Skip to main content

Clover Product Variant from iPaaS.com

Synchronize iPaaS.com product variant records to Clover

Updated today

Overview

Product variant records from iPaaS.com can be synchronized into Clover using a manual sync method and an outbound webhook. This mapping supports the synchronization of Product variant data from iPaaS into Clover via the Product variant API.

Mapping Collection Status

  • Mapping Status: Enabled.

  • Trigger Events: The sync is triggered manually or when a Product variant record is updated in iPaaS.

  • ID Format: When manually syncing, the correct iPaaS Product ProductID must be entered (e.g., Product White Tshirt with ID 10001 must be entered as 10001).

  • Conflicting Mappings: This mapping applies only to Product variant 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 Variant From iPaaS

    • Clover Product Variant Option From iPaaS

    • Clover Product Variant Inventory From iPaaS

  • Clover Product Option From iPaaS

    • Clover Product Option Value From iPaaS

System Caveats

iPaaS Caveats

  • Products must 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 Caveat

  • 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

  • Option groups should not conflict with existing Clover options. 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

  1. Retrieve Product Data: Fetch product and variant details from iPaaS.

  2. Apply Mapping Filter: Only products with Variants.Count > 0 sync.

  3. Map Parent Product: Sync product’s SKU to Clover.

  4. Create/Update Variants: Push variant details, including Name, Price, and SKU.

  5. Assign Variant Options: Sync variant option values for each variant.

  6. Push Variant Inventory: Sync stock quantities for each variant by location.

  7. Create Product Options: Add product-level option groups and values.

Mappings

Clover Product As Variant From iPaaS (Parent)

Mapping Filter

Variants != null && Variants.Count > 0

Mapping Type

Source Field (iPaaS)

Destination Field (Clover)

Field

Sku

Sku

Clover Product Variant From iPaaS (Child)

Mapping Type

Source Field (iPaaS)

Destination Field (Clover)

Description

Static

true

Available

Static

true

AutoManage

Field

Sku

Name

Required

Field

Sku

Sku

Dynamic formula

var CalculatedPrice = MSRP*100; return CalculatedPrice;

Price

Required: Clover prices are stored in cents and must be converted from iPaaS decimal amounts (typically in dollars)

Static

FIXED

PriceType

Static

true

DefaultTaxRates

Clover Product Variant Option From iPaaS (Product Variant’s Child)

Mapping Type

Source Field (iPaaS)

Destination Field (Clover)

Description

Field

Value

Name

Required

Clover Product Variant Inventory From iPaaS (Product Variant’s 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

return await GetExternalIdAsync(ParentId, "Product Variant", SpaceportSystemId);

Id

Required: Retrieves the external ID of the product variant for the given ParentId in the Spaceport system.

Dynamic Formula

var result = await SumFullInventoryForVariantAsync(ConvertToLong(ParentId)); return Floor(result);

Quantity

Calculates the total full inventory for the product variant and returns the floor value as a whole number.

Field

LocationId

LocationId

Required

Clover Product Option From iPaaS (Child)

Mapping Type

Source Field (iPaaS)

Destination Field (Clover)

Description

Field

OptionName

Name

Required

Clover Product Option Value From iPaaS (Product Option’s Child)

Mapping Type

Source Field (iPaaS)

Destination Field (Clover)

Description

Field

Value

Name

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

  1. New Product With Variants: Create a product in iPaaS and verify all variants appear in Clover.

  2. Price Update: Modify variant pricing and ensure Clover reflects the updated price.

  3. Option Sync: Add new option values and verify accurate assignment in Clover.

  4. Inventory Update: Change variant stock to confirm stock updates for each location.

  5. Missing Variant Simulation: Remove variants to ensure sync is skipped correctly.

Additional Notes

  • Option groups must be added before variant-level option assignments.

Did this answer your question?