Print layouts
Per document type and language — editable PDF labels, logo, header, footer, bank details, terms and custom blocks, with versioning and live PDF preview.
Open Profile menu → Print Layouts (/print-layouts).
Scope
One layout per document type × language. Supported types: quotation, sales order, delivery, packing list, proforma invoice, sales invoice, sales return, purchase order, purchase invoice, purchase return, work order, plus export pack PDFs — commercial invoice (export), packing list (export), CMR, exporter declaration (MK), disinfection record (MK). Languages: en, mk, sq, de.
Print language
Resolution order for each PDF: override on this print → partner language → Company Profile → Documents → Default printing language → English (en).
Set the company default under Profile menu → Company Profile → Documents. On commercial document dialogs (quotations, orders, deliveries, invoices, returns, goods receipts, proformas, work orders, export pack) a PDF language control lets you override for that download or email only — it does not change the partner or company default. The API accepts ?locale= on document PDF endpoints.
Procurement partner PDFs (goods receipt, purchase request, RFQ, supplier quotation) use the same label catalog (en / sq / mk / de) as sales and purchase documents. Finance partner PDFs (open-items statements, compensations, universal invoices) follow the same languages; sales and universal invoice totals also print amount in words in the PDF language.
PDF labels (not hardcoded)
Every printable UI string for that document — document title, Bill to / Ship to, column headers (Qty, Unit price, Tax…), totals, status words, Swiss QR labels, etc. — lives on the layout as a key → text dictionary.
- Seeded from the product catalog for the layout language.
- Editable in the designer (PDF labels section); filter by key or value; Reset to defaults restores the catalog.
- Saved with the draft and used when the version is published. The PDF engine reads the layout first, then falls back to the catalog only if a key is missing.
This matches enterprise form templates (SAP / Infor-style): the form owns the wording; the app supplies the data.
Blocks
| Block | Content |
|---|---|
| PDF labels | Full label dictionary for the document type × language |
| Logo | From Company Profile, position/size configurable |
| Barcode graphic | Optional: sales invoice barcode column as Code128 bars + digits (not digits-only) |
| Header | Optional free text under the company name (empty by default; the old "<Document> — {{company_name}}" line is not printed) |
| Company block | Name, address, tax ID, registration |
| Partner block | Bill-to / ship-to |
| Lines table | Columns you enable (code, description, qty, unit, price, discount, tax, total) — headers from PDF labels |
| Totals | Net, tax (per VAT rate on MK sales invoices), gross |
| Bank details | Free text on the layout (section title from PDF labels); printed as one row with ; between lines. Empty by default on purchase invoice (goods receipt & price calculation) |
| Terms | Default per language payment/claims text. Empty by default on purchase invoice |
| Footer | Default Thank you for your business. | {{company_name}}. Sales, proforma, purchase, and universal invoice PDFs also print a Code 128 of the document scan token (UKTUPUS|…|document number) in the bottom margin; scanning it in Uktupus opens that invoice. Older prints with ORKA|… still open. |
| Custom blocks | Free text / variables, e.g. custom fields or QR verification code |
| Country extras | Swiss QR-bill payment part on sales invoices (CH pack). MK pack sales invoices: ЕДБ tax labels, tax per VAT rate in the totals list |
Versioning
Layouts have status draft → published → archived. Only the published version is used for PDFs; edit a draft, preview the live PDF, then publish. Previous versions stay archived for reproducibility. Labels are versioned with the draft.
Variables
{{company_name}}, {{document_code}}, {{partner_name}} in header / footer / bank / terms / custom blocks. The variable list is shown in the editor.
Verification QR
PDFs can include a QR code pointing to /verify/<company>/<code>, letting a recipient confirm the document is genuine (see Public pages).