Overview
Synchronize Transaction records from the Clover Transaction entity to the iPaaS Transaction entity. The integration uses an API-based sync that triggers whenever a Transaction record is created or updated in Clover using polling.
Mapping Collection Status
Mapping Status: Enabled.
Trigger Events
The sync is triggered by the creation or update of Transactions in Clover.
ID Format
When manually syncing, the Transaction ID from iPaaS is used. This can be resolved via an external ID.
Conflicting Mappings
This mapping applies only to Transactions. 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 Transaction and its related child collections:
Transaction Address.
Transaction Billing Address.
Order Payment
Transaction Line
System Caveats
Clover Caveats
Transaction records with paymentState is “PAID” can be transferred to Clover.
iPaaS Caveats
TransactionNumber must be unique.
Address child records will sync only if valid data exists in Clover.
Setup Requirements
Clover Configuration
Ensure paymentState is “PAID”; otherwise, the record is excluded from the sync.
Transaction address fields should be valid where available.
iPaaS Configuration
Ensure TransactionNumber follows the standard format and does not end with excluded suffixes.
Provide valid tax and total amounts.
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 Data: Fetch Transaction data from Clover.
Map Fields: Map Clover Transaction fields to iPaaS destination fields.
Map Addresses: Fetch associated Transaction addresses and map them through the child collection.
Sync Data: Push Transaction and address information to iPaaS, maintaining ID relationships.
Mappings
Clover Transaction To iPaaS
Mapping Filter
PaymentState == "PAID"
Mapping Type | Source Field (Clover) | Destination Field (iPaaS) | Description |
Field | Id | Clover Transaction ID (custom field) |
|
Dynamic Formula |
| Clover Update Date (custom field) | Sets the field to the current date and time |
Dynamic Formula |
| TransactionMessage | Creates a message by prefixing the Clover Transaction ID with "Clover Transaction #" for clarity. |
Dynamic Formula |
| SystemId | Required: Sets the value to the SpaceportSystemId. |
Field | Id | TransactionNumber | Required |
Static | Order | Type | Required |
Static | Complete | Status | Required |
Dynamic Formula |
| EmailAddress | Required: Uses the customer’s email if available; otherwise, defaults to |
Dynamic Formula |
| TaxAmount | Converts TaxAmount from cents to dollars by dividing by 100 (defaults to 0 if null). |
Dynamic Formula |
| Subtotal | Converts Total from cents to dollars by dividing by 100 (defaults to 0 if null). |
Dynamic Formula |
| Total | Converts Total from cents to dollars by dividing by 100 (defaults to 0 if null). |
Dynamic Formula |
| TotalQty | Calculates the total quantity from all order line items, converting from thousandths by dividing by 1000. |
Dynamic Formula |
| TransactionCreatedDateTime | Converts the Unix timestamp CreatedTime to a standard datetime format. |
Clover Transaction Billing Address To IPaaS (Child Collection)
Mapping Type | Source Field (Clover) | Destination Field (iPaaS) |
Static | true | IsPrimaryBilling |
Static | true | IsPrimaryShipping |
Field | Address1 | Address1 |
Field | Address2 | Address2 |
Field | Address3 | Address3 |
Field | City | City |
Field | State | Region |
Field | United States | Country |
Field | Zip | PostalCode |
Clover Transaction Order Payment To IPaaS (Child Collection)
Mapping Type | Source Field (Clover) | Destination Field (iPaaS) | Description |
Static | Other | Method | Required |
Static | Clover Payment | Description |
|
Dynamic Formula |
| Amount | Amount from cents to dollars by dividing by 100 (defaults to 0 if null). |
Field | Authorized | Status | Required |
Clover Transaction Line To IPaaS (Child Collection)
Mapping Type | Source Field (Clover) | Destination Field (iPaaS) | Description |
Static | Product | Type | Required |
Static | Complete | Status | Required |
Static | CLOVER-PRODUCT | Sku | Required |
Field | Name | Description |
|
Dynamic Formula |
| Qty | Sets the quantity to 1 if UnitQty is 0; otherwise, converts UnitQty from thousandths to units by dividing by 1000. |
Dynamic Formula |
| QtyShipped | Sets the quantity to 1 if UnitQty is 0; otherwise, converts UnitQty from thousandths to units by dividing by 1000. |
Dynamic Formula |
| UnitPrice | Converts Price from cents to dollars by dividing by 100 (defaults to 0 if null). |
Dynamic Formula |
| ExtendedPrice | Calculates the total line price by multiplying the converted quantity by the converted unit price, using 1 as a fallback if UnitQty is 0. |
Error Handling
Invalid Totals
Total or Tax is non-numeric.
Description: Clover requires integer (in cents) values.
Resolution: Verify formulas return valid integers.
Missing Transaction ID
Transaction ID missing in Clover record.
Description: Without a valid ID, the TransactionNumber cannot be generated.
Resolution: Ensure Clover Transaction records contain a valid Id field.
Validation Rules & Testing
Validation Rules
TransactionNumber must not end in “-D” or “-GC”.
Tax, Misc, Total must convert correctly to cents.
Line creation timestamps must be valid.
EmailAddress should be valid if provided.
Test Scenarios
New Transaction Sync: Create a Clover Transaction with a valid email and verify creation in iPaaS.
Update Transaction: Update the transaction in Clover and confirm that the changes are reflected in iPaaS.
Address Sync: Add or update address fields in Clover and ensure they sync in the child collection.
Missing Payment State Simulation: Create a Transaction without a payment state and confirm it does not sync.
Additional Notes
The PaymentState field is required due to the filter.
