Text & Layout
| Command | Example | Description |
PRINT:<text> | PRINT:Hello World | Print a line of text followed by a newline |
NEW_LINE | NEW_LINE | Feed one blank line |
CENTER | CENTER | Align subsequent text to center |
LEFT | LEFT | Align subsequent text to the left (default) |
RIGHT | RIGHT | Align subsequent text to the right |
Text Style
| Command | Example | Description |
SET_BOLD | SET_BOLD | Enable bold text |
UNSET_BOLD | UNSET_BOLD | Disable bold text |
SET_UNDERLINE | SET_UNDERLINE | Enable underline (double weight) |
UNSET_UNDERLINE | UNSET_UNDERLINE | Disable underline |
SET_INVERTED | SET_INVERTED | White text on black background |
UNSET_INVERTED | UNSET_INVERTED | Restore normal text colors |
SET_FONT_A | SET_FONT_A | Switch to Font A (normal, wider) |
SET_FONT_B | SET_FONT_B | Switch to Font B (smaller, condensed) |
WIDTH:<n> | WIDTH:2 | Set character width multiplier (1–8) |
HEIGHT:<n> | HEIGHT:2 | Set character height multiplier (1–8) |
💡
WIDTH:2 + HEIGHT:2 gives double-size text. Always reset with WIDTH:1 / HEIGHT:1 after.
Tables
Multi-column aligned rows with optional per-cell styling.
TABLE:32,4,12
Product Name,Qty,Price
+ Addon, ,0.500
*TOTAL*, ,*TND 5.00*
TABLE_END
| Command | Description |
TABLE:<w1>,<w2>,<w3> | Start a table with column widths in characters. Columns are left-aligned except the last, which is right-aligned. |
<col1>,<col2>,<col3> | A table row — values separated by commas, one row per line. |
TABLE_END | Close the table. |
ℹ️
Cell style markers — wrap cell content to apply styles: *bold*, ^font-b^, !inverted!
Barcodes & QR
| Command | Example | Description |
QR_CODE:<text> | QR_CODE:https://example.com | Print a QR code. Text can be any string or URL. |
BAR_CODE:<TYPE>:<data> | BAR_CODE:EAN:6192008320410 | Print a 1D barcode. |
ℹ️
Supported barcode types: EAN / EAN13, EAN8, UPC-A, UPC-E, CODE39, CODE128, ITF, CODABAR, CODE93
Hardware
| Command | Description |
CUT_PAPER | Cut the paper. Always place at the very end of a template. |
OPEN_DRAWER | Send a pulse to open the cash drawer. |
Template Placeholders
These are replaced at render time with live order and venue data.
Venue
| Placeholder | Description |
{{RESTAURANT_NAME}} | Venue name |
{{RESTAURANT_ADDRESS}} | Venue address |
{{RESTAURANT_PHONE}} | Venue phone |
{{RESTAURANT_EMAIL}} | Venue email |
{{TAX_ID}} | Tax ID |
{{LICENSE_NUMBER}} | License number |
Date & Time
| Placeholder | Description |
{{DATE}} | Current date — dd/mm/yyyy |
{{TIME}} | Current time — HH:MM |
{{DATE_TIME}} | Combined — dd/mm/yyyy HH:MM:SS |
Order
| Placeholder | Description |
{{ORDER_NUMBER}} | Ticket / order number |
{{ORDER_TIME}} | Time the order was placed |
{{ORDER_NOTE}} | Free-text note attached to the order |
{{ORDER_SOURCE}} | Source (e.g. POS System) |
{{CUSTOMER_NAME}} | Customer name, defaults to Walk-in |
{{STAFF_NAME}} | Staff member who placed the order |
{{PAYMENT_STATUS}} | e.g. Paid / Unpaid |
{{PAYMENT_METHOD}} | e.g. Cash / Card |
{{TOTAL_AMOUNT}} | Total formatted as TND x.xx |
Product Blocks
These expand into multi-line command sequences at render time.
| Placeholder | Description |
{{PRODUCT_TABLE}} | Full table: product name, qty, price per line + addon prices + total row |
{{PRODUCT_LIST}} | Compact single-line list: Item ×2, Other ×1 |
{{KITCHEN_PRODUCT_TABLE}} | Items + addons only, no prices — for kitchen tickets |
Minimal Template Example
CENTER
SET_BOLD
PRINT:{{RESTAURANT_NAME}}
UNSET_BOLD
PRINT:{{RESTAURANT_ADDRESS}}
NEW_LINE
LEFT
PRINT:Date : {{DATE}} {{TIME}}
PRINT:Order #{{ORDER_NUMBER}}
NEW_LINE
PRINT:--------------------------------
NEW_LINE
{{PRODUCT_TABLE}}
NEW_LINE
PRINT:--------------------------------
NEW_LINE
CENTER
PRINT:Thank you!
NEW_LINE
NEW_LINE
NEW_LINE
NEW_LINE
CUT_PAPER