Document Templates

Understand how PDF document templates work in the app, and how to use the Receipt Builder to design custom thermal receipt layouts.

The In-Store App supports two types of document templates: PDF templates for orders, carts, products, and other entities (configured in the back office), and receipt templates for thermal printers (designed directly in the app using the Receipt Builder). This page covers how both types work and how to manage them.

PDF Document Templates

PDF document templates are configured in your Omnium back office, not within the In-Store App itself. Once configured, they appear automatically as a print button wherever they apply — on order details, cart panels, product pages, and purchase orders.

How templates become available

Templates are defined per area in the back office's tenant settings:

AreaWhere the print button appears
OrderOrder detail page
CartCart panel
ProductProduct detail page
Purchase OrderPurchase order detail page
ProjectProject detail page

If your market has specific templates configured, those take priority. If not, the tenant-level defaults are used. If no templates are configured for an area, no print button appears.

Printing a document

When at least one PDF template is configured for an area, a PDF icon button appears in the AppBar or action area of that page. The tooltip reads Select template.

If only one template is configured:

  1. Tap the PDF icon button.
  2. The app generates the PDF and opens the system print/share dialog immediately.

If multiple templates are configured:

  1. Tap the PDF icon button.
  2. The Select template dialog opens, listing all available templates by their display name.
  3. Tap a template name to select it.
  4. The app generates the PDF and opens the system print/share dialog.

While the PDF is being generated, the icon button is replaced by a small loading spinner. If generation fails, a snackbar shows Failed to generate PDF.

PDF templates are managed in the Omnium back office under tenant settings. Contact your Omnium administrator if templates are missing or if you need templates scoped to a specific market.


Receipt Builder

The Receipt Builder is a visual tool for designing thermal printer receipt layouts. It is available on Android, iOS, and Windows (not on web). Receipts designed here are used by the connected thermal printer when printing sale receipts.

The Receipt Builder requires a thermal printer to be paired with the device before templates can be test-printed. See Device Registration for pairing instructions.

Opening the Receipt Builder

  1. Open Settings (tap the gear icon in the sidebar).
  2. Scroll to the Printer section.
  3. Tap Receipt Templates — subtitle reads Design custom receipt templates.

The Receipt Builder page opens.

Builder layout

The builder adapts its layout to the screen size:

Screen widthLayout
Narrow (phone)Two tabs: Commands and Preview. A + floating button adds a command; an Edit floating button appears when a command is selected.
TabletTwo-panel side-by-side: command list on the left, live preview on the right.
Desktop (wide)Three-column: command palette on the far left, command list and property editor in the centre, live preview on the right.

Adding commands

Commands are the building blocks of a receipt. On a wide screen, tap a command in the Add Command palette on the left to add it. On a tablet or phone, tap the + floating button to open the command palette as a bottom sheet.

Commands are grouped into four categories:

CategoryCommands
ContentText — print text with styling; Table Row — a two-column row; Merge Group — repeat a section for each order line
LayoutFeed Lines — advance the paper; Divider — a horizontal line; Spacer — add blank space
GraphicsImage — print a logo or image; Barcode — CODE128 barcode; QR Code — QR code
ControlCut Paper — cut the receipt

Editing and reordering commands

The Commands panel shows the current list in print order.

  • Tap a command to select it. On a desktop layout, its properties appear in the Property Editor panel below the list. On tablet and phone, tap the Edit floating button to open the property editor as a bottom sheet.
  • Long-press or use the ⋮ menu on a command to Move Up, Move Down, Duplicate, or Delete it.

Using merge tags (variables)

Text fields in commands accept merge tags in the format {{variableName}}. Use these to insert live data from the order and store:

TagValue
{{store.name}}Store name
{{store.phoneNumber}}Store phone number
{{store.address.streetName}}Store street address
{{store.address.city}}Store city
{{order.orderNumber}}Order number
{{order.customerName}}Customer name
{{order.orderForm.total}}Order total
{{order.orderForm.subTotal}}Subtotal
{{order.billingCurrency}}Currency code

Inside a Merge Group command, use {{item.displayName}}, {{item.quantity}}, and {{item.placedPrice}} to access each line item.

Test printing

Tap the print icon in the AppBar to test-print the current template using sample data. A loading dialog appears while the job is sent to the printer.

If no printer is paired, a dialog appears:

  • Title: Printer Not Configured
  • Message: Please configure your printer in Settings before testing.
  • Go to Settings — returns to the Printer section of Settings.
  • OK — dismisses.

Saving a template

  1. Tap in the AppBar.
  2. Select Save As... (or Save to overwrite an already-loaded template).
  3. The Save Template dialog opens with four fields:
FieldDescription
Template Name (required)A name to identify this template in your library
Template AreaSale Receipt or Other. Determines when the template is available.
Stores (Optional)Tick one or more stores. Leave empty to apply to all stores.
Markets (Optional)Enter a market ID and tap + to add it as a chip. Leave empty for all markets.
  1. Tap Save to save the template to the server. A snackbar confirms Template "[name]" saved.

If the template builder is empty (no commands added), saving is blocked and a warning snackbar appears: Add some commands first before saving.

Template Settings

When a template is loaded (shown as a chip in the AppBar), you can update its name, area, stores, and markets without creating a new template:

  1. Tap Template Settings.
  2. The same Save Template dialog opens with the current values pre-filled.
  3. Make changes and tap Save.

My Templates

Tap the folder icon in the AppBar to open the My Templates screen, which shows all saved templates across the tenant.

The screen includes a Search templates field and filter chips (All, Sale Receipt, Other). On wide screens, templates are shown in a two- or three-column grid; on narrow screens, a scrollable list.

Each template card shows:

  • A coloured accent bar (blue for Sale Receipt, grey for Other)
  • An area icon and the template name
  • An area badge and the last-modified date
  • A red delete icon

Tap a card to load the template into the builder. The screen closes and a snackbar confirms Loaded: [name].

Tap the delete icon on a card. A confirmation dialog appears:

  • Title: Delete Template
  • Message: Are you sure you want to delete "[name]"? This cannot be undone.
  • Cancel — dismisses.
  • Delete (red) — removes the template permanently.

Advanced: Show JSON

Tap Show JSON to view the current template as raw JSON. In the dialog:

  • Tap Copy to copy the JSON to the clipboard.
  • Tap Edit to switch the dialog into edit mode, modify the JSON directly, and tap Apply to load the edited JSON into the builder.

If the JSON contains errors, an error banner appears in red and Apply is disabled until the JSON is valid.

Tutorial Mode

Tap Tutorial Mode to run an interactive walkthrough of the builder. The tutorial highlights the Add Command button, command list, preview, and My Templates in sequence. Tap Tutorial Mode again to exit.