Contents
Summary
ID Format
Deleted Record Support
Mapping Collection Status
Duplicate or Conflicting Mappings
Supported Child Collections
System Caveats
Setup Requirements
Integration Flow
Mappings
Error Handling
Testing & Validation
Out of Scope
Additional Notes
Summary
A paid Clover order is transferred into iPaaS.com as a transaction. Clover refers to these records as orders; in iPaaS.com they are stored as transactions, and the entity label stays Transaction throughout this documentation to match the collection type. The parent transaction and its billing address, payment, and order line detail all transfer together as one connected set of records. Automatic capture is by transaction polling, and a manual sync of a single order is always available.
ID Format
Manual Sync ID Format
For a manual transfer, the subscriber enters the Clover order identifier so the integration knows which order to fetch. Clover order identifiers are alphanumeric values shaped like the order's native Clover id, for example a value such as A1B2C3D4E5F6G.
The billing address, payment, and line child records do not accept an identifier of their own on the Manual Sync page. They transfer as part of the parent order, so re-syncing a single order by its Clover order identifier re-syncs the whole set.
External ID Format
The integration tracks each transferred order by a dedicated external identifier that mirrors the Clover order id. This external identifier is the primary key the integration uses to recognize an order it has seen before and to match it on a later transfer. The transaction number written into iPaaS.com provides subscriber-facing visibility and serves as a fallback matching key; it is not the primary external identifier.
Each child record carries its own external identifier so it can be matched on later transfers: the billing address uses a composite identifier built from the Clover order identifier and the address identifier together, the payment mirrors the Clover payment id, and each line mirrors the Clover line item id.
Deleted Record Support
Outbound delete is not supported for this flow. When a Clover order is deleted, that deletion does not propagate to iPaaS.com, and delete mappings are not included in the default templates for these collections. A transaction that has already transferred remains in iPaaS.com even if its originating Clover order is later removed. At the time this documentation was written, removing a record on either side is a manual reconciliation task rather than an automated one.
Mapping Collection Status
Status: Enabled. All five collections in this flow (the two parents and three children) are enabled.
Trigger Events: Create and Update. Automatic capture is by transaction polling: the integration checks Clover for new and updated orders on its polling schedule and transfers the ones that qualify. A manual sync of a single order is always available.
Duplicate or Conflicting Mappings
The Add Clover Transaction TO iPaaS.com and Update Clover Transaction TO iPaaS.com collections both write to the iPaaS.com transaction from the same Clover order entity. The Add collection creates new transactions; the Update collection refreshes existing ones. Subscribers or their MiSP should avoid configuring any additional collection that writes to the same iPaaS.com transaction from Clover, so that one transfer does not overwrite another. Likewise, no second address, payment, or line collection should be configured against the same transaction records.
Collision Handling
This integration does not offer configurable collision handling on the transaction collections. There is no subscriber-selectable conflict-resolution method to choose. Duplicate prevention is handled instead by the external identifier described under ID Format: the integration matches an order it has seen before by that identifier and updates the existing transaction rather than creating a second one.
Order Duplicate Handling
When the integration prepares to write an order and finds more than one Clover order sharing the same external reference, it will automatically remove matching open duplicates, but it will not remove orders that have already progressed past open. In that case it stops and raises an error that requires manual attention in Clover. See the Error Handling section for the exact message and the resolution steps.
Supported Child Collections
The parent collection is Add Clover Transaction TO iPaaS.com. It supports three child collections that transfer automatically with the order:
Add/Update Clover Transaction Billing Address TO iPaaS.com — writes the order's billing address onto the transaction.
Add Clover Transaction Payment TO iPaaS.com — records the order's payment on the transaction.
Add Clover Transaction Line TO iPaaS.com — creates a transaction line for each order line item.
The Update Clover Transaction TO iPaaS.com collection refreshes the transaction header only. The child collections are configured under the Add parent collection.
System Caveats
Clover Caveats
Monetary amounts in Clover are stored in the smallest currency unit (cents), and order and line quantities are stored in thousandths. The integration converts monetary amounts to standard currency by dividing by 100 and quantities to whole units by dividing by 1000, so the values that land in iPaaS.com are already in familiar units. Clover order timestamps are stored as Unix time and are converted to a standard date and time during the transfer.
Only orders whose Clover payment state is PAID transfer; orders in any other payment state are excluded. Address parts, the item name on a line, and other order details transfer only when Clover supplies them on the order.
When Clover reports that too many requests have been made in a short period, the integration automatically pauses and retries the affected calls; no subscriber action is required.
iPaaS.com Caveats
The transaction number must be unique within iPaaS.com. Because the Add collection creates new transactions, a Clover order identifier that already exists as a transaction number can be handled as a conflict; such orders are better served by the Update collection.
The billing address is written as both the primary billing and primary shipping address on the transaction. If a downstream process expects a separate shipping address, account for the fact that this integration transfers a single order address in both roles. The address country is always recorded as United States because it is a fixed value rather than read from the Clover order.
Each transferred line carries a fixed product identifier (CLOVER-PRODUCT) rather than a Clover-specific product code, so subscribers should identify an item by its line description rather than by that value. The payment method is recorded as a generic Other value because Clover does not surface a specific tender type through this transfer.
Integration-Specific Caveats
Prerequisite Handling
Before an order is written, the integration reads the order's customer from Clover and looks that customer up in iPaaS.com. If the customer does not yet exist in iPaaS.com, the integration transfers the customer first, automatically, as a prerequisite. Subscribers do not need to pre-sync customers by hand. If the prerequisite customer transfer fails, the order transfer is blocked and will not complete until the customer issue is resolved.
Unmapped Field Overwrite Risk
These collections write the order as a full-object update that ignores null values, so fields the integration does not send are preserved on the iPaaS.com record. However, every field a collection does map is overwritten with the Clover value on each transfer. If a subscriber maintains a value in iPaaS.com that should not be replaced by the Clover source on the next transfer, they should set that field using a fixed destination value rather than mapping it from the Clover source.
Transaction Number: Add vs. Update
The Add collection derives the transaction number from the Clover order identifier, while the Update collection prefers the Clover order title and falls back to the identifier only when no title is present. When a Clover order carries a title, the number written on update can therefore differ from the number written when the order was first added. Subscribers should validate in a staging environment that an update still matches the transaction the Add collection created for orders that carry a Clover title, before relying on this behavior in production.
Subtotal and Total from the Order Total
Both Subtotal and Total are set from the same Clover order total. The subtotal therefore equals the gross order total — including any tax and shipping — rather than a tax-exclusive subtotal. Subscribers whose downstream processes expect the subtotal to exclude tax or shipping should validate this behavior in a staging environment before relying on it in production.
Setup Requirements
The Clover integration must be installed and authorized for the subscription, with valid Clover credentials in place. No webhook configuration is required for this flow; automatic capture is by transaction polling. See the Clover Installation Instructions for credential setup and the polling schedule configuration.
No subscriber-facing setup is required on the iPaaS.com side beyond installing and authorizing the integration and enabling the collections. The order's customer must be transferable to iPaaS.com, because the customer is fetched and transferred first automatically when it does not already exist.
To transfer a single order on demand, open the Manual Sync page in iPaaS.com and enter the Clover order identifier.
Integration Flow
The integration identifies a qualifying Clover order, either from its polling schedule or from a manual sync where the subscriber entered the Clover order identifier.
The order is evaluated against the payment-state filter. Only orders whose payment state is PAID proceed; all others are skipped silently.
The integration reads the order's customer from Clover and looks that customer up in iPaaS.com. If the customer does not yet exist, it is transferred first, automatically, as a prerequisite. If that transfer fails, the order transfer is blocked.
The integration retrieves the full order from Clover, including its line items and payment details.
The order header is mapped to an iPaaS.com transaction. If no matching transaction exists, the Add Clover Transaction TO iPaaS.com collection creates one; if a matching transaction already exists, the Update Clover Transaction TO iPaaS.com collection refreshes its header.
The billing address, payment, and line child collections write their records onto the same transaction so the complete order arrives in iPaaS.com as one connected set of records.
After the transfer completes, the order appears in iPaaS.com as a transaction with its header, billing address, payment, and line items populated from the Clover order.
Mappings
Each collection is presented below with its live mapping filter (where one exists), a plain-language description, and its field mapping table. Monetary conversions divide Clover cents by 100; quantity conversions divide Clover thousandths by 1000.
Add Clover Transaction TO iPaaS.com
iPaaS.com data type: Transaction
Mapping Filter
PaymentState == "PAID"
Filter Description. Only Clover orders whose payment state is PAID pass this filter and create a transaction in iPaaS.com. An order in any other payment state is skipped silently and does not appear in the Error Logs. This ensures that only completed, paid orders create transactions.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Field | Id | Clover Transaction ID | Recommended for traceability. Stores the Clover order identifier on the transaction so the originating order can always be traced back. |
Dynamic Formula |
| Clover Update Date | Optional supporting field. Stamps the transaction with the date and time of the transfer, recording when the integration last wrote the order into iPaaS.com. |
Dynamic Formula |
| TransactionMessage | Optional supporting field. Builds a short, human-readable label by prefixing the Clover order identifier with "Clover Transaction #". |
Dynamic Formula |
| SystemId | Recommended. Sets the iPaaS.com system that owns the transaction to the current subscription's system. Supplied by the integration at transfer time; subscribers do not enter it. |
Field | Id | TransactionNumber | Recommended. Sets the transaction number from the Clover order identifier. Provides subscriber-facing visibility and acts as a fallback matching key. Must be unique within iPaaS.com. |
Static |
| Type | Recommended. Records every transferred record as an order. Fixed value; does not vary by Clover order. |
Static |
| Status | Recommended. Records the transaction status as complete for every transferred order. Fixed value; not a live status read from Clover. |
Dynamic Formula |
| EmailAddress | Recommended. Uses the customer's email when present; otherwise substitutes the default guest email |
Dynamic Formula |
| TaxAmount | Recommended. Converts the order tax from cents to standard currency by dividing by 100; defaults to 0 when Clover supplies no tax. |
Dynamic Formula |
| Subtotal | Recommended. Sets the subtotal from the Clover order total, converted from cents to standard currency. This collection sets both subtotal and total from the same Clover order total. |
Dynamic Formula |
| Total | Recommended. Sets the order total, converted from cents to standard currency; defaults to 0 when Clover supplies no total. |
Dynamic Formula |
| TotalQty | Recommended. Sums the quantities of all line items on the order and converts from thousandths to whole units by dividing by 1000. |
Dynamic Formula |
| TransactionCreatedDateTime | Recommended. Sets the transaction creation date and time from the Clover order's created timestamp, converting Clover's Unix time to a standard date and time. |
Update Clover Transaction TO iPaaS.com
iPaaS.com data type: Transaction
Mapping Filter
PaymentState == "PAID"
Filter Description. As with the Add collection, only Clover orders whose payment state is PAID are refreshed in iPaaS.com. An order in any other payment state is skipped silently. This collection maps a smaller set of header fields than the Add collection, focused on the values most likely to change between transfers. It does not re-transfer tax or subtotal; those are set when the order is first created.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| Clover Update Date | Optional supporting field. Stamps the transaction with the date and time of the transfer, recording when the integration last refreshed the order. |
Dynamic Formula |
| SystemId | Recommended. Keeps the transaction tied to the correct iPaaS.com system. Supplied by the integration at transfer time. |
Dynamic Formula |
| TransactionNumber | Recommended. Uses the Clover order title when present and falls back to the Clover order identifier when the order has no title. Because it prefers the title, the transaction number here can differ from the Clover order identifier used by the Add collection. Must be unique within iPaaS.com. |
Static |
| Type | Recommended. Records every transferred record as an order. Fixed value. |
Static |
| Status | Recommended. Records the transaction status as complete. Fixed value; not a live status read from Clover. |
Dynamic Formula |
| EmailAddress | Recommended. Uses the customer's email when present; otherwise substitutes the default guest email |
Dynamic Formula |
| Total | Recommended. Refreshes the order total, converted from cents to standard currency; defaults to 0 when Clover supplies no total. |
Dynamic Formula |
| TotalQty | Recommended. Recalculates the total item count by summing line-item quantities and converting from thousandths to whole units. |
Add/Update Clover Transaction Billing Address TO iPaaS.com
iPaaS.com data type: Transaction Address
This child collection transfers the billing address from the Clover order onto the transaction, marking it as both the primary billing and primary shipping address. It creates the address the first time and updates it on subsequent transfers. It has no mapping filter; every billing address on a qualifying parent order is processed.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Static |
| IsPrimaryBilling | Recommended. Marks the transferred address as the primary billing address. Fixed value. |
Static |
| IsPrimaryShipping | Recommended. Marks the same address as the primary shipping address, so the single Clover order address serves both roles. Fixed value. |
Field | Address1 | Address1 | Recommended for a complete address. Transfers the first street address line; transfers only when Clover supplies it. |
Field | Address2 | Address2 | Optional. Transfers the second street address line, such as a suite or unit; transfers only when Clover supplies it. |
Field | Address3 | Address3 | Optional. Transfers the third street address line; transfers only when Clover supplies it. |
Field | City | City | Recommended for a complete address. Transfers the city; transfers only when Clover supplies it. |
Field | State | Region | Recommended for a complete address. Transfers the state or province into the region field; transfers only when Clover supplies it. |
Static |
| Country | Recommended, as a fixed value. Sets the country to United States for every transferred address rather than reading it from the order. Orders billed to another country still record United States. |
Field | Zip | PostalCode | Recommended for a complete address. Transfers the postal or ZIP code; transfers only when Clover supplies it. |
Add Clover Transaction Payment TO iPaaS.com
iPaaS.com data type: Transaction Payment
This child collection records the order's payment on the transaction: the paid amount plus a fixed method, description, and status. It has no mapping filter; every payment on a qualifying parent order is processed.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Static |
| Method | Recommended. Records the payment method as a generic other value. Clover does not surface a specific tender type through this transfer, so the method does not indicate the actual card or tender used. Fixed value. |
Static |
| Description | Optional. Labels the payment as a Clover payment so subscribers can see where it originated. Fixed value. |
Dynamic Formula |
| Amount | Recommended. Converts the payment amount from cents to standard currency by dividing by 100; defaults to 0 when Clover supplies no amount. |
Static |
| Status | Recommended. Records the payment status as authorized for every transferred payment. Fixed value; not a live status read from Clover. |
Add Clover Transaction Line TO iPaaS.com
iPaaS.com data type: Transaction Line
This child collection creates a transaction line for each Clover order line item, with its description, quantity, unit price, and extended price plus a fixed line type, status, and product identifier. It has no mapping filter; every line on a qualifying parent order is processed.
Mapping Type | Source Field (Clover) | Destination Field (iPaaS.com) | Description |
Static |
| Type | Recommended. Records every transferred line as a product line. Fixed value; does not vary by Clover line item. |
Static |
| Status | Recommended. Records the line status as complete for every transferred line. Fixed value; not a live status read from Clover. |
Static |
| Sku | Recommended. Assigns a fixed product identifier of CLOVER-PRODUCT rather than a Clover-specific product code. Identify the item by its description rather than by this value. A genuine constant, not a placeholder to replace. |
Field | Name | Description | Recommended so each line is identifiable. Transfers the item name from the Clover line into the line description; transfers only when Clover supplies it. |
Dynamic Formula |
| Qty | Recommended. Converts the Clover unit quantity from thousandths to whole units. When the Clover line reports a quantity of zero, records a quantity of one so the line still represents a single item. |
Dynamic Formula |
| QtyShipped | Recommended. Uses the same logic as Qty, so shipped quantity matches ordered quantity for every transferred line. |
Dynamic Formula |
| UnitPrice | Recommended. Converts the line unit price from cents to standard currency by dividing by 100; defaults to 0 when Clover supplies no price. |
Dynamic Formula |
| ExtendedPrice | Recommended. Calculates the line's extended price by multiplying the converted quantity by the converted unit price, using a quantity of one when the Clover line reports zero, so line totals reconcile with the order total. |
Error Handling
The errors below can surface during this flow. All errors appear in the iPaaS.com Dashboard under Integration Monitoring and then Error Logs. Records skipped by the payment-state filter (an order not yet in PAID state) are filtered silently and do not appear in the Error Logs. For the full error catalog, see the Clover Error Messages article.
"One or more unopened duplicate Order(s) exist for [external reference]. Manual intervention required." — The integration found more than one Clover order sharing the same external reference, and one or more of them has already progressed past the open state. It removes matching open duplicates automatically but stops rather than acting on completed or in-progress orders. Resolution: in Clover, locate the orders matching the external reference, reconcile or remove the unintended duplicate so only the correct order remains, then re-run the transfer.
"ConvertFromUnixTime requires input Parameter to be of type Int64 (Include Milliseconds)" — The order's created-timestamp conversion received a value that is not a whole-number Unix timestamp in milliseconds, usually because the source field is empty or non-numeric. Resolution: confirm the Clover order carries a valid created timestamp, then re-run.
"GetTotalUnitQty requires input Parameter to be of type List)" — The total-quantity calculation received something other than a list of order line items, which can happen when the line-item collection is not populated as expected for the order. Resolution: confirm the order's line items are present and correctly shaped at the source, then re-run.
"[Clover error message] [Clover error details]" — Clover rejected an API call and the integration surfaces Clover's own message text (for example a 400 Bad Request for a value Clover would not accept, a 401 or 403 for an invalid or expired connection, or a 404 for a missing record). Resolution: read the Clover message shown, correct the mapped value or source data for a 400, re-authorize the Clover connection for a 401 or 403, and confirm the record still exists in Clover for a 404.
"Clover API Quota Exception. Too May Request. Available in :[seconds]" — Clover returned an HTTP 429 rate-limit response. The integration waits and retries automatically when the reset window is short; this message is raised only when the window is long enough that it stops. Resolution: usually transient — re-run the affected transfer after the reported wait period, and stagger large or overlapping syncs so they do not compete for the same rate limit.
Testing & Validation
Test Scenarios
Create a paid Clover order and confirm a new transaction is created in iPaaS.com by the Add collection, with the correct total, tax, total quantity, created date, and email.
Update a field on an existing paid Clover order and confirm the change propagates through the Update collection to the matching iPaaS.com transaction, and that the transaction is refreshed rather than duplicated.
Create an order whose payment state is not PAID and confirm it does not transfer and produces no error in the Error Logs.
Create an order with no customer email and confirm the transaction is created with
guest@customerdomain.comin the email field.Transfer an order that includes a billing address, a payment, and one or more line items, and confirm all three child records land on the same transaction — the address flagged as both primary billing and primary shipping, the payment amount converted from cents, and each line carrying the converted quantity and price.
Transfer an order whose customer does not yet exist in iPaaS.com and confirm the customer is transferred first automatically before the order.
Perform a manual sync using a Clover order identifier and confirm the order and all of its child records transfer.
Transfer a Clover line with a zero unit quantity and confirm the resulting transaction line records a quantity of one.
Validation Checklist
The transaction number is present and unique within iPaaS.com.
Monetary values (total, tax, payment amount, unit price, extended price) are in standard currency, not cents.
Quantities (total quantity, line quantity, shipped quantity) are in whole units, not thousandths.
The transaction created date reflects the Clover order date rather than the transfer date.
The billing address is marked as both primary billing and primary shipping, with the country recorded as United States.
Each transferred line shows the item name in its description and the fixed
CLOVER-PRODUCTproduct identifier.Orders not in a PAID state do not appear as transactions in iPaaS.com.
Out of Scope
The parent collections transfer the order header only; billing address, payment, and line detail are handled by the dedicated child collections.
Shipping addresses (as a distinct address from billing), transaction notes, discounts, and tracking are not transferred by this flow.
A separate shipping address is not transferred; the single Clover order address fills both the primary billing and primary shipping roles.
The address country is not transferred as a variable value; it is fixed to United States.
The specific card or tender type, card details, and split payments as distinct method values are not transferred; a single payment amount is recorded with a generic method.
Per-line discounts, taxes, line-level shipping, and line notes are not transferred as separate values.
Outbound delete is not supported; deleting a Clover order does not remove the corresponding iPaaS.com transaction.
Additional Notes
The order type is always recorded as an order and the status as complete, because these are fixed values rather than values read from Clover. The line type is always a product and the line status complete for the same reason.
The Update collection prefers the Clover order title for the transaction number and falls back to the Clover order identifier, so the transaction number written by the Update collection can differ from the identifier used by the Add collection when a title is present on the order.
The Update collection does not re-transfer tax or subtotal; those values are set when the order is first created by the Add collection.
Related documentation: Clover Integration Known Limitations, Clover Error Messages, and the Clover Installation Instructions.
