Manage print templates in the Restaurant POS app

Manage print templates in the Restaurant POS app

What
With the print templates in the Restaurant POS app, print templates can be created, edited, and customized.

Where
Restaurant POS app: Menu > Templates.


Introduction

The print template list has been revised. It now provides you with a much clearer overview of all available receipt templates – whether stored locally, store-specific, or globally defined. From here, you can manage templates, create new ones, or access the template editor.


Opening the editor

The print templates can be accessed via the Restaurant POS app: Menu > Templates.






Overview columns

Name: The name of the template.

Receipt type: Indicates which type of receipt the template is used for, e.g.
  1. Hospitality receipt
  2. Invoice receipt
  3. Cash register closing
  4. Correction receipt (kitchen)

Availability: This column clearly shows where a template is valid
  1. Global default template: System template, read-only, cannot be deleted.
  2. All stores: Template is used across all locations.
  3. This store: Template applies only to your current store.
  4. Device: Stored locally on this device – ideal for testing or alternative layouts.
    This allows you to immediately see the scope of a template.

Printer: Shows which printer the template is assigned to.

Actions: The following functions are available per template:
  1. Edit → opens the template editor.
  2. Download → saves the template as a JSON file.
  3. Delete → not available for global standard templates.




Hide default templates: Hides the global, read-only default templates from the list.

Resync (Resynchronize): Updates the entire template list.

Import template: You can import templates in two ways:
  1. Paste JSON text directly: Convenient for support cases or quick restoration.
  2. Import from file: To load previously exported templates (JSON files).
Create new template: When creating a new template, two options are available:
  1. Blank template – without content or settings: Ideal for completely custom designs.
  2. Copy existing template: You can copy any template you have access to, whether it is:
    1. local
    2. store-specific
    3. global default template
The template is fully duplicated and can then be edited.




Template editor – design & customize print templates

Introduction
With the template editor, you can design the layout of your receipts – for example, invoices or kitchen slips.
The interface has been completely redesigned: clear, intuitive, and ideal for creating custom layouts or layouts that apply across multiple stores.

The template editor consists of two sections:
  1. General – Template properties
  2. Style – Designing the actual layout
After editing, you can save the template locally and then publish it for one or all stores.



1. "General" tab – template properties


In the "General" tab, you define the basic structure of the template.

Name: The name of the template as it appears in the print template list.

Receipt type: Here you specify which receipt the template will be used for (e.g., invoice, hospitality receipt, cash register closing).

Paper width: The width of the receipt printer (e.g., 58 mm or 80 mm).
This setting affects the layout width and image sizes in the Style section.

This tab contains only the basic key settings of the template — the actual design work takes place in the "Style" tab.



 


2. "Style" tab – designing the receipt layout

In the "Style" tab, you build the layout using various elements.
All elements can be positioned using drag and drop.






Elements in the style section

Text row


A text row is an element that allows you to place multiple text fields next to each other in a single line. It is ideal for tabular or column-based representations on the receipt, such as item name – quantity – price.

Within a text row, you can add as many text fields as needed, each containing its own content:
  1. static text (e.g., "Quantity")
  2. dynamic values using object + field (e.g., order_number, article_name, article_price)

The width of the text fields adjusts dynamically so that all content is displayed neatly in one line. Each Text Row can be formatted and, if necessary, printed only under specific conditions.

Typical use cases:
  1. tabular item lines
  2. combined layouts on a single line
  3. values that logically belong together and should be printed side by side




Text field



A text field is a single text element that you can place freely within the layout.
It is suitable for simple text components that should stand alone in a line — such as headings, notes, totals, or individual values.

A text field can contain:
  1. static text (e.g., "Thank you for your order")
  2. dynamic data from an object + field (e.g., order number, date, customer)

Text fields can be customized in font size, alignment, and conditions, and they form the basis for all simple text outputs that do not need to be displayed as a table.

Typical use cases:
  1. Headings ("Items", "Payment section")
  2. Single values such as total amount or order channel
  3. Notices and footer texts




Barcode



Places a barcode on the receipt, e.g., for invoice numbers or order IDs.

You can select the barcode type, width/height, and which field from the order should be used as the code.

Typically used for pickup codes, invoice numbers, or internal process numbers.

Code 128 is a barcode standard that allows encoding three different character sets from the ASCII character set.
  1. Code 128 A encodes uppercase letters, numbers, control characters, and special characters.
  2. Code 128 B includes uppercase and lowercase letters, numbers, control characters, and special characters.




QR code



Inserts a QR code, e.g., for website links, tracking URLs, or navigation links for drivers.
You can freely configure the size, error correction level, and data source (object/field).

Error correction level (QR code)
The error correction level determines how resilient a QR code is to damage or poor print quality.
The higher the level, the more of the code can be missing or covered — but the larger and denser the QR code becomes.

The levels:
  1. L (Low) – lowest error correction, smallest QR code
    1. Suitable for clean, high-quality prints.
  2. M (Medium) – standard level
    1. Good balance between size and robustness.
  3. Q (Quartile) – higher error correction
    1. Still readable even when partially damaged.
  4. H (High) – highest error correction
    1. Can withstand the most obstruction or dirt, but produces the largest QR code.

In short:
  1. Higher level = more robust, but larger
  2. Lower level = smaller, but more sensitive




Separator



The separator is used to clearly divide sections of the receipt. It consists of one or multiple freely definable characters that are automatically repeated across the entire width of the receipt.

1. What the separator can do
You can enter any character or combination of characters, and the editor automatically repeats it until the entire line is filled.

2. Set the number of repetitions (lines)
You can define how many lines of the separator should be printed.

Examples:

1 line:
-+-+-+-+-+-+-+-+-+


2 lines:
------------------
------------------


3 lines, e.g., using *:
******************
******************
******************


3. Conditional printing ("Print only if…")
As with all style elements, you can specify that the separator should only be printed if a certain object, table, or field exists.
This allows you to print the separator only when items exist or when certain additional sections should appear.




Cut



Cuts the receipt.
Inserts a cut command for the printer. At this point, the receipt printer will cut the paper (e.g., between the customer section and a Google Maps QR code for the driver).




Image


Allows you to insert a logo or graphic.
The maximum width depends on the selected paper width.

Maximum image width:
  1. 80 mm paper: max. 76 mm (538 px at 180 dpi / 607 px at 203 dpi)
  2. 58 mm paper: max. 54 mm (382 px at 180 dpi / 431 px at 203 dpi)



3. Working with data – clearly explained

To integrate order information into the layout, the editor uses a clear structure:

Objects
An object groups data that logically belongs together, e.g., order, customer, or item position.

Fields
Individual values within an object, such as:
  1. order number
  2. date
  3. customer name

Tables
Lists that contain multiple entries, for example:
  1. all items in an order
  2. all toppings
  3. all discounts

Tables automatically repeat the corresponding element for each entry.

This data structure enables dynamic, flexibly generated receipts.




4. "Print only if …" – element-specific output

Each element in the style section can optionally be printed only under certain conditions.

How it works:
  1. Enable the checkbox "Print only if …".
  2. Select an object or table that must exist.
  3. The element will only be printed if this data exists.
  4. Optionally, you can also select a field that must contain a value.

Examples of conditions:
  1. A note field, e.g., "Doorbell sign", is printed only if a doorbell sign was specified.
  2. A section with company information appears only for corporate customers.
  3. Additional information for delivery orders appears only if the order includes a delivery address.

Benefit:
You can create a universal template that automatically determines which sections to print — depending on which information is present in the order.




5. Save & publish

Save: When you create a new template or edit an existing one, it is initially saved only on your computer or tablet.

Publish: To publish a print template (i.e., make it active for one store or all stores), a user needs the corresponding role: Print template editor (POS app).

Administrators have this permission by default and do not need any additional assignment.

Employees without administrator rights must be assigned this role manually.

Assigning the role:
In the administration area under Admin: Personell management > Employee > Edit > Open Password and Authorization > Assign user groups > Check: Print template editor (POS app) > Save changes.
After saving a print template in the Restaurant POS app, the button changes to "Publish".

When publishing, you can choose:
  1. This store → template is valid only in this store.
  2. All stores → template is used across all stores.
The layout becomes active in live operation only after publishing.






Overview of field values and their meaning

Customer data

NameDescriptionObjectField
Customer NumberUnique internal customer identifiercustomerordercustomer_customer_number
First NameCustomer’s first namecustomerordercustomer_user_name
Last NameCustomer’s last namecustomerordercustomer_user_surname
StreetCustomer’s streetcustomerordercustomer_customer_street
Street NumberCustomer’s street numbercustomerordercustomer_customer_streetnumber
ZIP CodeCustomer’s ZIP codecustomerordercustomer_customer_zip
CityCustomer’s citycustomerordercustomer_customer_city
EmailCustomer’s email addresscustomerordercustomer_customer_email
TelephoneCustomer’s phone numbercustomerordercustomer_customer_telephone
Company NameCustomer’s company namecustomerordercustomer_customer_companyname
DepartmentCustomer’s departmentcustomerordercustomer_customer_department
Internal CommentInternal comment about the customercustomerordercustomer_customer_internalComment
PathfinderDirections to customer’s locationcustomerordercustomer_customer_pathfinder
DoorbellDoorbell informationcustomerordercustomer_customer_doorbell
LatitudeGeographical latitudecustomergeocoding_lat
LongitudeGeographical longitudecustomergeocoding_lng
GenderCustomer’s gendercustomerordercustomer_user_gender
AliasCustomer’s aliascustomerordercustomer_customer_alias
StaircaseStaircase informationcustomerordercustomer_customer_locationDetails
FloorFloor informationcustomerordercustomer_customer_locationDetails2
DoorDoor informationcustomerordercustomer_customer_locationDetails3
Order CountTotal number of orders by customercustomercustomer_ordercount


Order data general

NameDescriptionObjectField
Cashpoint NameName of the currently logged-in cashpointcashpointcashpoint_name
Order IDUnique technical order identifierorderorder_id
Customer IDLink to associated customerorderfk_customer_id
Inhouse OrderIndicates if order was placed inhouseorderorder_isInhouseOrder
Is PreorderIndicates if order is a preorderorderorder_isPreorder
Pre-order DateDate of pre-orderorderorder_preorderdate
Expected Delivery TimeExpected delivery time/dateorderorder_expectedDeliveryTime
Delivery Area NameName of the delivery area (internal)deliveryareadeliveryarea_name
Order CommentFree-text comment for the orderorderorder_comment
CanceledIndicates if order has been canceledorderorder_isCanceled
Cancellation CommentReason or note for cancellationorderorder_cancellationComment
Order Token Reference IDUnique reference ID for order tokenorderordertoken_referenceId
Delivery Portal Account IDReference to delivery portal accountorderfk_deliveryportalaccount_id
Client IDIdentifier for client/tenantorderfk_mandant_id


Invoice data

NameDescriptionObjectField
Billing NumberSequential invoice numberorderorder_billingnumber
Previous Billing NumberReference to previous billing numberorderpreviousBillingNumber
Billing DateDate when invoice was issuedorderorder_billingdate
Total AmountTotal amount of the order incl. VATorderorder_amount
Net AmountTotal excluding VATorderorder_amount_netto
Tax OverallTotal tax amount of the orderorderorder_amount_taxoverall
DiscountTotal discount applied to the orderorderorder_discount
TipTotal tip amountorderorder_tip


Billpositions

NameDescriptionObjectField
Invoice Position IDUnique ID of the invoice linebillpositionsorderbillposition_id
Invoice Position TypeType/category of the position (e.g., item, discount, voucher)billpositionsorderbillposition_type
Is a VoucherFlags if this position is a voucher (0/1)billpositionsorderbillposition_isVoucher
Position AmountTotal amount of the positionbillpositionsorderbillposition_amount
Position ValueBase value of the position (without expansions)billpositionsorderbillposition_value
Expanded Position ValueValue including expansions/modifiersbillpositionsorderbillposition_valueExpanded
Refund AmountAmount refunded for this positionbillpositionsorderbillposition_refundvalue
Expanded Refund AmountRefunded amount including expansionsbillpositionsorderbillposition_refundvalueExpanded
Position Documentation ValueInternal documentation valuebillpositionsorderbillposition_docut
Value for Tax CalculationTax calculation basisbillpositionsorderbillposition_valueForTax
Tax AmountTax amount of the positionbillpositionsorderbillposition_tax
Tax CharacterTax characteristic/type (e.g., standard, reduced)billpositionsorderbillposition_taxCharacter
Position NameDisplay name of the positionbillpositionsorderbillposition_name
Menu Name of the PositionMenu/catalog name of the positionbillpositionsorderbillposition_menuname
Position Comment NameLabel of the position commentbillpositionsorderbillpositioncomment_name
Position Info IDID of a supplemental position infobillpositionsorderbillpositioninfo_id
Position Box IDID of the position box/groupbillpositionsorderbillpositionbox_id
Position Box NameName of the position box/groupbillpositionsorderbillpositionbox_name
Is Not Matching Article IDArticle ID mismatch flag (0/1)billpositionsorderbillposition_isNotMatchingArticleId
Is RefundFlags a refund position (0/1)billpositionsorderbillposition_isRefund
Voucher Position Order IDReference to related voucher positionbillpositionsfk_orderbillposition_id_voucher
Commodity Group IDProduct group IDbillpositionscommoditygroup_id
Commodity Group NameProduct group namebillpositionscommoditygroup_name
Commodity Group ListList within the product groupbillpositionscommoditygroup_list
Kitchen Name of the ArticleKitchen display namebillpositionsarticle_kitchenname
Mark on ReceiptVisual mark/flag on receiptbillpositionsarticle_markonbon
Preparation Time of the ArticlePlanned preparation timebillpositionsarticle_preparationtime
Article NumberInternal article numberbillpositionsarticle_articlenumber
Article DescriptionItem descriptionbillpositionsarticle_desc
Kitchen Description of the ArticleKitchen-specific descriptionbillpositionsarticle_desc_kitchen
Position Sequence in POSOrdering index in POSbillpositionsarticle_sequence_pos
Returnable Type of the PositionReturnability type (e.g., deposit)billpositionsorderbillposition_returnableType
Returnable Type User Token ResultUser token check result for returnsbillpositionsorderbillposition_returnableTypeUserTokenResult
Print LevelOutput level/routing for printingbillpositionsposprint_level


Order tax positions

NameDescriptionObjectField
Tax Amount of the PositionTax amount per tax positionorderTaxpositionsordertaxposition_tax
Tax Value of the PositionTax base/net value per tax positionorderTaxpositionsordertaxposition_taxvalue
Tax Character of the PositionTax characteristic/type of the positionorderTaxpositionsordertaxposition_taxCharacter


Payment

NameDescriptionObjectField
Payment AmountAmount of the payment entrypaymentsorderpayments_value
Payment Type IDInternal ID of payment typepaymentspaymenttype_id
Payment Type NameDisplay name of the payment typepaymentspaymenttype_name
Payment Type Constant NameConstant/internal payment type namepaymentspaymenttype_constantname
Payment Type Category NameCategory of the payment typepaymentspaymenttypecategory_name
Is Cash PaymentIndicates cash payment (0/1)paymentspaymenttypecategory_isCash
Is Online PaymentIndicates online payment (0/1)paymentspaymenttypecategory_isOnline
Is Card PaymentIndicates card payment (0/1)paymentspaymenttypecategory_isCard
App Payment MethodApp-reported payment methodpaymentsapppayment_method
App Payment TranscodeTransaction code of the app paymentpaymentsapppayment_transcode


Loyalty & coupons

NameDescriptionObjectField
Loyalty – Points BalanceCurrent loyalty points balanceloyaltyloyalty_points_balance
Loyalty – Points EarnedPoints earned with this orderloyaltyloyalty_points_earned
Loyalty – Points SpentPoints redeemed for this orderloyaltyloyalty_points_spent
Loyalty – Discount AmountDiscount value from redeemed pointsloyaltyloyalty_discount_amount
Coupon – CodeApplied coupon codecouponcoupon_code
Coupon – ValueValue of the coupon (amount or percentage)couponcoupon_value
Coupon – DescriptionCoupon description/labelcouponcoupon_description
Coupon – Expiry DateExpiry date of the couponcouponcoupon_expiry


Language

NameDescriptionObjectField
Language – CodeLanguage code (e.g., de, en, nl)languagelanguage_code
Language – NameDisplay name of the languagelanguagelanguage_name


Cash report details

NameDescriptionObjectField
Cash Report Detail IDUnique ID of the cash report entrycashreportDetailscashreportdetail_id
NameName/label of the cash report entrycashreportDetailscashreportdetail_name
CategoryAssigned category (e.g., sales, refund, pay-in, pay-out)cashreportDetailscashreportdetail_category
ValueAmount of the entrycashreportDetailscashreportdetail_value
Tax BaseTax base/net value used for VATcashreportDetailscashreportdetail_taxvalue
Tax AmountVAT/tax amount of the entrycashreportDetailscashreportdetail_taxamount
Cash (0/1)Flag indicating cash (0 = no, 1 = yes)cashreportDetailscashreportdetail_isCash
TypeType of the cash report entry (system-dependent)cashreportDetailscashreportdetail_type


Employee

NameDescriptionObjectField
Staff numberEmployee’s stuff numberorderEmployeeorderEmployee_employee_number
Employee first nameFirst name of the employeeorderEmployeeorderEmployee_user_name
Employee last nameLast name of the employeeorderEmployeeorderEmployee_user_surname



    • Related Articles

    • Restaurant POS app guide

      What This guide gives you an overview of the restaurant POS app. Where Restaurant POS app. Download Restaurant POS App The Restaurant POS app can be downloaded from the following links: iOS: ...
    • Release Notes Restaurant POS App 0.9.38 - March 13, 2025

      Bitmap mode (for fonts, symbols, and graphics) With bitmap mode, you can print all fonts, symbols, and graphics - regardless of which printer you use. How to activate bitmap mode: Go to the "Restaurant POS app". Go to "Manage printers" or select ...
    • Print server settings in the Restaurant POS app

      What With the print server settings, you can check the SOCP ID, connection type, and print server status, as well as stop and start the print server. Where Restaurant POS app: Home > Print Server Settings. Introduction This guide explains the print ...
    • Home area in the Restaurant POS app

      What The Home area in the Restaurant POS app is the central start page where you can see the status of devices, checkout stations, and users, and directly access important support and system functions. Where Restaurant POS app: Home. Introduction The ...
    • Maintenance in the Restaurant POS app

      What In the maintenance area you can maintain the app, analyze issues and carry out updates or a new setup. Where Restaurant POS app: Menu > Maintenance. Introduction In the area "Maintenance" you will find all the important tools to maintain your ...