Skip to main content

Podium to iPaaS.com Invoice Mapping Documentation

How Podium invoices are transferred into iPaaS.com as Transactions, including payments, status translation, and field mappings.

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

  1. A Podium invoice event (created or marked as paid) is received, or an invoice is synced manually by its number.

  2. 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.

  3. 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.

  4. 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

InvoiceNumber

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

Invoice

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

CustomerEmail

EmailAddress

Identifies the customer; iPaaS.com requires at least one of CustomerId, CompanyId, or EmailAddress.

Dynamic Formula

Amount/100

Total

Recommended. Converts the invoice amount from cents to whole currency units.

Dynamic Formula

SpaceportSystemId

SystemId

Populated automatically from the integration's system context; no configuration required.

Field

ConversationUid

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

InvoiceNumber, or existing value on a payment-only update

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

Amount/100, or existing value on a payment-only update

Total

Recommended. Invoice total in whole currency units.

Dynamic Formula

CustomerEmail, or existing value on a payment-only update

EmailAddress

Identifies the customer.

Dynamic Formula

SpaceportSystemId, or existing value on a payment-only update

SystemId

System context; no configuration required.

Dynamic Formula

DestinationValue.CustomerId

CustomerId

Keeps the linked customer already on the Transaction.

Dynamic Formula

DestinationValue.Type

Type

Keeps the Transaction type already on the Transaction.

Dynamic Formula

DestinationValue.Subtotal

Subtotal

Preserves the existing subtotal (Podium does not supply it on update).

Dynamic Formula

DestinationValue.DiscountAmount

DiscountAmount

Preserves the existing discount amount.

Dynamic Formula

DestinationValue.ShippingAmount

ShippingAmount

Preserves the existing shipping amount.

Dynamic Formula

DestinationValue.TaxAmount

TaxAmount

Preserves the existing tax amount.

Field

ConversationUid

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

CardBrand

Method

Required. The payment card brand; must match the name of a Payment Method configured in iPaaS.com.

Dynamic Formula

(Parent.Amount)/100

Amount

Recommended. The parent invoice amount converted from cents to whole currency units.

Field

Status

Status

Recommended. Reflects that the invoice has been paid.

Field

CardFunding

Description

Optional. The card funding type (for example, credit or debit).

Dynamic Formula

Parent.CurrencyRef

Currency

Optional. The parent invoice's currency.

Dynamic Formula

Parent.PaymentNet

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

  1. 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.

  2. 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.

  3. Update an invoice's amount in Podium and verify the Transaction total updates while preserved fields (subtotal, tax, shipping, discount, customer) remain intact.

  4. Verify that a payment whose card brand has no matching Payment Method in iPaaS.com reports the rejection.

  5. 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.

Related Documents

Did this answer your question?