Creating Custom PDF Templates for Jobs
In this article
YoPrint lets you create custom PDF templates for jobs, quotes, sales orders, and packing slips using HTML, CSS, and Liquid markup. Liquid is an open-source templating language built directly into YoPrint, so you do not need a Shopify store or account to use it.
You can customize pre-built curated templates or design your own from scratch, preview them with real order data, and choose where team members and customers can download them. Curated templates provide ready-made line item tables, customer details, and print styling that you can adjust. Starting from scratch gives you a blank editor if you prefer to write your own full HTML and CSS layout.
Create a custom job PDF template
Start with a curated template to get a ready-made layout with line items, customer details, and print styling that you can customize.
-
Click Configuration.

-
Click Settings.

-
Under Configuration, click PDF Templates.

-
Click Add PDF Template.

-
In the New PDF Template modal, confirm the Customize Curated tab is selected.
The Customize Curated tab opens by default. Wait a moment for the curated template cards to load.

-
On the Job with Line Items (Letter Size) card, click Customize.

-
In the Name field, replace the default template title with a unique name for your template.
Replacing the default title helps your team distinguish custom templates from built-in ones. You can also enter an optional Description to describe the template.
The template editor includes four tabs for customizing your job sheet:
- HTML: Edit HTML markup and Liquid placeholders. Dynamic values use double curly braces, such as
{{ job.job_name }}for the job name and{{ job.order_customer.customer_name }}for the customer. You can add your own HTML elements, such as tables, paragraphs, or company logos. To learn more about Liquid tags and filters, visit the Shopify Liquid documentation. - CSS: Define styling and print rules, such as
@page { size: letter; margin: 0.25in; }. You can set font families, sizes, borders, and margins for the printed sheet. - Data: View all job and order fields available to your template, formatted as a JSON object grouped under
team,job,order, andorder_customer. Each property maps to a Liquid variable using dot notation (for example,job_nameunderjobmaps to{{ job.job_name }}). Use this tab to find exact variable names and sample values from your selected job. - Options: Configure download and customer portal visibility for your template.

- HTML: Edit HTML markup and Liquid placeholders. Dynamic values use double curly braces, such as
-
In the preview panel, select a job from the Preview from Job dropdown.
When you select a job, the Generate button briefly disables while YoPrint fetches the job details. Wait a moment for the button to become active.

-
Click Generate to render a live PDF preview with your selected job data.

Configure download options
Use the Options tab to choose where your team and customers can download this custom PDF.
-
In the template editor, click the Options tab.

-
Select the download locations for your template.
Download options
By default, Available in Individual Download View and Available at the Sales Order Level are already enabled:
- Available in Customer Portal: Lets customers view and download the PDF from their customer portal.
- Available in Individual Download View: Adds the template to the More actions menu on individual job cards.
- Available at the Sales Order Level: Adds the template to the sales order header Download menu under CUSTOM PDF.

-
Click Save and Close.

-
Locate your new template in the PDF Templates list to confirm it was saved.
The list displays the template name, type, and available actions.

Add QR codes to job sheets
You can add a scannable QR code to your job sheets so shop-floor staff can quickly scan and open the job in YoPrint. Curated job templates already include a QR code in the header markup by default. To edit an existing template, locate it in Settings > PDF Templates, click its three-dots More actions button, and select Edit.
To generate a QR code automatically on your job sheet, add a div element with the qrcode class containing your target URL:
<div class="qrcode">{{ job.job_qr_code_url }}</div>
Place this element inside the header or footer section of your HTML markup. YoPrint automatically converts the URL inside the element into a scannable QR code. You can use {{ job.job_qr_code_url }} to link to the job in YoPrint, or insert any static website URL.
To adjust the size of the QR code, set inline CSS dimensions on the element:
<div class="qrcode" style="width: 20mm; height: 20mm;">{{ job.job_qr_code_url }}</div>
Print styles use physical units such as millimeters (20mm , approximately 0.8 inches) or inches to ensure the QR code prints at an exact, scannable size on paper across different printers.
Download custom PDF job sheets
Once you enable download options on a template, you can download custom job sheets from the sales order header or from an individual job.
-
Click Sales.

-
Click Sales Orders.

-
Double-click the sales order you want to open (such as SO0001), or click its three-dots More actions button and select View.

-
In the order header, click Download.
Order-level vs. job-level downloads
Use steps 4–5 to download all job sheets for the entire order at once. To download a single job sheet instead, skip to step 6.
Selecting a custom template under CUSTOM PDF generates a single combined PDF containing all jobs on that sales order, separated by page breaks. In contrast, the built-in All Jobs option uses YoPrint's default job layout.

-
In the Download menu under CUSTOM PDF, select your template.
Selecting a template downloads or opens the rendered PDF in your browser. If your browser opens the PDF in the same tab, use the back button or keep the sales order open in another tab to continue working.

-
On the sales order drawer, scroll down to the Jobs section and locate your job card. Click its three-dots More actions button.
When the sales order drawer opens, the job card's More actions button may be briefly disabled while job data loads. Wait a moment for the button to become active.

-
Select your custom template from the actions menu to download that job sheet.




















