Clover Transaction from iPaaS.com
Overview
Transaction records from iPaaS.com can be synchronized into Clover using a manual sync method and outbound webhook. This mapping supports synchronizing Transaction data from iPaaS to Clover via the Transaction API.
Mapping Collection Status
Mapping Status: Enabled.
Trigger Events: The sync is triggered manually or when a Transaction record is created or updated in iPaaS.
ID Format: When manually syncing, the correct iPaaS Transaction TransactionID must be entered (e.g., Transaction Order-001 with ID 10001 must be entered as 10001).
Conflicting Mappings: This mapping applies only to Transaction 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 Transaction and its related child collections:
Clover Transaction Line Add/Update From iPaaS
Clover Transaction Note Add/Update From iPaaS
System Caveats
iPaaS Caveats
TransactionNumber must be unique.
Currency is set to USD by default.
Tax and Misc Charges must be numeric to avoid mapping errors.
Clover Caveats
Clover does not accept transactions for prohibited transaction types (Deposit or Gift Card).
Setup Requirements
iPaaS Configuration
Ensure TransactionNumber follows the standard format and does not end with excluded suffixes.
Provide valid tax, misc charge, and total amounts.
The EmailAddress should be valid if the order email is required.
Clover Configuration
Clover account must support external reference IDs.
OrderTypeId and EmployeeId must match the existing Clover configuration.
Ensure custom items are enabled if the SKU does not map to a Clover item.
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 Transaction Data: iPaaS sends transaction records that meet the filter criteria.
Map Parent Order: Populate Clover order record with totals, payment details, metadata, and identifiers.
Add Line Items: Create each transaction line as a Clover order line.
Add Notes: Sync public transaction notes via child collection.
Finalize Clover Order: Order created in Clover with complete transaction hierarchy.
Mappings
Clover Transaction From iPaaS
Mapping Filter
!TransactionNumber.EndsWith("-D") && !TransactionNumber.EndsWith("-GC")
Mapping Type | Source Field (iPaaS) | Destination Field (Clover) | Description |
Dynamic Formula |
| EmployeeId | Required: Maps the employee identifier from the source to the target. |
Dynamic Formula |
| OrderTypeId | Maps the order type identifier from the source to the target. |
Dynamic Formula |
| TaxAmount | Rounds TaxAmount to 2 decimals, converts it to cents (×100), and returns it as an integer. |
Dynamic Formula |
| MiscChargeAmount | Rounds ShippingAmount to 2 decimals, converts it to cents (×100), and returns it as an integer. |
Static | USD | Currency | Required |
Dynamic Formula |
| Total | Rounds Total to 2 decimals, converts it to cents (×100), and returns it as a whole number. |
Field | TransactionNumber | ExternalReferenceId |
|
Field | TransactionNumber | Title |
|
Static | open | State | Required |
Static | false | GroupLineItems |
|
Static | FULL | PayType |
|
Field | EmailAddress | OrderEmailAddress |
|
Clover Transaction Line From iPaaS (Child)
Mapping Type | Source Field (iPaaS) | Destination Field (Clover) | Description |
Dynamic Formula |
| Name | Limits the Description text to a maximum of 127 characters to fit field constraints. |
Dynamic Formula |
| Price | Converts the UnitPrice to a long integer representing cents by rounding it to 2 decimal places and multiplying by 100. |
Dynamic Formula |
| UnitQty | Converts the Qty to a long integer representing thousandths by rounding to 3 decimal places and multiplying by 1000. |
Static | EACH | UnitName | Sets the unit name to EACH for standardization. |
Field | Original SKU (custom field) | ItemCode | Required |
Static | false | Printed | Marks the record as not printed (false). |
Dynamic Formula |
| CreatedTime | Converts the transaction creation datetime from the parent record to Unix timestamp format. |
Dynamic Formula |
| OrderClientCreatedTime | Converts the client’s transaction creation datetime to Unix timestamp format. |
Static | false | Exchanged |
|
Static | false | Refunded |
|
Static | true | IsRevenue |
|
Clover Transaction Note From iPaaS (Child)
Mapping Filter
IsPublic == true
Mapping Type | Source Field (iPaaS) | Destination Field (Clover) | Description |
Field | Text | NoteText | Required |
Error Handling
Ignored Transaction Type
Transaction ends with “-D” or “-GC”.
Description: Mapping filter blocks these transactions.
Resolution: Confirm that the transaction type should sync before removing the suffix.
Invalid Totals
Total, Tax, or MiscCharge is non-numeric.
Description: Clover requires integer (in cents) values.
Resolution: Verify formulas return valid integers.
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
Basic Transaction Creation: Create a transaction in iPaaS to confirm the Clover order.
Public Notes: Add a note with IsPublic = true, then verify it in Clover.
Invalid Type Simulation: Sync a “-D” transaction to ensure it is ignored.
Timestamp Validation: Verify created times appear correctly in Clover order logs.
Additional Notes
Parent transaction must sync before line items and notes.
