Skip to main content
Print Templates define the layout and content of printed documents — customer receipts, kitchen order dockets, shipping labels, and more. You can create multiple templates and assign them to different printers via Routing Rules. A template uses control codes (formatting) and variables (dynamic values) to create repeatable, data-driven output.
Print Templates editor showing a receipt layout with header, line items, and footer sections

Template Types and Device Pairing

Each template has a type that determines which printer device types can use it: When you create a routing rule and select a printer device, only templates of the matching type appear in the template dropdown. For example, a KDS (kitchen display) printer can only use Kitchen templates.

Template Fields

Control Codes

Control codes are special directives that format the output. Insert them directly into your header or footer text:

Control Code Example

Output (on 58mm paper):
Test on your actual printer. Template previews in the editor use screen fonts; thermal printers have different character sets and line widths. What looks centered on screen may not center on the printer. Create a test order and use Test Print to verify the layout before deploying to production.

Variables

Variables are placeholders that the system replaces with actual data when printing. Insert them in double braces: {{variable_name}}.

Common Variables (All Templates)

Receipt-Specific Variables

Kitchen Ticket Variables

Label-Specific Variables

Not all variables apply to all template types. For example, {{table_number}} is only available in Kitchen templates. The template editor sidebar shows available variables for your selected template type. If a variable is empty (e.g., no customer name was entered), it prints as blank.

Create a Template

1

Go to Manage → Print Templates

Click Print Templates in the left sidebar.
2

Click New Template

Select the template Type (Receipt, Kitchen, or Label) and give it a Name.
3

Design the layout

Use the editor to write header text, configure line item display, and add footer content. Use control codes for formatting and variables for dynamic data. The right sidebar shows available variables and control codes for your template type.
4

Set as default (optional)

Toggle Default to use this template as the fallback when no routing rule specifies an override.
5

Save

Click Create.

Assign to Printers via Routing Rules

Go to Manage → Printers → Routing Rules and assign a template to a routing rule. This controls which template prints on which printer, and for which items or order modes. For example:
  • Route all dine-in orders to a receipt printer with the “Dine-In Receipt” template.
  • Route all appetizers to the kitchen display with the “Appetizers Chit” template.
  • Route all beverages to a different display with the “Bar Ticket” template.
Each rule can have a template override. If no override is set, the printer’s default template (set when the printer was created) is used.
If you delete a template that is currently assigned to a routing rule, that routing rule will fall back to the printer’s default template for that type. Check your routing rules after deleting any template to verify the output is still correct.

Test Print

On the template list, hover over a template and click the Test Print icon to send a sample output to the printer assigned as your default for that template type. This is the best way to verify layout and formatting on your actual hardware before going live.

Frequently Asked Questions

Upload your logo under Manage → Settings → Logo. Once uploaded, use the <LOGO> control code in the template header section to include it on printed receipts. Logo printing requires a printer that supports image printing (most modern thermal printers do). Test print to confirm your printer can render it.
Yes. Create two receipt templates (e.g. Online Order Receipt and Dine-In Receipt) and set up separate routing rules in Printers → Routing Rules — one targeting Dine-In order mode and one targeting Delivery/Pickup. Assign the appropriate template to each rule. The same receipt printer device can use different templates based on the rule.
Control codes (<C>, <EB>, <DB>, etc.) format the text itself — bold, centered, double-width, etc. Variables ({{ticket_number}}, {{date}}, etc.) are replaced with actual data at print time. You can use both together: <C><EB>Order #{{ticket_number}}</EB></C> creates a centered, bold order number.
The editor preview uses your screen’s fonts; thermal printers have different character sets and line widths. What looks good on screen may wrap differently on paper. For 58mm paper, assume ~32–40 characters per line; for 80mm, ~48–54 characters. Use Test Print on your actual device and adjust line breaks or text length as needed. Also check: printer supports the font/control codes, paper width matches the template design.
Yes, use the <QR> control code. The system automatically generates a QR code (typically linking to order status or reorder URL) and prints it on the receipt or ticket. Your printer must support image printing. Test print to confirm the QR code scans correctly on your hardware.

Printers

Set up printer devices and routing rules that use these templates

Settings

Upload your business logo and configure global settings

Locations

Configure address details and other location info that variables pull from

Printer Not Printing

Diagnose and troubleshoot printer issues