Summary
Podium invoices can be transferred into iPaaS.com as Transactions. When an invoice is created in Podium or marked as paid, the integration creates or updates a matching Transaction of type Invoice in iPaaS.com and records the payment details. This maintains accurate invoice data in iPaaS.com and reliable synchronization between Podium and iPaaS.com.
ID Format
Manual Sync ID Format: on the iPaaS.com Manual Sync page, enter the Podium invoice number (for example, 1042).
External ID Format: after an invoice is transferred, iPaaS.com saves an external ID on a dedicated external-ID record that links the Podium invoice to the iPaaS.com Transaction. This external-ID record is the primary match that routes later updates for the same invoice to the existing Transaction. On a first sync, when no external-ID record exists yet, iPaaS.com also looks for an existing Transaction whose transaction number matches the Podium invoice number and links to it rather than creating a duplicate.
Deleted Record Support
Invoice deletions are not propagated to iPaaS.com. The integration transfers new and changed invoices and their payments; it does not remove a Transaction in iPaaS.com when an invoice is removed or voided in Podium at the time this documentation was written.
Custom Field Support
This integration does not expose a separate custom-field configuration step. Some invoice values are captured into iPaaS.com custom fields as ordinary mapping destinations — the Podium conversation identifier on the Transaction, and the currency and net payment amount on the payment. These are configured directly in the mapping and require no additional setup.
Mapping Collection Status
Enabled. The Add collection processes new invoices (and skips payment-only updates, which the Update collection handles). The Update collection has no filter. The payment child collections run only when the invoice has been paid.
Trigger Events: Create, Update (a Podium invoice created, or an invoice marked as paid).
Duplicate or Conflicting Mappings
The following collections operate on the Podium invoice / iPaaS.com Transaction:
Add Podium Invoice TO iPaaS.com creates the Transaction.
Update Podium Invoice TO iPaaS.com updates the Transaction and preserves existing values Podium does not supply (see the Update collection mappings below).
Add Podium Invoice FROM iPaaS.com writes Transactions from iPaaS.com out to Podium (the opposite direction).
Before enabling these collections, review and customize your mapping collection filters and Add/Update settings to match your business rules, and define which system is the source of truth for invoice data so a Transaction is not written in two directions in a way that conflicts.
Supported Child Collections
Parent Collections: Add Podium Invoice TO iPaaS.com, Update Podium Invoice TO iPaaS.com
Add Podium Invoice Payment TO iPaaS.com records the payment when a newly transferred invoice has been paid.
Update Podium Invoice Payment TO iPaaS.com records the payment when an updated invoice has been paid.
System Caveats
Podium Caveats
Amounts in cents: Podium reports invoice and payment amounts in the smallest currency unit (cents). The integration converts amounts to whole currency units.
Status values: the Podium invoice status is translated to an iPaaS.com Transaction status. Review the lookup translation if Podium can produce status values beyond paid, created, and canceled.
iPaaS.com Caveats
Customer identification: a Transaction must identify a customer by at least one of CustomerId, CompanyId, or EmailAddress. This collection supplies the customer email address.
Payment Method must exist: the payment method value must match the name of a Payment Method configured in iPaaS.com, or the payment is rejected. Ensure a Payment Method exists for each card brand Podium can return, or add a lookup translation.
Setup Requirements
Automatic transfers require the subscriber to select the Podium invoice events (invoice.created, invoice.marked_as_paid) under the subscription configuration's Inbound Data Flows section. Whether an event creates a new Transaction or updates an existing one is decided by whether the invoice is already linked to iPaaS.com. The integration creates the corresponding webhook in Podium; its scope is controlled by the Webhook Subscription To Organization Or Location and Location subscription settings (see the Podium Installation Instructions). Manual Sync is available regardless.
Integration Flow
A Podium invoice event (created or marked as paid) is received, or an invoice is synced manually by its number.
iPaaS.com checks whether the invoice is already linked to a Transaction. If it is not, iPaaS.com also looks for an existing Transaction whose transaction number matches the Podium invoice number and links to it rather than creating a duplicate.
If the invoice is not yet in iPaaS.com, a new Transaction of type Invoice is created (Add Podium Invoice TO iPaaS.com). If it already exists, the Transaction is updated (Update Podium Invoice TO iPaaS.com), preserving values Podium does not supply on the update.
When the invoice has been paid, the payment amount, method, and status are recorded on the Transaction through the matching payment child collection.
Mappings
Add Podium Invoice TO iPaaS.com
Mapping Filter
if(OnlyPaymentUpdate != null && OnlyPaymentUpdate == true){
return false;
}
return true;Filter Description. This collection skips a transfer that represents only a payment update on an invoice that already exists in iPaaS.com, so the invoice is not re-created; those updates are handled by Update Podium Invoice TO iPaaS.com. All other invoices are processed.
Mapping Type | Source Field (Podium) | Destination Field (iPaaS.com) | Description |
Field |
| TransactionNumber | Required. The invoice number, written to TransactionNumber for visibility. iPaaS.com saves the invoice's own identifier as the external ID (the primary match); TransactionNumber additionally serves as the fallback collision key, matched by transaction number when no external-ID record exists yet. |
Static |
| Type | Required. Fixed value that records the Transaction as an Invoice. |
Lookup | Lookup Translation: Podium Transaction Status To iPaaS | Status | Required. Translates the Podium invoice status to an iPaaS.com Transaction status (see the table below). |
Field |
| EmailAddress | Identifies the customer; iPaaS.com requires at least one of CustomerId, CompanyId, or EmailAddress. |
Dynamic Formula |
| Total | Recommended. Converts the invoice amount from cents to whole currency units. |
Dynamic Formula |
| SystemId | Populated automatically from the integration's system context; no configuration required. |
Field |
| Conversation ID | Optional. The Podium conversation associated with the invoice. |
Lookup Translation Tables
Podium Transaction Status To iPaaS:
Source Value (Podium) | Destination Value (iPaaS.com) | Notes |
paid | Complete | |
created | Pending | |
canceled | Cancelled |
Update Podium Invoice TO iPaaS.com
This collection has no mapping filter; all invoice updates it receives are processed. On a payment-only update (an invoice marked as paid), it keeps the existing Transaction values and only the payment child records the new payment.
Mapping Type | Source Field (Podium) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| TransactionNumber | Required. Identifies the invoice being updated. |
Dynamic Formula | derived invoice status, or existing value on a payment-only update | Status | Required. paid becomes Complete, canceled becomes Cancelled, otherwise Pending. |
Dynamic Formula |
| Total | Recommended. Invoice total in whole currency units. |
Dynamic Formula |
| EmailAddress | Identifies the customer. |
Dynamic Formula |
| SystemId | System context; no configuration required. |
Dynamic Formula |
| CustomerId | Keeps the linked customer already on the Transaction. |
Dynamic Formula |
| Type | Keeps the Transaction type already on the Transaction. |
Dynamic Formula |
| Subtotal | Preserves the existing subtotal (Podium does not supply it on update). |
Dynamic Formula |
| DiscountAmount | Preserves the existing discount amount. |
Dynamic Formula |
| ShippingAmount | Preserves the existing shipping amount. |
Dynamic Formula |
| TaxAmount | Preserves the existing tax amount. |
Field |
| Conversation ID | Optional. The Podium conversation associated with the invoice. |
Add / Update Podium Invoice Payment TO iPaaS.com (Child)
These two child collections share the same mappings; Add Podium Invoice Payment TO iPaaS.com runs under the Add invoice transfer and Update Podium Invoice Payment TO iPaaS.com runs under the Update invoice transfer.
Mapping Filter
Status == "paid"
Filter Description. The payment is recorded only when the Podium invoice status is paid. Invoices that have not been paid produce no payment record.
Mapping Type | Source Field (Podium) | Destination Field (iPaaS.com) | Description |
Field |
| Method | Required. The payment card brand; must match the name of a Payment Method configured in iPaaS.com. |
Dynamic Formula |
| Amount | Recommended. The parent invoice amount converted from cents to whole currency units. |
Field |
| Status | Recommended. Reflects that the invoice has been paid. |
Field |
| Description | Optional. The card funding type (for example, credit or debit). |
Dynamic Formula |
| Currency | Optional. The parent invoice's currency. |
Dynamic Formula |
| Net Payment | Optional. The parent invoice's net payment amount (after processing fees). |
Error Handling
Errors appear in Dashboard / Integration Monitoring / Error Logs. During duplicate matching, if the integration cannot link an invoice to an existing Transaction by transaction number, the transfer reports that the link could not be completed and that duplicate transaction records may result. A payment whose method does not match a configured Payment Method in iPaaS.com is rejected. For the full catalog of messages a subscriber may see and how to resolve them, see the Podium Error Messages article.
Testing & Validation
Create an invoice in Podium and verify a matching Transaction of type Invoice appears in iPaaS.com with the invoice number, total, and translated status.
Mark the invoice as paid in Podium and verify the payment amount, method, and status are recorded on the same Transaction and that the invoice fields are unchanged.
Update an invoice's amount in Podium and verify the Transaction total updates while preserved fields (subtotal, tax, shipping, discount, customer) remain intact.
Verify that a payment whose card brand has no matching Payment Method in iPaaS.com reports the rejection.
Manually sync an invoice by its number from the Manual Sync page and confirm success.
Additional Notes
Invoice deletions in Podium are not propagated to iPaaS.com.
The Update collection deliberately preserves values Podium does not supply on an update, so an update never clears the subtotal, tax, shipping, discount, customer link, or transaction type already stored in iPaaS.com.
