Merge Tags
All emails sent from ChargeOver are customizable, and can contain "merge tags" which are replaced by values from data with ChargeOver before the email is sent.
Tags can also be used to build basic IF/THEN statements and loops into your ChargeOver emails.
Tags
ChargeOver merge tags are documented below.
Admin Users
Admin Users
Merge Tag | Type | Description | |
---|---|---|---|
{{admin.admin_id}} | integer | Admin ID # | 📎 |
{{admin.username}} | string | Username | 📎 |
{{admin.external_key}} | string | External key value | 📎 |
{{admin.timezone}} | string | Timezone | 📎 |
{{admin.name}} | string | Full name | 📎 |
{{admin.first_name}} | string | First Name | 📎 |
{{admin.last_name}} | string | Last Name | 📎 |
{{admin.initials}} | string | Initials | 📎 |
{{admin.nickname}} | string | Nickname | 📎 |
{{admin.email}} | string | Email address | 📎 |
{{admin.twitter}} | string | Twitter URL | 📎 |
{{admin.facebook}} | string | Facebook URL | 📎 |
{{admin.linkedin}} | string | LinkedIn URL | 📎 |
{{admin.login_count}} | string | The # of times the worker has logged in | 📎 |
{{admin.login_datetime}} | string | Last logged in | 📎 |
{{admin.custom_1}} | mixed | Custom field value #1 | 📎 |
{{admin.custom_2}} | mixed | Custom field value #2 | 📎 |
{{admin.custom_3}} | mixed | Custom field value #3 | 📎 |
{{admin.custom_4}} | mixed | Custom field value #4 | 📎 |
{{admin.custom_5}} | mixed | Custom field value #5 | 📎 |
{{admin.write_datetime}} | date | Date/time the admin was created | 📎 |
{{admin.mod_datetime}} | date | Date/time the admin was modified | 📎 |
Customers
Customers
Merge Tag | Type | Description | |
---|---|---|---|
{{customer.customer_id}} | integer | Customer ID # | 📎 |
{{customer.parent_customer_id}} | integer | Parent customer ID # | 📎 |
{{customer.token}} | string | Customer Token | 📎 |
{{customer.superuser_id}} | integer | Main contact ID # | 📎 |
{{customer.external_key}} | string | External key value | 📎 |
{{customer.display_as}} | string | Deprecated | 📎 |
{{customer.company}} | string | Company/customer name | 📎 |
{{customer.language_id}} | integer | Language ID # | 📎 |
{{customer.currency_id}} | integer | Currency ID # | 📎 |
{{customer.currency_iso4217}} | string | ISO 4217 currency code representation | 📎 |
{{customer.currency_symbol}} | string | Symbol for currency ($, £, etc.) | 📎 |
{{customer.class_id}} | integer | Default class tracking ID # | 📎 |
{{customer.admin_id}} | integer | Admin/Worker ID # | 📎 |
{{customer.campaign_id}} | integer | Campaign/lead source ID # | 📎 |
{{customer.superuser_username}} | string | Main contact username | 📎 |
{{customer.superuser_email}} | string | Main contact e-mail address | 📎 |
{{customer.superuser_name}} | string | Main contact name | 📎 |
{{customer.superuser_first_name}} | string | Main contact first name | 📎 |
{{customer.superuser_last_name}} | string | Main contact last name | 📎 |
{{customer.superuser_phone}} | string | Main contact phone number | 📎 |
{{customer.superuser_token}} | string | Main contact token | 📎 |
{{customer.bill_addr1}} | string | Billing address line 1 | 📎 |
{{customer.bill_addr2}} | string | Billing address line 2 | 📎 |
{{customer.bill_addr3}} | string | Billing address line 3 | 📎 |
{{customer.bill_city}} | string | Billing address city | 📎 |
{{customer.bill_state}} | string | Billing address state/province | 📎 |
{{customer.bill_postcode}} | string | Billing address postal code | 📎 |
{{customer.bill_country}} | string | Billing address country | 📎 |
{{customer.bill_block}} | string | Printable billing address | 📎 |
{{customer.ship_addr1}} | string | Shipping address line 1 | 📎 |
{{customer.ship_addr2}} | string | Shipping address line 2 | 📎 |
{{customer.ship_addr3}} | string | Shipping address line 3 | 📎 |
{{customer.ship_city}} | string | Shipping address city | 📎 |
{{customer.ship_state}} | string | Shipping address state | 📎 |
{{customer.ship_postcode}} | string | Shipping address postal code | 📎 |
{{customer.ship_country}} | string | Shipping address country | 📎 |
{{customer.ship_block}} | string | Printable shipping address | 📎 |
{{customer.custom_1}} | mixed | Custom field #1 | 📎 |
{{customer.custom_2}} | mixed | Custom field #2 | 📎 |
{{customer.custom_3}} | mixed | Custom field #3 | 📎 |
{{customer.custom_4}} | mixed | Custom field #4 | 📎 |
{{customer.custom_5}} | mixed | Custom field #5 | 📎 |
{{customer.custom_6}} | mixed | Custom field #6 | 📎 |
{{customer.custom_7}} | mixed | Custom field #7 | 📎 |
{{customer.custom_8}} | mixed | Custom field #8 | 📎 |
{{customer.custom_9}} | mixed | Custom field #9 | 📎 |
{{customer.custom_10}} | mixed | Custom field #10 | 📎 |
{{customer.custom_11}} | mixed | Custom field #11 | 📎 |
{{customer.custom_12}} | mixed | Custom field #12 | 📎 |
{{customer.custom_13}} | mixed | Custom field #13 | 📎 |
{{customer.custom_14}} | mixed | Custom field #14 | 📎 |
{{customer.custom_15}} | mixed | Custom field #15 | 📎 |
{{customer.custom_16}} | mixed | Custom field #16 | 📎 |
{{customer.custom_17}} | mixed | Custom field #17 | 📎 |
{{customer.custom_18}} | mixed | Custom field #18 | 📎 |
{{customer.custom_19}} | mixed | Custom field #19 | 📎 |
{{customer.custom_20}} | mixed | Custom field #20 | 📎 |
{{customer.write_datetime}} | string | Date/time this customer was created | 📎 |
{{customer.write_ipaddr}} | string | IP address that created this customer | 📎 |
{{customer.mod_datetime}} | string | Date/time this customer was updated | 📎 |
{{customer.mod_ipaddr}} | string | IP address that last updated this customer | 📎 |
{{customer.brand_id}} | integer | Brand ID # | 📎 |
{{customer.class_name}} | string | Class name | 📎 |
{{customer.terms_id}} | integer | Default terms ID # | 📎 |
{{customer.terms_name}} | string | Default payment terms | 📎 |
{{customer.terms_days}} | integer | # of days for the default payment terms | 📎 |
{{customer.url_statementlink}} | string | URL the customer can visit to view their monthly statement | 📎 |
{{customer.url_paymethodlink}} | string | URL the customer can visit to update their payment method | 📎 |
{{customer.url_self}} | string | URL for viewing the customer in the GUI | 📎 |
{{customer.admin_name}} | string | Admin/Worker Name | 📎 |
{{customer.admin_email}} | string | Admin/Worker Email | 📎 |
{{customer.customer_status_id}} | integer | Customer Status ID # | 📎 |
{{customer.customer_status_name}} | string | Human-friendly customer status | 📎 |
{{customer.customer_status_str}} | string | Status string | 📎 |
{{customer.customer_status_state}} | string | Status code | 📎 |
{{customer.default_paymethod}} | string | Default payment method type | 📎 |
{{customer.default_creditcard_id}} | integer | Default credit card ID # (if the default payment method is a credit card) | 📎 |
{{customer.default_ach_id}} | integer | Default ACH/eCheck ID # (if the default payment method is ACH) | 📎 |
{{customer.no_taxes}} | boolean | Flag to disable charging of taxes | 📎 |
{{customer.no_dunning}} | boolean | Flag to disable dunning | 📎 |
{{customer.no_latefees}} | boolean | Flag to disable late fees | 📎 |
{{customer.invoice_delivery}} | enum[print,email] | Delivery method for initial invoices ("email" or "print" for printed hard-copy) | 📎 |
{{customer.dunning_delivery}} | enum[print,email] | Delivery method for dunning/reminder invoices ("email" or "print" for printed hard-copy via Docsaway, Lob, etc.) | 📎 |
{{customer.tax_ident}} | string | Tax ID #/VAT # | 📎 |
{{customer.total}} | float | The sum total amount of all invoices ever issued to this customer (lifetime value) | 📎 |
{{customer.balance}} | float | Balance due for this customer | 📎 |
{{customer.paid}} | float | The lifetime net total payments minus refunds this customer has made | 📎 |
{{customer.mrr}} | float | Monthly recurring revenue $ | 📎 |
{{customer.arr}} | float | Annual recurring revenue $ | 📎 |
{{customer.tags}} | array | A list of tags | 📎 |
Contacts
Contacts
Merge Tag | Type | Description | |
---|---|---|---|
{{user.user_id}} | integer | The user/contact ID # | 📎 |
{{user.external_key}} | string | External key value | 📎 |
{{user.token}} | string | Unique token | 📎 |
{{user.username}} | string | Customer portal username | 📎 |
{{user.name}} | string | First and last name of the contact | 📎 |
{{user.first_name}} | string | First name of contact | 📎 |
{{user.middle_name_glob}} | string | Middle name/initial | 📎 |
{{user.last_name}} | string | Last name | 📎 |
{{user.name_suffix}} | string | Suffix (e.g. "Jr.", "Sr.", "III", etc.) | 📎 |
{{user.display_as}} | string | (deprecated) | 📎 |
{{user.title}} | string | Title | 📎 |
{{user.email}} | string | E-mail address | 📎 |
{{user.phone}} | string | Phone number | 📎 |
{{user.mobile}} | string | Mobile number | 📎 |
{{user.user_type_id}} | integer | User type ID # | 📎 |
{{user.user_type_name}} | string | User type | 📎 |
{{user.customer_id}} | integer | The customer ID # this contact belongs to | 📎 |
{{user.custom_1}} | mixed | Custom field #1 | 📎 |
{{user.custom_2}} | mixed | Custom field #2 | 📎 |
{{user.custom_3}} | mixed | Custom field #3 | 📎 |
{{user.custom_4}} | mixed | Custom field #4 | 📎 |
{{user.custom_5}} | mixed | Custom field #5 | 📎 |
{{user.custom_6}} | mixed | Custom field #6 | 📎 |
{{user.custom_7}} | mixed | Custom field #7 | 📎 |
{{user.custom_8}} | mixed | Custom field #8 | 📎 |
{{user.custom_9}} | mixed | Custom field #9 | 📎 |
{{user.custom_10}} | mixed | Custom field #10 | 📎 |
{{user.custom_11}} | mixed | Custom field #11 | 📎 |
{{user.custom_12}} | mixed | Custom field #12 | 📎 |
{{user.custom_13}} | mixed | Custom field #13 | 📎 |
{{user.custom_14}} | mixed | Custom field #14 | 📎 |
{{user.custom_15}} | mixed | Custom field #15 | 📎 |
{{user.custom_16}} | mixed | Custom field #16 | 📎 |
{{user.custom_17}} | mixed | Custom field #17 | 📎 |
{{user.custom_18}} | mixed | Custom field #18 | 📎 |
{{user.custom_19}} | mixed | Custom field #19 | 📎 |
{{user.custom_20}} | mixed | Custom field #20 | 📎 |
{{user.write_datetime}} | datetime | Date/time the user/contact was created | 📎 |
{{user.mod_datetime}} | datetime | Date/time the user/contact was last modified | 📎 |
{{user.url_self}} | string | URL for viewing the user/contact in the GUI | 📎 |
Invoices
Invoices
Merge Tag | Type | Description | |
---|---|---|---|
{{invoice.invoice_id}} | integer | Invoice ID # | 📎 |
{{invoice.refnumber}} | string | Invoice reference number | 📎 |
{{invoice.external_key}} | string | External key value | 📎 |
{{invoice.package_id}} | integer | Subscription ID # this invoice was generated from | 📎 |
{{invoice.customer_id}} | integer | Customer ID # | 📎 |
{{invoice.brand_id}} | integer | Brand ID # | 📎 |
{{invoice.brand_name}} | string | Brand name | 📎 |
{{invoice.write_datetime}} | datetime | Date/time the invoice was created | 📎 |
{{invoice.void_datetime}} | datetime | Date/time the invoice was voided | 📎 |
{{invoice.date}} | date | Invoice date | 📎 |
{{invoice.currency_id}} | integer | Currency ID # | 📎 |
{{invoice.currency_symbol}} | string | Currency symbol | 📎 |
{{invoice.currency_iso4217}} | string | Currency ISO 4217 representation | 📎 |
{{invoice.class_id}} | integer | Class ID # | 📎 |
{{invoice.class_name}} | string | Class Name | 📎 |
{{invoice.paycycle}} | string | Payment cycle | 📎 |
{{invoice.paycycle_name}} | string | Payment cycle name | 📎 |
{{invoice.terms_id}} | integer | Terms ID # | 📎 |
{{invoice.terms_name}} | string | Terms name | 📎 |
{{invoice.terms_days}} | integer | Terms # of days | 📎 |
{{invoice.admin_id}} | integer | Admin/Worker ID # | 📎 |
{{invoice.admin_name}} | string | Admin/Worker Name | 📎 |
{{invoice.token}} | string | Unique token | 📎 |
{{invoice.bill_addr1}} | string | Billing address line 1 | 📎 |
{{invoice.bill_addr2}} | string | Billing address line 2 | 📎 |
{{invoice.bill_addr3}} | string | Billing address line 3 | 📎 |
{{invoice.bill_city}} | string | Billing address city | 📎 |
{{invoice.bill_state}} | string | Billing address state | 📎 |
{{invoice.bill_postcode}} | string | Billing address postal code | 📎 |
{{invoice.bill_country}} | string | Billing address country | 📎 |
{{invoice.bill_notes}} | string | (deprecated) | 📎 |
{{invoice.bill_block}} | string | Printable billing address | 📎 |
{{invoice.ship_addr1}} | string | Shipping address line 1 | 📎 |
{{invoice.ship_addr2}} | string | Shipping address line 2 | 📎 |
{{invoice.ship_addr3}} | string | Shipping address line 3 | 📎 |
{{invoice.ship_city}} | string | Shipping address city | 📎 |
{{invoice.ship_state}} | string | Shipping address state | 📎 |
{{invoice.ship_postcode}} | string | Shipping address postal code | 📎 |
{{invoice.ship_country}} | string | Shipping address country | 📎 |
{{invoice.ship_notes}} | string | (deprecated) | 📎 |
{{invoice.ship_block}} | string | Printable shipping address | 📎 |
{{invoice.cycle_pre_from_date}} | date | For pre-billing, cycle start date | 📎 |
{{invoice.cycle_pre_to_date}} | date | For pre-billing, cycle end date | 📎 |
{{invoice.cycle_this_date}} | date | Cycle date (generally the invoice date) | 📎 |
{{invoice.cycle_post_from_date}} | date | For post-billing (in arrears), cycle start date | 📎 |
{{invoice.cycle_post_to_date}} | date | For post-billing (in arrears), cycle end date | 📎 |
{{invoice.url_permalink}} | string | URL to view the invoice | 📎 |
{{invoice.url_pdflink}} | string | URL to download the invoice PDF | 📎 |
{{invoice.url_paylink}} | string | URL to pay for the invoice | 📎 |
{{invoice.url_self}} | string | URL for viewing the invoice in the GUI | 📎 |
{{invoice.is_paid}} | boolean | Whether or not the invoice has been paid | 📎 |
{{invoice.is_void}} | boolean | Whether or not the invoice has been voided | 📎 |
{{invoice.is_overdue}} | boolean | Whether or not the invoice is overdue | 📎 |
{{invoice.due_date}} | date | Date the invoice is due | 📎 |
{{invoice.days_overdue}} | integer | # of days overdue the invoice is | 📎 |
{{invoice.paid_date}} | date | Date this invoice was paid | 📎 |
{{invoice.balance}} | float | Balance of the invoice | 📎 |
{{invoice.applied}} | float | Amount applied to the invoice | 📎 |
{{invoice.total}} | float | Invoice total | 📎 |
{{invoice.subtotal}} | float | Invoice subtotal | 📎 |
{{invoice.taxes}} | float | Taxes | 📎 |
{{invoice.credits}} | float | Amount of credits applied to the invoice | 📎 |
{{invoice.payments}} | float | Amount of payments applied to the invoice | 📎 |
{{invoice.writeoffs}} | float | Amount written off | 📎 |
{{invoice.refunds}} | float | Amount refunded | 📎 |
{{invoice.overdue}} | float | Amount overdue | 📎 |
{{invoice.declines}} | integer | # of times that payment was attempted and failed for this invoice | 📎 |
{{invoice.sum_base}} | float | Sum of the amounts of all base fees on the invoice | 📎 |
{{invoice.sum_usage}} | float | Sum of the amounts of all usage-based/metered fees on the invoice | 📎 |
{{invoice.sum_onetime}} | float | Sum of the amounts of all of the one-time charges on the invoice | 📎 |
{{invoice.invoice_status_name}} | string | Human-friendly invoice status | 📎 |
{{invoice.invoice_status_str}} | string | Status string | 📎 |
{{invoice.invoice_status_state}} | string | Status code | 📎 |
{{invoice.memo}} | string | Memo/notes to customer | 📎 |
{{invoice.custom_1}} | mixed | Custom field #1 | 📎 |
{{invoice.custom_2}} | mixed | Custom field #2 | 📎 |
{{invoice.custom_3}} | mixed | Custom field #3 | 📎 |
{{invoice.custom_4}} | mixed | Custom field #4 | 📎 |
{{invoice.custom_5}} | mixed | Custom field #5 | 📎 |
{{invoice.custom_6}} | mixed | Custom field #6 | 📎 |
{{invoice.custom_7}} | mixed | Custom field #7 | 📎 |
{{invoice.custom_8}} | mixed | Custom field #8 | 📎 |
{{invoice.custom_9}} | mixed | Custom field #9 | 📎 |
{{invoice.custom_10}} | mixed | Custom field #10 | 📎 |
{{invoice.custom_11}} | mixed | Custom field #11 | 📎 |
{{invoice.custom_12}} | mixed | Custom field #12 | 📎 |
{{invoice.custom_13}} | mixed | Custom field #13 | 📎 |
{{invoice.custom_14}} | mixed | Custom field #14 | 📎 |
{{invoice.custom_15}} | mixed | Custom field #15 | 📎 |
{{invoice.custom_16}} | mixed | Custom field #16 | 📎 |
{{invoice.custom_17}} | mixed | Custom field #17 | 📎 |
{{invoice.custom_18}} | mixed | Custom field #18 | 📎 |
{{invoice.custom_19}} | mixed | Custom field #19 | 📎 |
{{invoice.custom_20}} | mixed | Custom field #20 | 📎 |
{{invoice.line_items}} | array | A list of line items for the invoice | 📎 |
{{invoice.schedule}} | array | A list of scheduled payments for this invoice | 📎 |
Invoice Line Items
Note that for merge tags for line items, the number in brackets in the merge tag corresponds to which line the item is on the invoice, quote, or subscription.
For example, if you want to see the name of the first line item on an invoice, you would use {{invoice.line_items[0].item_name}}
.
If you wanted to see the name of the second line item, you would use the merge tag {{invoice.line_items[1].item_name}}
.
Invoice Line Items
Merge Tag | Type | Description | |
---|---|---|---|
{{invoice.line_items[0].line_item_id}} | integer | Invoice line ID # | 📎 |
{{invoice.line_items[0].invoice_id}} | integer | Invoice ID # | 📎 |
{{invoice.line_items[0].admin_id}} | integer | Admin worker/sales rep ID # | 📎 |
{{invoice.line_items[0].item_id}} | integer | Item ID # for this line | 📎 |
{{invoice.line_items[0].item_name}} | string | Item name | 📎 |
{{invoice.line_items[0].item_accounting_sku}} | string | Item accounting SKU | 📎 |
{{invoice.line_items[0].item_external_key}} | string | Item external key | 📎 |
{{invoice.line_items[0].item_token}} | string | Item token | 📎 |
{{invoice.line_items[0].item_units}} | string | Item units | 📎 |
{{invoice.line_items[0].paycycle}} | string | Payment cycle | 📎 |
{{invoice.line_items[0].tierset_id}} | integer | Tierset ID # for this line | 📎 |
{{invoice.line_items[0].package_line_id}} | integer | Package line ID # that this line originated from | 📎 |
{{invoice.line_items[0].package_line_external_key}} | string | Subscription line external key | 📎 |
{{invoice.line_items[0].package_obligation_id}} | int | The contractual obligation this line counted towards | 📎 |
{{invoice.line_items[0].package_line_first_obligation_id}} | int | The ID # of the first contractual obligation for the subscription line that this line originated from | 📎 |
{{invoice.line_items[0].descrip}} | string | Description | 📎 |
{{invoice.line_items[0].line_prorate}} | float | If the line is prorated this value is the prorated percentage | 📎 |
{{invoice.line_items[0].line_rate}} | float | Rate | 📎 |
{{invoice.line_items[0].line_quantity}} | float | Quantity | 📎 |
{{invoice.line_items[0].line_usage}} | float | Usage value | 📎 |
{{invoice.line_items[0].line_subtotal}} | float | Line subtotal | 📎 |
{{invoice.line_items[0].line_total}} | float | Line total | 📎 |
{{invoice.line_items[0].usage_from}} | float | 📎 | |
{{invoice.line_items[0].usage_to}} | float | 📎 | |
{{invoice.line_items[0].number_of_recurs_this}} | integer | # of times this has recurred since the last up/downgrade | 📎 |
{{invoice.line_items[0].number_of_recurs_line}} | integer | # of times this line has recurred | 📎 |
{{invoice.line_items[0].tax_taxable}} | float | The total amount that was taxable | 📎 |
{{invoice.line_items[0].tax_taxed}} | float | The amount that tax was calculated from | 📎 |
{{invoice.line_items[0].tax_total}} | float | The tax amount for this line | 📎 |
{{invoice.line_items[0].tax_id}} | string | 📎 | |
{{invoice.line_items[0].tax_group_id}} | string | 📎 | |
{{invoice.line_items[0].tax_name}} | string | 📎 | |
{{invoice.line_items[0].tax_group_name}} | string | 📎 | |
{{invoice.line_items[0].is_usage}} | bool | Whether or not this line item was created from usage data | 📎 |
{{invoice.line_items[0].is_setup}} | bool | Whether or not this line was a one-time setup fee | 📎 |
{{invoice.line_items[0].is_base}} | bool | Whether or not this line is the base line item for other tiered/volume/unit lines | 📎 |
{{invoice.line_items[0].is_free}} | bool | Whether or not this line item was free (equal to $0.00) | 📎 |
{{invoice.line_items[0].is_recurring}} | bool | Whether or not this line is recurring | 📎 |
{{invoice.line_items[0].is_taxed}} | bool | Whether or not this line item was taxed/subject to VAT | 📎 |
{{invoice.line_items[0].is_latefee}} | bool | Whether or not this line item was a late fee | 📎 |
{{invoice.line_items[0].is_obligation}} | bool | Whether or not this line item was towards a contractual obligation | 📎 |
{{invoice.line_items[0].custom_1}} | mixed | Custom field #1 | 📎 |
{{invoice.line_items[0].custom_2}} | mixed | Custom field #2 | 📎 |
{{invoice.line_items[0].custom_3}} | mixed | Custom field #3 | 📎 |
{{invoice.line_items[0].custom_4}} | mixed | Custom field #4 | 📎 |
{{invoice.line_items[0].custom_5}} | mixed | Custom field #5 | 📎 |
{{invoice.line_items[0].custom_6}} | mixed | Custom field #6 | 📎 |
{{invoice.line_items[0].custom_7}} | mixed | Custom field #7 | 📎 |
{{invoice.line_items[0].custom_8}} | mixed | Custom field #8 | 📎 |
{{invoice.line_items[0].custom_9}} | mixed | Custom field #9 | 📎 |
{{invoice.line_items[0].custom_10}} | mixed | Custom field #10 | 📎 |
Invoice Scheduled Payments
Invoice Scheduled Payments
Merge Tag | Type | Description | |
---|---|---|---|
{{schedule.invoice_schedule_id}} | integer | Scheduled ID # | 📎 |
{{schedule.invoice_id}} | integer | Invoice ID # | 📎 |
{{schedule.token}} | string | A unique token to identify this scheduled event | 📎 |
{{schedule.paymethod}} | string | The payment method (crd for credit card, ach for ACH/eCheck, inv for just sending an invoice | 📎 |
{{schedule.creditcard_id}} | integer | If the payment is scheduled against a credit card, the creditcard_id value | 📎 |
{{schedule.ach_id}} | integer | If a bank account payment, the ach_id value | 📎 |
{{schedule.due_date}} | date | Payment due date | 📎 |
{{schedule.days_overdue}} | integer | Number of days overdue | 📎 |
{{schedule.amount}} | float | Amount to schedule payment for | 📎 |
{{schedule.amount_or_percent_formatted}} | string | A pretty-formatted amount or percent that was scheduled | 📎 |
{{schedule.balance}} | float | Balance (amount due) of this payment | 📎 |
{{schedule.date}} | date | Date to run the payment on | 📎 |
{{schedule.url_paylink}} | string | URL to pay for this scheduled payment | 📎 |
{{schedule.url_ttl_paylink}} | string | URL to pay for this scheduled payment | 📎 |
Quotes
Quotes
Merge Tag | Type | Description | |
---|---|---|---|
{{quote.quote_id}} | integer | Quote ID # | 📎 |
{{quote.refnumber}} | string | Quote reference number | 📎 |
{{quote.external_key}} | string | External key value | 📎 |
{{quote.paycycle}} | string | Payment cycle for the quote (e.g. monthly, etc.) | 📎 |
{{quote.nickname}} | string | Quote nickname | 📎 |
{{quote.customer_id}} | integer | Customer ID # | 📎 |
{{quote.write_datetime}} | datetime | Date/time the quote was created | 📎 |
{{quote.date}} | date | Quote date | 📎 |
{{quote.validuntil_date}} | date | Quote valid until | 📎 |
{{quote.holduntil_datetime_str}} | string | Date/time invoicing for the resulting subscription to be delayed until | 📎 |
{{quote.currency_id}} | integer | Currency ID # | 📎 |
{{quote.currency_symbol}} | string | Currency symbol | 📎 |
{{quote.currency_iso4217}} | string | Currency ISO 4217 representation | 📎 |
{{quote.terms_id}} | integer | Terms ID # | 📎 |
{{quote.terms_name}} | string | Terms name | 📎 |
{{quote.terms_days}} | integer | Terms # of days | 📎 |
{{quote.brand_id}} | integer | Brand ID # | 📎 |
{{quote.paycycle_name}} | string | Payment cycle name | 📎 |
{{quote.admin_id}} | integer | Admin/Worker ID # | 📎 |
{{quote.admin_name}} | string | Admin/Worker Name | 📎 |
{{quote.token}} | string | Unique token | 📎 |
{{quote.bill_addr1}} | string | Billing address line 1 | 📎 |
{{quote.bill_addr2}} | string | Billing address line 2 | 📎 |
{{quote.bill_addr3}} | string | Billing address line 3 | 📎 |
{{quote.bill_city}} | string | Billing address city | 📎 |
{{quote.bill_state}} | string | Billing address state | 📎 |
{{quote.bill_postcode}} | string | Billing address postal code | 📎 |
{{quote.bill_country}} | string | Billing address country | 📎 |
{{quote.bill_notes}} | string | (deprecated) | 📎 |
{{quote.bill_block}} | string | Printable billing address | 📎 |
{{quote.ship_addr1}} | string | Shipping address line 1 | 📎 |
{{quote.ship_addr2}} | string | Shipping address line 2 | 📎 |
{{quote.ship_addr3}} | string | Shipping address line 3 | 📎 |
{{quote.ship_city}} | string | Shipping address city | 📎 |
{{quote.ship_state}} | string | Shipping address state | 📎 |
{{quote.ship_postcode}} | string | Shipping address postal code | 📎 |
{{quote.ship_country}} | string | Shipping address country | 📎 |
{{quote.ship_notes}} | string | (deprecated) | 📎 |
{{quote.ship_block}} | string | Printable shipping address | 📎 |
{{quote.url_permalink}} | string | URL to view the quote | 📎 |
{{quote.url_pdflink}} | string | URL to get a PDF of the quote | 📎 |
{{quote.url_self}} | string | URL for viewing the quote in the GUI | 📎 |
{{quote.url_acceptlink}} | string | URL to visit to accept the quote | 📎 |
{{quote.url_paylink}} | string | URL to visit to provide a payment method for the quote | 📎 |
{{quote.url_rejectlink}} | string | URL to visit to reject the quote | 📎 |
{{quote.url_acceptredirect}} | string | URL the lead should be redirected to after accepting a quote | 📎 |
{{quote.url_rejectredirect}} | string | URL the lead should be redirected to after rejecting a quote | 📎 |
{{quote.won_datetime}} | string | The Date/time that the quote was accepted | 📎 |
{{quote.lost_datetime}} | string | The Date/time that the quote was rejected | 📎 |
{{quote.due_date}} | date | Date the quote is due | 📎 |
{{quote.setup}} | float | Optional one time free charged for set up expenses | 📎 |
{{quote.total}} | float | Amount due after taxes and fees | 📎 |
{{quote.upfront}} | float | The amount due when you accept the quote | 📎 |
{{quote.subtotal}} | float | Amount due before taxes and fees | 📎 |
{{quote.taxes}} | float | Amount due for taxes | 📎 |
{{quote.quote_status_name}} | string | Human-friendly quote status | 📎 |
{{quote.quote_status_str}} | string | Status string | 📎 |
{{quote.quote_status_state}} | string | Status code | 📎 |
{{quote.memo}} | string | Memo/notes to customer | 📎 |
{{quote.custom_1}} | mixed | Custom field #1 | 📎 |
{{quote.custom_2}} | mixed | Custom field #2 | 📎 |
{{quote.custom_3}} | mixed | Custom field #3 | 📎 |
{{quote.custom_4}} | mixed | Custom field #4 | 📎 |
{{quote.custom_5}} | mixed | Custom field #5 | 📎 |
{{quote.custom_6}} | mixed | Custom field #6 | 📎 |
{{quote.custom_7}} | mixed | Custom field #7 | 📎 |
{{quote.custom_8}} | mixed | Custom field #8 | 📎 |
{{quote.custom_9}} | mixed | Custom field #9 | 📎 |
{{quote.custom_10}} | mixed | Custom field #10 | 📎 |
{{quote.custom_11}} | mixed | Custom field #11 | 📎 |
{{quote.custom_12}} | mixed | Custom field #12 | 📎 |
{{quote.custom_13}} | mixed | Custom field #13 | 📎 |
{{quote.custom_14}} | mixed | Custom field #14 | 📎 |
{{quote.custom_15}} | mixed | Custom field #15 | 📎 |
{{quote.custom_16}} | mixed | Custom field #16 | 📎 |
{{quote.custom_17}} | mixed | Custom field #17 | 📎 |
{{quote.custom_18}} | mixed | Custom field #18 | 📎 |
{{quote.custom_19}} | mixed | Custom field #19 | 📎 |
{{quote.custom_20}} | mixed | Custom field #20 | 📎 |
{{quote.line_items}} | array | A list of line items for the quote | 📎 |
Quote Line Items
Note that for merge tags for line items, the number in brackets in the merge tag corresponds to which line the item is on the invoice, quote, or subscription.
For example, if you want to see the name of the first line item on a quote, you would use {{quote.line_items[0].item_name}}
.
If you wanted to see the name of the second line item, you would use the merge tag {{quote.line_items[1].item_name}}
Quote Line Items
Merge Tag | Type | Description | |
---|---|---|---|
{{quote.line_items[0].line_item_id}} | integer | Invoice line ID # | 📎 |
{{quote.line_items[0].quote_id}} | integer | Invoice ID # | 📎 |
{{quote.line_items[0].item_id}} | integer | Item ID # for this line | 📎 |
{{quote.line_items[0].item_name}} | string | Item name | 📎 |
{{quote.line_items[0].item_accounting_sku}} | string | Item accounting SKU | 📎 |
{{quote.line_items[0].item_external_key}} | string | Item external key | 📎 |
{{quote.line_items[0].item_token}} | string | Item token | 📎 |
{{quote.line_items[0].tierset_id}} | integer | Tierset ID # for this line | 📎 |
{{quote.line_items[0].descrip}} | string | Description | 📎 |
{{quote.line_items[0].line_rate}} | float | (Deprecated - see the "tierset" attribute) | 📎 |
{{quote.line_items[0].line_quantity}} | float | Quantity | 📎 |
{{quote.line_items[0].line_subtotal}} | float | Line subtotal | 📎 |
{{quote.line_items[0].line_total}} | float | Line total | 📎 |
{{quote.line_items[0].expire_recurs}} | integer | # of invoices to occur on before expiring | 📎 |
{{quote.line_items[0].tax_taxable}} | float | The total amount that was taxable | 📎 |
{{quote.line_items[0].tax_taxed}} | float | The amount that tax was calculated from | 📎 |
{{quote.line_items[0].tax_total}} | float | The tax amount for this line | 📎 |
{{quote.line_items[0].tax_id}} | string | 📎 | |
{{quote.line_items[0].tax_group_id}} | string | 📎 | |
{{quote.line_items[0].is_setup}} | bool | (Deprecated) | 📎 |
{{quote.line_items[0].is_base}} | bool | (Deprecated) | 📎 |
{{quote.line_items[0].is_taxed}} | bool | 📎 | |
{{quote.line_items[0].custom_1}} | mixed | Custom field #1 | 📎 |
{{quote.line_items[0].custom_2}} | mixed | Custom field #2 | 📎 |
{{quote.line_items[0].custom_3}} | mixed | Custom field #3 | 📎 |
{{quote.line_items[0].custom_4}} | mixed | Custom field #4 | 📎 |
{{quote.line_items[0].custom_5}} | mixed | Custom field #5 | 📎 |
{{quote.line_items[0].custom_6}} | mixed | Custom field #6 | 📎 |
{{quote.line_items[0].custom_7}} | mixed | Custom field #7 | 📎 |
{{quote.line_items[0].custom_8}} | mixed | Custom field #8 | 📎 |
{{quote.line_items[0].custom_9}} | mixed | Custom field #9 | 📎 |
{{quote.line_items[0].custom_10}} | mixed | Custom field #10 | 📎 |
{{quote.line_items[0].custom_11}} | mixed | Custom field #11 | 📎 |
{{quote.line_items[0].custom_12}} | mixed | Custom field #12 | 📎 |
{{quote.line_items[0].custom_13}} | mixed | Custom field #13 | 📎 |
{{quote.line_items[0].custom_14}} | mixed | Custom field #14 | 📎 |
{{quote.line_items[0].custom_15}} | mixed | Custom field #15 | 📎 |
{{quote.line_items[0].custom_16}} | mixed | Custom field #16 | 📎 |
{{quote.line_items[0].custom_17}} | mixed | Custom field #17 | 📎 |
{{quote.line_items[0].custom_18}} | mixed | Custom field #18 | 📎 |
{{quote.line_items[0].custom_19}} | mixed | Custom field #19 | 📎 |
{{quote.line_items[0].custom_20}} | mixed | Custom field #20 | 📎 |
{{quote.line_items[0].tierset}} | array | Pricing information | 📎 |
Subscriptions (Packages)
Subscriptions (Packages)
Merge Tag | Type | Description | |
---|---|---|---|
{{package.package_id}} | integer | Subscription ID # | 📎 |
{{package.customer_id}} | integer | Customer ID # | 📎 |
{{package.brand_id}} | integer | Brand ID # | 📎 |
{{package.brand_name}} | string | Brand name | 📎 |
{{package.class_id}} | integer | Class ID # | 📎 |
{{package.class_name}} | string | Class name | 📎 |
{{package.external_key}} | string | External key value | 📎 |
{{package.token}} | string | Unique token | 📎 |
{{package.nickname}} | string | Nickname for the subscription | 📎 |
{{package.paymethod}} | string | Payment method for the subscription, one of: crd, inv, ach, tok | 📎 |
{{package.paymethod_name}} | string | Payment method for the subscription (e.g. Credit Card) | 📎 |
{{package.paymethod_detail}} | string | Payment method details (e.g. "Visa x1111") | 📎 |
{{package.creditcard_id}} | integer | Credit card ID # (if the subscription is paid by credit card) | 📎 |
{{package.ach_id}} | integer | ACH ID # (if the subscription is paid by ACH) | 📎 |
{{package.tokenized_id}} | integer | Tokenized ID # (if the subscription is paid by an external service token) | 📎 |
{{package.admin_id}} | integer | Admin/worker ID # | 📎 |
{{package.admin_name}} | string | Admin/worker name | 📎 |
{{package.bill_addr1}} | string | Billing address line 1 | 📎 |
{{package.bill_addr2}} | string | Billing address line 2 | 📎 |
{{package.bill_addr3}} | string | Billing address line 3 | 📎 |
{{package.bill_city}} | string | Billing address city | 📎 |
{{package.bill_state}} | string | Billing address state | 📎 |
{{package.bill_postcode}} | string | Billing address postal code | 📎 |
{{package.bill_country}} | string | Billing address country | 📎 |
{{package.bill_notes}} | string | (Deprecated) | 📎 |
{{package.ship_addr1}} | string | Shipping address line 1 | 📎 |
{{package.ship_addr2}} | string | Shipping address line 2 | 📎 |
{{package.ship_addr3}} | string | Shipping address line 3 | 📎 |
{{package.ship_city}} | string | Shipping address city | 📎 |
{{package.ship_state}} | string | Shipping address state | 📎 |
{{package.ship_postcode}} | string | Shipping address postal code | 📎 |
{{package.ship_country}} | string | Shipping address country | 📎 |
{{package.ship_notes}} | string | (Deprecated) | 📎 |
{{package.currency_id}} | integer | Currency ID # | 📎 |
{{package.currency_iso4217}} | string | Currency ISO 4217 code | 📎 |
{{package.currency_symbol}} | string | Currency symbol | 📎 |
{{package.amount_collected}} | float | Total amount collected so far for this subscription | 📎 |
{{package.amount_invoiced}} | float | Total amount invoiced so far | 📎 |
{{package.amount_due}} | float | Total amount due (invoiced - collected) | 📎 |
{{package.amount_overdue}} | float | Total amount past due | 📎 |
{{package.suspendfrom_datetime}} | datetime | Date/time this subscription was suspended from | 📎 |
{{package.suspendto_datetime}} | datetime | Date/time this subscription was suspended to | 📎 |
{{package.next_invoice_datetime}} | datetime | The date the next invoice will be generated | 📎 |
{{package.is_overdue}} | boolean | Whether or not the subscription is overdue | 📎 |
{{package.days_overdue}} | integer | # of days overdue the subscription is | 📎 |
{{package.start_datetime}} | datetime | Date/time this subscription was started/effective | 📎 |
{{package.cancel_datetime}} | datetime | Date/time this subscription was cancelled | 📎 |
{{package.write_datetime}} | datetime | Date/time this subscription was created | 📎 |
{{package.mod_datetime}} | datetime | Date/time this subscription was last updated | 📎 |
{{package.holduntil_datetime}} | datetime | Date/time invoicing for this subscription is being delayed until | 📎 |
{{package.package_status_id}} | integer | Subscription status ID # | 📎 |
{{package.package_status_name}} | string | Human-friendly subscription status | 📎 |
{{package.package_status_str}} | string | Status string | 📎 |
{{package.package_status_state}} | string | Status code | 📎 |
{{package.mrr}} | float | Monthly recurring revenue $ | 📎 |
{{package.arr}} | float | Annual recurring revenue $ | 📎 |
{{package.cancel_reason}} | string | Reason for cancellation | 📎 |
{{package.terms_id}} | integer | Terms ID # | 📎 |
{{package.terms_name}} | string | Payment terms | 📎 |
{{package.terms_days}} | integer | Terms # of days | 📎 |
{{package.paycycle}} | string | Payment cycle | 📎 |
{{package.paycycle_name}} | string | Payment cycle name | 📎 |
{{package.custom_1}} | mixed | Custom field #1 | 📎 |
{{package.custom_2}} | mixed | Custom field #2 | 📎 |
{{package.custom_3}} | mixed | Custom field #3 | 📎 |
{{package.custom_4}} | mixed | Custom field #4 | 📎 |
{{package.custom_5}} | mixed | Custom field #5 | 📎 |
{{package.custom_6}} | mixed | Custom field #6 | 📎 |
{{package.custom_7}} | mixed | Custom field #7 | 📎 |
{{package.custom_8}} | mixed | Custom field #8 | 📎 |
{{package.custom_9}} | mixed | Custom field #9 | 📎 |
{{package.custom_10}} | mixed | Custom field #10 | 📎 |
{{package.custom_11}} | mixed | Custom field #11 | 📎 |
{{package.custom_12}} | mixed | Custom field #12 | 📎 |
{{package.custom_13}} | mixed | Custom field #13 | 📎 |
{{package.custom_14}} | mixed | Custom field #14 | 📎 |
{{package.custom_15}} | mixed | Custom field #15 | 📎 |
{{package.custom_16}} | mixed | Custom field #16 | 📎 |
{{package.custom_17}} | mixed | Custom field #17 | 📎 |
{{package.custom_18}} | mixed | Custom field #18 | 📎 |
{{package.custom_19}} | mixed | Custom field #19 | 📎 |
{{package.custom_20}} | mixed | Custom field #20 | 📎 |
{{package.line_items}} | array | A list of line items for the subscription | 📎 |
{{package.url_self}} | string | URL for viewing the subscription in the GUI | 📎 |
Subscription Line Items
Note that for merge tags for line items, the number in brackets in the merge tag corresponds to which line it is on the invoice, quote, or subscription.
For example, if you want to see the name of the first line item on a subscription, you would use {{package.line_items[0].item_name}}
.
If you wanted to see the name of the second line item, you would use the merge tag {{package.line_items[1].item_name}}
Subscription Line Items
Merge Tag | Type | Description | |
---|---|---|---|
{{package.line_items[0].line_item_id}} | integer | Line item ID # | 📎 |
{{package.line_items[0].package_id}} | integer | Package ID # | 📎 |
{{package.line_items[0].external_key}} | string | External key value | 📎 |
{{package.line_items[0].item_id}} | integer | Item ID # | 📎 |
{{package.line_items[0].admin_id}} | integer | Admin worker ID # (sales rep) | 📎 |
{{package.line_items[0].item_name}} | string | Item name | 📎 |
{{package.line_items[0].item_external_key}} | string | Item external key | 📎 |
{{package.line_items[0].item_accounting_sku}} | string | Item accounting SKU | 📎 |
{{package.line_items[0].item_token}} | string | Item token | 📎 |
{{package.line_items[0].item_units}} | float | 📎 | |
{{package.line_items[0].item_type}} | string | Item type | 📎 |
{{package.line_items[0].item_is_usage}} | bool | Whether or not the item is usage-based/metered | 📎 |
{{package.line_items[0].tierset_id}} | integer | 📎 | |
{{package.line_items[0].nickname}} | string | Nickname for this line of the subscription | 📎 |
{{package.line_items[0].descrip}} | string | Description | 📎 |
{{package.line_items[0].trial_days}} | integer | (Deprecated - see trial_recurs) | 📎 |
{{package.line_items[0].trial_units}} | float | 📎 | |
{{package.line_items[0].trial_recurs}} | integer | # of free trial cycles/cycles to skip | 📎 |
{{package.line_items[0].expire_datetime}} | datetime | 📎 | |
{{package.line_items[0].expire_recurs}} | integer | # of invoices to occur on before expiring | 📎 |
{{package.line_items[0].line_quantity}} | float | Quantity | 📎 |
{{package.line_items[0].subscribe_datetime}} | datetime | The date/time this line item was last upgraded, downgraded, or added | 📎 |
{{package.line_items[0].subscribe_prorate_from_datetime}} | datetime | 📎 | |
{{package.line_items[0].subscribe_prorate_to_datetime}} | datetime | 📎 | |
{{package.line_items[0].cancel_datetime}} | datetime | The date/time this line item was cancelled | 📎 |
{{package.line_items[0].custom_1}} | mixed | Custom field #1 | 📎 |
{{package.line_items[0].custom_2}} | mixed | Custom field #2 | 📎 |
{{package.line_items[0].custom_3}} | mixed | Custom field #3 | 📎 |
{{package.line_items[0].custom_4}} | mixed | Custom field #4 | 📎 |
{{package.line_items[0].custom_5}} | mixed | Custom field #5 | 📎 |
{{package.line_items[0].custom_6}} | mixed | Custom field #6 | 📎 |
{{package.line_items[0].custom_7}} | mixed | Custom field #7 | 📎 |
{{package.line_items[0].custom_8}} | mixed | Custom field #8 | 📎 |
{{package.line_items[0].custom_9}} | mixed | Custom field #9 | 📎 |
{{package.line_items[0].custom_10}} | mixed | Custom field #10 | 📎 |
{{package.line_items[0].custom_11}} | mixed | Custom field #11 | 📎 |
{{package.line_items[0].custom_12}} | mixed | Custom field #12 | 📎 |
{{package.line_items[0].custom_13}} | mixed | Custom field #13 | 📎 |
{{package.line_items[0].custom_14}} | mixed | Custom field #14 | 📎 |
{{package.line_items[0].custom_15}} | mixed | Custom field #15 | 📎 |
{{package.line_items[0].custom_16}} | mixed | Custom field #16 | 📎 |
{{package.line_items[0].custom_17}} | mixed | Custom field #17 | 📎 |
{{package.line_items[0].custom_18}} | mixed | Custom field #18 | 📎 |
{{package.line_items[0].custom_19}} | mixed | Custom field #19 | 📎 |
{{package.line_items[0].custom_20}} | mixed | Custom field #20 | 📎 |
{{package.line_items[0].addons}} | string | A list of related add-ons for this line | 📎 |
Transactions
Transactions
Merge Tag | Type | Description | |
---|---|---|---|
{{transaction.transaction_id}} | integer | Transaction ID # | 📎 |
{{transaction.parent_transaction_id}} | integer | Parent transaction ID # | 📎 |
{{transaction.transaction_batch_id}} | integer | Transaction batch ID # | 📎 |
{{transaction.customer_id}} | integer | Customer ID # | 📎 |
{{transaction.brand_id}} | integer | Brand ID # | 📎 |
{{transaction.gateway_id}} | integer | Payment gateway ID # | 📎 |
{{transaction.gateway_type}} | string | Payment gateway type | 📎 |
{{transaction.gateway_nickname}} | string | Nickname for the payment gateway | 📎 |
{{transaction.gateway_status}} | integer | Payment gateway status (1 for success, 0 for failure) | 📎 |
{{transaction.gateway_transid}} | string | Payment gateway transaction identifier | 📎 |
{{transaction.gateway_method}} | string | Payment gateway method | 📎 |
{{transaction.gateway_msg}} | string | A customer-facing error message indicating why the transaction declined/failed | 📎 |
{{transaction.gateway_err_code}} | integer | A merchant-facing specific error code indicating why the transaction declined/failed | 📎 |
{{transaction.gateway_err_detail}} | string | A merchant-facing detailed error message indicating why the transaction declined/failed | 📎 |
{{transaction.gateway_opts}} | mixed | Additional gateway-specific data | 📎 |
{{transaction.token}} | string | A unique token for the transaction | 📎 |
{{transaction.external_key}} | string | Transaction external key value | 📎 |
{{transaction.currency_id}} | integer | Currency ID # | 📎 |
{{transaction.currency_iso4217}} | string | Currency ISO 4217 code | 📎 |
{{transaction.currency_symbol}} | string | Currency symbol | 📎 |
{{transaction.amount}} | float | Total transaction amount (refunds will be negative) | 📎 |
{{transaction.fee}} | float | Transaction fee (if gateway provides this data) | 📎 |
{{transaction.applied}} | float | Amount that is applied to invoices | 📎 |
{{transaction.unapplied}} | float | Amount that is unapplied (not applied to any invoices) | 📎 |
{{transaction.transaction_date}} | date | Date of the transaction | 📎 |
{{transaction.transaction_status_name}} | string | Human-friendly transaction status | 📎 |
{{transaction.transaction_status_str}} | string | Status string | 📎 |
{{transaction.transaction_status_state}} | string | State code | 📎 |
{{transaction.transaction_type}} | string | Transaction type (one of: pay, ref, cre, spl) | 📎 |
{{transaction.transaction_type_name}} | string | Transaction type name | 📎 |
{{transaction.transaction_method}} | string | Transaction method | 📎 |
{{transaction.transaction_detail}} | string | Transaction details | 📎 |
{{transaction.transaction_datetime}} | datetime | Date/time of the transaction was created | 📎 |
{{transaction.transaction_ipaddr}} | string | IP address that created the transaction | 📎 |
{{transaction.void_datetime}} | datetime | Date/time the transaction was voided | 📎 |
{{transaction.url_self}} | string | URL for viewing the transaction in the GUI | 📎 |
{{transaction.applied_to}} | array | Information about how the payment is applied | 📎 |
{{transaction.custom_1}} | mixed | Custom field #1 | 📎 |
{{transaction.custom_2}} | mixed | Custom field #2 | 📎 |
{{transaction.custom_3}} | mixed | Custom field #3 | 📎 |
{{transaction.custom_4}} | mixed | Custom field #4 | 📎 |
{{transaction.custom_5}} | mixed | Custom field #5 | 📎 |
{{transaction.memo}} | string | Transaction memo | 📎 |
Credit Cards
Credit Cards
Merge Tag | Type | Description | |
---|---|---|---|
{{creditcard.customer_id}} | integer | The customer id # | 📎 |
{{creditcard.creditcard_id}} | integer | The credit card ID # | 📎 |
{{creditcard.external_key}} | string | Unique external key value | 📎 |
{{creditcard.type}} | string | Credit card type | 📎 |
{{creditcard.type_name}} | string | Credit card type user-friendly name | 📎 |
{{creditcard.token}} | string | Credit card token | 📎 |
{{creditcard.name}} | string | Name on credit card | 📎 |
{{creditcard.mask_number}} | string | Last 4 digits of the credit card | 📎 |
{{creditcard.mask_and_bin_number}} | string | First 6 digits and last 4 digits of the credit card | 📎 |
{{creditcard.expdate}} | string | Expiration date (in YYYY-MM-DD format) | 📎 |
{{creditcard.expdate_year}} | string | Expiration year (4-digits, YYYY) (only required if you do not provide expdate) | 📎 |
{{creditcard.expdate_month}} | string | Expiration month (2-digits, MM) (only required if you do not provide expdate) | 📎 |
{{creditcard.expdate_formatted}} | string | Expiration date (formatted) | 📎 |
{{creditcard.address}} | string | Billing street address | 📎 |
{{creditcard.city}} | string | Billing city | 📎 |
{{creditcard.postcode}} | string | Billing postal code | 📎 |
{{creditcard.country}} | string | Billing country | 📎 |
{{creditcard.url_updatelink}} | string | 📎 | |
{{creditcard.write_datetime}} | datetime | Date/time the credit card was stored | 📎 |
{{creditcard.write_ipaddr}} | datetime | IP address that created the card | 📎 |
ACH/eCheck Accounts
ACH/eCheck Accounts
Merge Tag | Type | Description | |
---|---|---|---|
{{ach.ach_id}} | integer | ACH ID # | 📎 |
{{ach.customer_id}} | integer | Customer ID # | 📎 |
{{ach.external_key}} | string | Unique external key value | 📎 |
{{ach.type}} | string | Bank account type (one of: chec, busi, savi) | 📎 |
{{ach.type_name}} | string | Bank account type (pretty name) | 📎 |
{{ach.token}} | string | ACH account token | 📎 |
{{ach.mask_number}} | string | Last 4 digits of the bank account number | 📎 |
{{ach.mask_routing}} | string | Bank account routing number | 📎 |
{{ach.name}} | string | Name on bank account | 📎 |
{{ach.mask_bank}} | string | Bank name | 📎 |
{{ach.url_verifylink}} | string | ACH verification link | 📎 |
Tokenized Pay Methods
Tokenized Pay Methods
Merge Tag | Type | Description | |
---|---|---|---|
{{tokenized.tokenized_id}} | integer | Tokenized ID # | 📎 |
{{tokenized.customer_id}} | integer | Customer ID # | 📎 |
{{tokenized.name}} | string | Descriptive name for token (e.g. "Visa x4111") | 📎 |
{{tokenized.type}} | string | Type of token (usually "customer") | 📎 |
{{tokenized.paymethod_hint}} | string | (Optional) Either "crd" (credit card) or "ach" (ACH/bank accounts) | 📎 |
{{tokenized.expdate}} | date | (Optional; only required for First Data/Payeezy) Expiration date (YYYY-MM-DD) of the tokenized credit card | 📎 |
{{tokenized.type_hint}} | string | (Optional; only required for First Data/Payeezy) A credit card type (one of "visa", "mast", "disc", or "amex") | 📎 |
{{tokenized.token}} | string | The token value | 📎 |
{{tokenized.gateway}} | string | (Optional; only required if providing tokens for multiple gateways) A hint for which gateway this is a token for | 📎 |
{{tokenized.write_datetime}} | datetime | Date/time the tokenized payment method was stored | 📎 |
{{tokenized.mod_datetime}} | datetime | Date/time the tokenized payment method was edited | 📎 |
Brand
Brand
Merge Tag | Type | Description | |
---|---|---|---|
{{brand.brand_id}} | integer | Brand ID # | 📎 |
{{brand.brand}} | string | Deprecated (use "name" instead) | 📎 |
{{brand.name}} | string | Brand name | 📎 |
{{brand.brand_addr1}} | string | Street address 1 | 📎 |
{{brand.brand_addr2}} | string | Street address 1 | 📎 |
{{brand.brand_city}} | string | City | 📎 |
{{brand.brand_state}} | string | State/province | 📎 |
{{brand.brand_postcode}} | string | Postal code | 📎 |
{{brand.brand_country}} | string | Country | 📎 |
{{brand.brand_block}} | string | Printable brand address | 📎 |
{{brand.brand_phone}} | string | Brand phone number | 📎 |
{{brand.brand_email}} | string | Brand email address | 📎 |
{{brand.brand_linkedin}} | string | Brand linkedin | 📎 |
{{brand.brand_twitter}} | string | Brand twitter | 📎 |
{{brand.brand_facebook}} | string | Brand facebook | 📎 |
{{brand.brand_yelp}} | string | Brand yelp | 📎 |
{{brand.brand_youtube}} | string | Brand youtube | 📎 |
{{brand.brand_instagram}} | string | Brand instagram | 📎 |
{{brand.brand_pinterest}} | string | Brand pinterest | 📎 |
{{brand.brand_tiktok}} | string | Brand tiktok | 📎 |
{{brand.custom_1}} | string | Custom field 1 | 📎 |
{{brand.custom_2}} | string | Custom field 2 | 📎 |
{{brand.custom_3}} | string | Custom field 3 | 📎 |
{{brand.custom_4}} | string | Custom field 4 | 📎 |
{{brand.custom_5}} | string | Custom field 5 | 📎 |
{{brand.url_logosmall}} | string | URL to a small version of the brand logo | 📎 |
{{brand.url_logomedium}} | string | URL to a medium version of the brand logo | 📎 |
{{brand.url_logolarge}} | string | URL to a large version of the brand logo | 📎 |
{{brand.url_logohuge}} | string | URL to a huge version of the brand logo | 📎 |
{{brand.url_logooriginal}} | string | URL to the originally uploaded brand logo | 📎 |
Parent Customers
Parent Customers
Merge Tag | Type | Description | |
---|---|---|---|
{{parent_customer.customer_id}} | integer | Customer ID # | 📎 |
{{parent_customer.parent_customer_id}} | integer | Parent customer ID # | 📎 |
{{parent_customer.token}} | string | Customer Token | 📎 |
{{parent_customer.superuser_id}} | integer | Main contact ID # | 📎 |
{{parent_customer.external_key}} | string | External key value | 📎 |
{{parent_customer.display_as}} | string | Deprecated | 📎 |
{{parent_customer.company}} | string | Company/customer name | 📎 |
{{parent_customer.language_id}} | integer | Language ID # | 📎 |
{{parent_customer.currency_id}} | integer | Currency ID # | 📎 |
{{parent_customer.currency_iso4217}} | string | ISO 4217 currency code representation | 📎 |
{{parent_customer.currency_symbol}} | string | Symbol for currency ($, £, etc.) | 📎 |
{{parent_customer.class_id}} | integer | Default class tracking ID # | 📎 |
{{parent_customer.admin_id}} | integer | Admin/Worker ID # | 📎 |
{{parent_customer.campaign_id}} | integer | Campaign/lead source ID # | 📎 |
{{parent_customer.superuser_username}} | string | Main contact username | 📎 |
{{parent_customer.superuser_email}} | string | Main contact e-mail address | 📎 |
{{parent_customer.superuser_name}} | string | Main contact name | 📎 |
{{parent_customer.superuser_first_name}} | string | Main contact first name | 📎 |
{{parent_customer.superuser_last_name}} | string | Main contact last name | 📎 |
{{parent_customer.superuser_phone}} | string | Main contact phone number | 📎 |
{{parent_customer.superuser_token}} | string | Main contact token | 📎 |
{{parent_customer.bill_addr1}} | string | Billing address line 1 | 📎 |
{{parent_customer.bill_addr2}} | string | Billing address line 2 | 📎 |
{{parent_customer.bill_addr3}} | string | Billing address line 3 | 📎 |
{{parent_customer.bill_city}} | string | Billing address city | 📎 |
{{parent_customer.bill_state}} | string | Billing address state/province | 📎 |
{{parent_customer.bill_postcode}} | string | Billing address postal code | 📎 |
{{parent_customer.bill_country}} | string | Billing address country | 📎 |
{{parent_customer.bill_block}} | string | Printable billing address | 📎 |
{{parent_customer.ship_addr1}} | string | Shipping address line 1 | 📎 |
{{parent_customer.ship_addr2}} | string | Shipping address line 2 | 📎 |
{{parent_customer.ship_addr3}} | string | Shipping address line 3 | 📎 |
{{parent_customer.ship_city}} | string | Shipping address city | 📎 |
{{parent_customer.ship_state}} | string | Shipping address state | 📎 |
{{parent_customer.ship_postcode}} | string | Shipping address postal code | 📎 |
{{parent_customer.ship_country}} | string | Shipping address country | 📎 |
{{parent_customer.ship_block}} | string | Printable shipping address | 📎 |
{{parent_customer.custom_1}} | mixed | Custom field #1 | 📎 |
{{parent_customer.custom_2}} | mixed | Custom field #2 | 📎 |
{{parent_customer.custom_3}} | mixed | Custom field #3 | 📎 |
{{parent_customer.custom_4}} | mixed | Custom field #4 | 📎 |
{{parent_customer.custom_5}} | mixed | Custom field #5 | 📎 |
{{parent_customer.custom_6}} | mixed | Custom field #6 | 📎 |
{{parent_customer.custom_7}} | mixed | Custom field #7 | 📎 |
{{parent_customer.custom_8}} | mixed | Custom field #8 | 📎 |
{{parent_customer.custom_9}} | mixed | Custom field #9 | 📎 |
{{parent_customer.custom_10}} | mixed | Custom field #10 | 📎 |
{{parent_customer.custom_11}} | mixed | Custom field #11 | 📎 |
{{parent_customer.custom_12}} | mixed | Custom field #12 | 📎 |
{{parent_customer.custom_13}} | mixed | Custom field #13 | 📎 |
{{parent_customer.custom_14}} | mixed | Custom field #14 | 📎 |
{{parent_customer.custom_15}} | mixed | Custom field #15 | 📎 |
{{parent_customer.custom_16}} | mixed | Custom field #16 | 📎 |
{{parent_customer.custom_17}} | mixed | Custom field #17 | 📎 |
{{parent_customer.custom_18}} | mixed | Custom field #18 | 📎 |
{{parent_customer.custom_19}} | mixed | Custom field #19 | 📎 |
{{parent_customer.custom_20}} | mixed | Custom field #20 | 📎 |
{{parent_customer.write_datetime}} | string | Date/time this customer was created | 📎 |
{{parent_customer.write_ipaddr}} | string | IP address that created this customer | 📎 |
{{parent_customer.mod_datetime}} | string | Date/time this customer was updated | 📎 |
{{parent_customer.mod_ipaddr}} | string | IP address that last updated this customer | 📎 |
{{parent_customer.brand_id}} | integer | Brand ID # | 📎 |
{{parent_customer.class_name}} | string | Class name | 📎 |
{{parent_customer.terms_id}} | integer | Default terms ID # | 📎 |
{{parent_customer.terms_name}} | string | Default payment terms | 📎 |
{{parent_customer.terms_days}} | integer | # of days for the default payment terms | 📎 |
{{parent_customer.url_statementlink}} | string | URL the customer can visit to view their monthly statement | 📎 |
{{parent_customer.url_paymethodlink}} | string | URL the customer can visit to update their payment method | 📎 |
{{parent_customer.url_self}} | string | URL for viewing the customer in the GUI | 📎 |
{{parent_customer.admin_name}} | string | Admin/Worker Name | 📎 |
{{parent_customer.admin_email}} | string | Admin/Worker Email | 📎 |
{{parent_customer.customer_status_id}} | integer | Customer Status ID # | 📎 |
{{parent_customer.customer_status_name}} | string | Human-friendly customer status | 📎 |
{{parent_customer.customer_status_str}} | string | Status string | 📎 |
{{parent_customer.customer_status_state}} | string | Status code | 📎 |
{{parent_customer.default_paymethod}} | string | Default payment method type | 📎 |
{{parent_customer.default_creditcard_id}} | integer | Default credit card ID # (if the default payment method is a credit card) | 📎 |
{{parent_customer.default_ach_id}} | integer | Default ACH/eCheck ID # (if the default payment method is ACH) | 📎 |
{{parent_customer.no_taxes}} | boolean | Flag to disable charging of taxes | 📎 |
{{parent_customer.no_dunning}} | boolean | Flag to disable dunning | 📎 |
{{parent_customer.no_latefees}} | boolean | Flag to disable late fees | 📎 |
{{parent_customer.invoice_delivery}} | enum[print,email] | Delivery method for initial invoices ("email" or "print" for printed hard-copy) | 📎 |
{{parent_customer.dunning_delivery}} | enum[print,email] | Delivery method for dunning/reminder invoices ("email" or "print" for printed hard-copy via Docsaway, Lob, etc.) | 📎 |
{{parent_customer.tax_ident}} | string | Tax ID #/VAT # | 📎 |
{{parent_customer.total}} | float | The sum total amount of all invoices ever issued to this customer (lifetime value) | 📎 |
{{parent_customer.balance}} | float | Balance due for this customer | 📎 |
{{parent_customer.paid}} | float | The lifetime net total payments minus refunds this customer has made | 📎 |
{{parent_customer.mrr}} | float | Monthly recurring revenue $ | 📎 |
{{parent_customer.arr}} | float | Annual recurring revenue $ | 📎 |
{{parent_customer.tags}} | array | A list of tags | 📎 |
Formatting
There are many formatting options available to you to format data.
abs
The abs
filter returns the absolute value.
{# number = -5 #}
{{ number|abs }}
{# outputs 5 #}
date
The date
filter formats a date.
{# the_date = "2016-11-28" #}
{{ the_date|date("m/d/Y") }}
{# outputs 11/28/2018 #}
You can use any of the following formatters:
- d – Day of the month, 2 digits with leading zeros, 01 to 31
- D – A textual representation of a day, three letters, Mon through Sun
- j – Day of the month without leading, zeros 1 to 31
- l – (lowercase ‘L’) A full textual representation of the day of the week, Sunday through Saturday
- S – English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j.
- F – A full textual representation of a month, such as January or March, January through December
- m – Numeric representation of a month, with leading zeros, 01 through 12
- M – A short textual representation of a month, three letters, Jan through Dec
- n – Numeric representation of a month, without leading zeros, 1 through 12
- t – Number of days in the given month, 28 through 31
- Y – A full numeric representation of a year, 4 digits. Examples: 1999 or 2003
- y – A two digit representation of a year. Examples: 99 or 03
- a – Lowercase Ante meridiem and Post meridiem, am or pm
- A – Uppercase Ante meridiem and Post meridiem, AM or PM
- g – 12-hour format of an hour without leading zeros, 1 through 12
- G – 24-hour format of an hour without leading zeros, 0 through 23
- h – 12-hour format of an hour with leading zeros, 01 through 12
- H – 24-hour format of an hour with leading zeros, 00 through 23
- O – Difference to Greenwich time (GMT) in hours. Example: +0200
- P – Difference to Greenwich time (GMT) with colon between hours and minutes. Example: +02:00
- T – Timezone abbreviation. Examples: EST, MDT ...
- c – ISO 8601 date. Example: 2004-02-12T15:19:21+00:00
- r – RFC 2822 formatted date. Example: Thu, 21 Dec 2000 16:01:07 +0200
date_modify
The date_modify
filter allows you to modify a date by adding or subtracting days, months etc.
For example, if you wanted to generate an invoice ahead of time for a customer in May 2017, but the period of service it covers is June, you could put in the item description:
Service for {{invoice.date|date_modify("+1 month")|date("F Y") }}
This will print "Service for June 2017"
default
The default
filter will set a default value for a value that is undefined or empty.
{{ var|default('var is not defined') }}
{{ var.foo|default('foo item on var is not defined') }}
{{var['foo']|default('foo item on var is not defined') }}
{{ ''|default('passed var is empty') }}
format_pricing
The format_pricing
formats a pricing tier.
{{ package.line_items[0]|format_pricing }}
For flat pricing, outputs a simple dollar figure:
$500.00
For more complex pricing, outputs things like:
Unit pricing
One-time Setup $ 1,000.00
Base price $ 500.00
1 to 1000 at $ 1.15/cycle/unit
1001 to 2000 at $ 1.10/cycle/unit
lower
The lower
filter converts a value to lowercase.
{{ 'CHARGEOVER'|lower }}
Will print "chargeover"
number_format
The number_format
filter formats numbers.
You can control the number of decimal places, decimal point, and thousands separator using the additional arguments.
If no formatting options are provided then the default formatting options are:
0
decimal places..
as the decimal point.,
as the thousands separator.
{{ 2345.353|number_format }}
// Will print 2,345
{{ 2345.353|number_format(2) }}
// Will print 2,345.35
{{ 9800.3623|number_format(3, '.', ',') }}
// Will print 9,800.362
replace
The replace
filter will format a given string by replacing placeholders.
For example, if you had a string like the one below, and the customer.company name you were referencing was 'John Doe':
{{"I like %this%."|replace({'%this%': customer.company})}}
will print "I like John Doe."
A common use example of the replace filter is:
|replace("American Express", "AMEX")
will print "AMEX" in place of American Express.
round
The round
filter rounds a number to a specified precision.
For example:
{{ 10.5678|round }}
will print 11
{{ 10.5678|round(1) }}
will print 10.6
{{ 10.5678|round(2) }}
will print 10.57
{{ 10.5678|round(3) }}
will print 10.568
The round
filter takes two optional arguments; the first one specifies the precision (default is
0
) and the second the rounding method (default is common
):
common
rounds either up or down (rounds the value up when it is halfway or more to the next whole number, rounds the value down when it is less than half way)ceil
always rounds upfloor
always rounds down
{{ 10.56|round }}
will print 11
{{ 10.44|round }}
will print 10
{{ 10.44|round(1, 'ceil') }}
will print 10.5
{{ 10.789|round(1, 'floor') }}
will print 10.7
title
The title
filter returns a title-cased version of the value (each word starts with an uppercase
letter).
{{ 'chargeover is great'|title }}
Will print "ChargeOver Is Great"
upper
The upper
filter converts a value to uppercase.
{{ 'chargeover'|upper }}
Will print "CHARGEOVER"
Template Logic
ChargeOver supports a simple template syntax to allow you to build IF/ELSE statements (and more) into your emails.
Feel free to reach out to our support team for more assistance with templating.
IF/ELSE blocks
You can use IF/ELSE statements to implement logic within your templates.
A common example is customizing language depending on how overdue an invoice is.
{% if invoice.days_overdue > 90 %}
Your invoice is really, REALLY overdue!
{% else %}
Your invoice is overdue.
{% endif %}
FOR loops
You can use loops to iterate through collections of objects.
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
FOR loops - lists of invoices
The Send multiple invoices
email template includes a list of invoices.
{% set sum_of_invoice_balances = 0 %}
{% for invoice in invoices %}
* Invoice {{ invoice.refnumber }} - balance: {{ invoice.balance|number_format(2) }}
{% set sum_of_invoice_balances = sum_of_invoice_balances + invoice.balance %}
{% endfor %}
Total balance due: {{ sum_of_invoice_balances|number_format(2) }}
FOR loops - lines on an invoice
Looping through a list of lines on an invoice.
{% for line in invoice.line_items %}
Product: {{ line.item_name }}
Rate: {{invoice.currency_symbol}}{{ line.line_rate }}
Quantity: {{ line.line_quantity }}
{% endfor %}
FOR loops - lines on an subscription
Looping through a list of lines on an subscription.
{% for line in package.line_items %}
Product: {{ line.item_name }}
Quantity: {{ line.line_quantity }}
{% endfor %}
Logic / Math
Expressions can be used to do math and logic directly within templates.
Math
+
Adds two objects together (the operands are casted to numbers). {{ 1 + 1 }}
is 2
-
Subtracts the second number from the first one. {{ 3 - 2 }}
is 1
/
Divides two numbers. The returned value will be a floating point number. {{ 1 / 2 }}
is 0.5
*
Multiplies the left operand with the right one. {{ 2 * 2 }}
would return 4
Logic
and
Returns true if the left and the right operands are both true.
or
Returns true if the left or the right operand is true.
not
Negates a statement.
(expr)
Groups an expression.