Summary
Shopify Deposit Tickets can be transferred from Shopify Orders to iPaaS via collection mapping.
The mapping collection identifies deposit-type orders (using a filter) and maps their header, address, line, and payment details into iPaaS for downstream accounting and integration workflows.
This collection supports Order Deposit Ticket transfers, including Gift Card payments and other Payment transactions.
Field Constraints
OrderNumber must follow the *-D suffix format.
Gateway must be properly classified into gift card or non-gift card payment flows.
All amounts (discount, tax, subtotal, total) must be valid decimals.
Mapping Collection Status
Status: Enabled
Trigger Events: Shopify Orders with OrderNumber.EndsWith("-D").
Id Format
Deposit Tickets use the OrderNumber with -D suffix as a unique transaction number in iPaaS.
Supported Child Collections
Parent Collection: Shopify Deposit Ticket Add/Update From iPaaS
Child Collection: Shopify Deposit Ticket Address To iPaaS.
Child Collection Shopify Deposit Ticket Line To iPaaS.
Child Collection: Shopify Deposit Ticket Payment Gift Card To iPaaS
Child Collection: Shopify Deposit Ticket Payment To iPaaS
System Caveats
iPaaS Caveats
Requires correct external IDs (SystemId, ParentId).
Gift card logic must be enabled only when supported.
Shopify Caveats
Deposit tickets are recognized by the -D suffix, not by explicit Shopify settings.
Setup Requirements
iPaaS Configuration
Enable Shopify Deposit Ticket Add/Update To iPaaS mapping collection.
Configure child mappings for Inventory, Options, Option Values, Variants, and Variant Inventory.
Ensure Lookup Translations for Status and InventoryPolicy are configured.
Shopify Configuration
In the integration settings, enter the following correctly:
OAuth URL Template:
https://{API Store}.myshopify.com/admin/oauth/authorize?client_id={SystemTypeVersion:Client_Id}&scope={SystemTypeVersion:Scope}&redirect_uri={SystemTypeVersion:RedirectUrl}&state={iPaaSState}
OAuth Identifier Field: timestamp
OAuth Success Callback Field: code
Shopify Store Credentials
Client_Secret: Secret saved when creating your Shopify store
Scope: read_inventory,read_locations,read_order_edits,read_payment_terms, read_merchant_managed_fulfillment_orders, read_publications, read_fulfillments,read_files
RedirectUrl:
https://portal.iPaaS.com/Deposit Ticket/subscription-mgmt/subscriptions/authorization/app
Authentication & Security
OAuth 2.0 Token: Used for Shopify API authentication.
Integration Flow
Shopify Orders are evaluated for OrderNumber ending with -D.
Header-level data is transferred (SystemId, TransactionNumber, totals).
Address, Line Items, and Payments are processed through child collections.
iPaaS records structured Deposit Ticket for downstream system integration.
Variants and their inventory sync back into iPaaS.
Mappings
Shopify Deposit Ticket to iPaaS (Parent)
Mapping filter
OrderNumber.EndsWith("-D")
Description
Disable this mapping collection if you are using Shopify Plus. Order and deposit ticket mappings are configured to support Counterpoint integration requirements.
Mapping Type | Source Field (Shopify) | Destination Field (iPaaS) | Description |
Dynamic Formula |
| SystemId | Required |
Field | OrderNumber | TransactionNumber | Required |
Dynamic Formula |
| ParentId | This mapping uses an iPaaS.com function to retrieve the iPaaS.com internal ID for a transaction based on the Shopify transaction Id. |
Static | Ticket | Type |
|
Lookup Translation | Status | This lookup translation convert status of Shopify Transaction Status to iPaaS Transaction Status. | |
Dynamic Formula |
| EmailAddress | This snippet is designed to provide a fallback email address ("defaultCustomer@Shopify.com") in cases where Email is either not defined (null) or blank (""). |
Field | TotalDiscounts | DiscountAmount |
|
Field | TotalTax | TaxAmount |
|
Field | ShippingPrice | ShippingAmount |
|
Field | SubtotalPrice | Subtotal |
|
Field | TotalPrice | Total |
|
Field | ItemsTotal | TotalQty |
|
Shopify Deposit Ticket Address To iPaaS (Child) |
Mapping Type | Source Field (Shopify) | Destination Field (iPaaS) | Description |
Dynamic Formula |
| IsPrimaryBilling | This condition checks if IsBillingAddress is "TRUE", indicating that the address is the billing address. | |
Dynamic Formula |
| IsPrimaryShipping | This condition checks if IsShippingAddress is "TRUE", indicating that the address is the shipping address.| |
Field | Address1 | Address1 |
|
Field | Address2 | Address2 |
|
Field | City | City |
|
Field | ProvinceCode | Region |
|
Field | Country | Country |
|
Field | Zip | PostalCode |
|
Dynamic Formula |
| ShippingMethod | The iPaaS transaction shipping address needs the shipping method, but the shipping method is on another model in Shopify. Normally, you would want to use a translation collection to map shipping methods from your source system to iPaaS. But since the data is only available in another model, you can't easily use translations. So, this formula is a way to get a similar translation manually. There is only one example in the template formula demonstrating a single mapping from "Standard" to "UPS GROUND", but you could expand it as needed: |
Field | FirstName | FirstName |
|
Field | LastName | LastName |
|
Field | Company | Company |
|
Shopify Deposit Ticket Line To iPaaS (Child)
Description
Shopify Plus uses GiftCard == false filter.
Mapping Type | Source Field (Shopify) | Mapping Type | Description |
Static | Product | Type |
|
Lookup Translation | Status | This lookup translation converts the status of Shopify Transaction Line Status to iPaaS Transaction Line Status. | |
Field | Title | Description |
|
Field | Quantity | Qty |
|
Dynamic Formula |
| UnitPrice | This expression calculates the effective unit price of a product after discounts. It takes the total price (Price * Quantity), subtracts the sum of discounts from DiscountAllocations, and then divides by Quantity to get the discounted price per item. |
Dynamic Formula |
| ExtendedPrice | This expression calculates the total cost of a product by multiplying its price (Price) by the quantity (Quantity), and then subtracting the total discounts from the DiscountAllocations collection. The result gives the net cost after discounts have been applied. |
Field | Price | OriginalUnitPrice |
|
Dynamic Formula |
| DiscountAmount | This expression calculates the total discount amount by summing the values of the "Amount" field in the DiscountAllocations collection. |
Dynamic Formula |
| TaxPercent | This expression calculates the total tax rate by summing the values of the "Rate" field from the TaxLines collection. |
Dynamic Formula |
| EstimatedTaxAmount | This expression calculates the total tax amount by summing the "Price" field values in the TaxLines collection. |
Shopify Deposit Ticket Payment Gift Card To iPaaS (Child)
Mapping filter
Gateway == "gift_card"
Description
This payment transfer is for gateways of the "gift card" type.
Mapping Type | Source Field (Shopify) | Destination Field (iPaaS) |
Dynamic Formula |
| Method |
Static | Shopify Gift Certificate | Description |
Field | Amount | Amount |
Static | Captured | Status |
Shopify Deposit Ticket Payment To iPaaS (Child)
Mapping filter
if (Kind == "authorization" && CreditCardAuthIsCaptured(Authorization, Parent.Transactions) == false && Status == "success" && Gateway !="gift_card" ) {return true;} else if (Kind == "authorization" && CreditCardAuthIsCaptured(Authorization, Parent.Transactions) == true && Status == "success" && Gateway !="gift_card" ) {return true;} else if (Kind == "sale" && Status == "success" && Gateway !="gift_card") {return true;} else {return false;}Description
This code checks whether a transaction is successful, isn’t related to a gift card, and is either an authorization (captured or not) or a sale. If these conditions are met, it transfers the product payment; otherwise, it does not.
Mapping Type | Source Field (Shopify) | Destination Field (iPaaS) | Description |
Dynamic Formula |
| Method |
|
Field | Message | Description |
|
Field | Amount | Amount |
|
Dynamic Formula |
| Status | This code checks the type, capture status, and success status of a transaction to determine the appropriate label: Authorization Not Captured: If Kind is "authorization", Status is "success", and the authorization hasn't been captured, it returns "Authorized".
Authorization Captured: If Kind is "authorization", Status is "success", and the authorization has been captured, it returns "Captured".
Sale Transaction: If Kind is "sale" and Status is "success", it also returns "Captured". |
LookUp Translations
Shopify Transaction Status To iPaaS
Destination Field (Shopify) | Source Field (iPaaS) |
PENDING | Pending |
FULFILLED | Complete |
VOIDED | Cancelled |
SHIPPED | Shipped |
CONFIRMED | Pending |
PAID | Pending |
REFUNDED | Cancelled |
true | Pending |
Shopify Transaction Line Status To iPaaS
Destination Field (Shopify) | Source Field (iPaaS) |
PARTIAL | Pending |
FULFILLED | Complete |
NOT ELIGIBLE | Cancelled |
true | Pending |
Error Handling
OrderNumber without -D: Skipped from deposit ticket mapping.
GiftCard flag missing: May cause incorrect line mapping.
Authorization not captured: Payment skipped.
Testing & Validation
Test Scenarios
Deposit Ticket Creation in iPaaS: Deposit Ticket added with correct title, SKU, and price.
Option Exclusion: Deposit Tickets with default “Title” options are skipped.
Variant Sync: Variants created with correct options and SKUs.
Inventory Sync: Quantities reflected per Shopify location.
Validation Rules
Deposit Order (Add): Correctly processed into iPaaS.
Deposit Order (Gift Card Payment): Gift Card mapping validated.
Authorization Payment: Captured properly.
Non-Deposit Order: Skipped.
Validation Checklist
OrderNumber suffix validated.
Header, Address, Line, Payment mappings are correct.
Gift card vs non-gift card split works.
Totals match Shopify order.
Additional Notes
Validate dynamic formulas for smooth transfer.
