Create a POS cart print template
On this page
Cart print templates let staff print a summary of the current POS cart before an order is completed. This is useful for producing customer quotes, approval documents, or layby estimates.
Cart templates use the same Liquid and print markup syntax as receipt templates, but receive the current cart as their data context instead of a completed order.
Add a cart template
- In Salesforce, open POS Settings for your store.
- On the Printer Templates tab, find the Cart template setting.
- Click New or select an existing template record to edit.
- Give the template a Name.
- Set Printer Type to
Receipt,Document, orLabeldepending on your output method. - Set Context to
Cart. - Enter your Liquid template in the Content field. A sample is provided below.
- Click Save.
- Under Cart template, select the template you just saved.
Sample cart template (thermal receipt)
liquid
{document word-wrap=true}
{center}
{bold}
QUOTE
{endBold}
{line}
{left}
{table
cols=2
margin=1
align=[left,right]
row=["Date","{{ 'now' | date: "%d/%m/%Y" }}"]
{% if current_cart.contact %}
row=["Customer","{{ current_cart.contact.name }}"]
{% endif %}
}
{line}
{bold}
{table
cols=3
margin=1
align=[left,right,right]
width=[*,4,8]
row=["Item","Qty","Price"]
}
{endBold}
{rule}
{table
cols=3
margin=1
align=[left,right,right]
width=[*,4,8]
{% for item in current_cart.items %}
row=["{{ item.name }}", "{{ item.quantity }}", "{{ item.data.s_c__unit_price__c | money }}"]
{% endfor %}
}
{rule}
{bold}
{table
cols=2
margin=1
align=[left,right]
width=[*,8]
row=["Total","{{ current_cart.total | money }}"]
}
{endBold}
{line}
{center}
This is a quote only. Prices subject to change.
Liquid context variables
Cart templates have access to the following Liquid variables:
| Variable | Description |
|---|---|
current_cart.items |
Collection of items in the cart |
current_cart.items[].name |
Item display name |
current_cart.items[].quantity |
Item quantity |
current_cart.items[].data.s_c__unit_price__c |
Item unit price (use | money filter to format) |
current_cart.contact |
Contact assigned to the cart (may be nil) |
current_cart.contact.name |
Customer name |
current_cart.contact.email |
Customer email |
current_cart.total |
Cart total |
current_cart.item_count |
Total quantity across all items |
current_cart.id |
Cart token |
Trigger cart printing
Once a cart template is configured, add a print:cart action button to your POS layout. In a Pos_Action_Item__c record:
- Action:
print:cart - Params: leave empty to use the settings template. Supports two optional parameters:
print_template_sfid=<Salesforce ID>— overrides the settings template with a specific templatecart_sc_id=<Cart ID>— specifies a cart to print; if omitted, uses the current cart
See POS layouts for how to add action items to a layout.
:::note
The cart must be loaded in the POS for printing to work. If no cart is active and no cart_sc_id is provided, the action exits silently.
:::