Support Articles
General
Print Node
Connecting Your WooCommerce store
Printout Designer requires WooCommerce 3.0.x or later and WordPress 4.4 or later, and you must enable the REST API within your WooCommerce account. To enable REST API, navigate to WooCommerce > Settings > Advanced > REST API and click the Add key. The added key must have Read/Write permissions so Printout Designer can fetch your orders and products and create webhooks for Automation Rules. You can find the full step-by-step tutorial here.
"Email to print" as an alternative to PrintNode
The first thing to make sure of is to check if your printer supports "email to print" functionality. If yes, you can get the unique email address of the printer and set the email address to the email template.
1. Create the email template

2. Create the email automation rule

Bulk printing/emailing/downloading the orders
Bulk printing
When navigating to the Printout Designer app, as shown in the screenshot below, follow this guide:
1. Choose the template that you want to print/email/download in bulk
2. Select the orders (you can also use the filter and "select all" checkbox if necessary)
3. Use the icon according to what you want to achieve (Print/Email/Download)

Bulk emailing/downloading
If you want to send an email or download the orders in bulk, the guide remains the same, except for the 3rd step, where you can use the icon according to what you want to achieve.
NB: Bulk printing of around 50 - 100 orders is a standard that the Printout Designer can provide without a problem. When printing more than 100 orders some issues may occur if the template is more complex or include images.
Sending printouts via e-mail
First step is to create an e-mail template. To create one, navigate to your e-mail Templates view and press on Create button.

Next, fill in the e-mail template creation form. Once you’ve filled all the fields make sure you click on “Save” so that the template actually gets created.

After that, navigate to the Automation Rules view and setup a rule for e-mails.

You need to fill the following fields for Automation Rule:
Name (of the Automation Rule)
Trigger on Event. Specify the event with which you want to trigger the rule. This event is sent from your e-commerce service to Printout Designer
Delay in minutes between event and e-mail being sent
E-mail template
Conditions filter (optional). You can specify conditions that the order must pass to trigger the Automation Rule. If you specify multiple rules then the order must pass ALL the conditions
Active (or inactive)

How to change my timezone?
If you see that the order creation time looks incorrect, it makes sense to check the timezone from your account settings.
However, this does not affect the time shown on generated documents. If you want to change that, use the below expression function:
{% datetime({datetimeString}, {timezone}, {addDays}, {outputFormat}) %}
.
Also, make sure your Text component format is set to "Date". You can read more about
expression language functions from the template editor's help menu.
How to see all the available data?
You can see all the available data fields in the template editor if you navigate to "View -> Data" from the menu bar.

Debugging issues related to PrintNode
The first important thing is to make sure that the PrintNode client is installed on your computer and it is running. The computer must be connected to the Internet to receive print commands as it acts as a proxy between the PrintNode service and your printer.
The first important thing is to make sure that the PrintNode client is installed on your computer and
it is running. The computer must be connected to the Internet to receive print commands as it acts
as a proxy between the PrintNode service and your
printer.
How to "reset" a setup and start over
1) Remove all of your devices from the PrintNode and deactivate the "autoprint" rule
Login to the PrintNode client with provided credentials on a computer that is attached/connected to printers and will be used as a "proxy" to print documents from Printout Designer.
2) Open the "autoprint" automation rule in Printout Designer, assign the correct printer, mark the rule as active and save.
3) Open Settings > Print Node and set the default printer.
4) You can now test print from the Orders view by selecting one of the orders and clicking "Print via Print Node" in the more (three dots) menu.
Checking the print jobs
If you noticed that some of the orders weren't triggered by an automation rule, please check the print jobs in the PrintNode app. If there is a print command that has been sent to PrintNode service from Printout Designer and also processed by PrintNode, then the issue must be related to PrintNode app on your device. Please contact PrintNode support via
support@printnode.com for further assistance.
Printer running out of paper/disconnected printer
In both cases (i.e. a printer being disconnected or it running out of paper), PrintNode will successfully deliver the print request to the printer spooler and it will be up to the operating system and the printer driver to handle any issues.
From PrintNode's perspective, the job will be processed correctly and PrintNode will report the "done" state for such a print job.
If on the other hand the PrintNode Client running on the computer is disconnected (or simply turned off) the print jobs will await on the PrintNode server and will be sent to the PrintNode Client once it connects.
Creating an Automation Rule with PrintNode
This article is useful when you've already connected PrintNode with the Printout Designer app.
The Automation Rule is a feature which allows you to automatically print your invoices, packings slips and labels.
To create a new Automation Rule, please navigate to Automation Rules > Print Node and click Create.

You need to fill the following fields for Automation Rule:
* Name – the name of the Automation Rule
* Trigger on Event – specify the event with which you want to trigger the rule. This event is sent from your e-commerce service to Printout Designer.
* Printer Name – the printer you've connected and to which your command will trigger to
* Document Template – select which template is used to generate the printed document
* Copies – you can specify how many copies of the document are printed
* Filter (optional) – you can specify conditions that the order must pass to trigger the Automation Rule. If you specify multiple rules then the order must pass ALL the conditions.
* Active – you can disable or activate the rule any time
Activating your PrintNode account
Please select the price plan relevant for you. If you're still on trial, consider which price plan you would sign up to & select the relevant option.
Basic and Professional plans
Step 1: Navigate to Settings > Print Node in Printout Designer and click on Activate your PrintNode account.

Step 2: You will see your PrintNode account credentials which you need to use to login to the PrintNode service once you have installed the PrintNode client. If you see them, proceed to step 3.
Please make sure to use the PrintNode account credentials provided in your Printout Designer app. Using any other credentials will not work with Printout Designer.

Step 3: Please select a relevant tutorial from below to install the PrintNode client and set up your printers:
Installing
the PrintNode Client – Windows
Installing the
PrintNode Client – macOS / OS X
Remote
Printing to a Zebra Printer
Remote
Printing to a DYMO Printer
PrintNode FAQ
Step 4: Return to Printout Designer. Refresh your PrintNode settings page and select a default printer. It will prevent you from having to select a printer every time you want to print anything.
And you're done ✅
Micro and Starter plans
Customers using Micro, Starter plans or any legacy plan below $9.99 price point can use the PrintNode Lite which allows you to print up to 50 documents per month. Please see the detailed tutorial on how to set up the PrintNode Lite with Printout Designer.
Step 1: Create a PrintNode account here.Step 2: Create an API key in PrintNode.

Step 3: Insert PrintNode API key to Printout Designer > Settings > PrintNode

Product label generation
Create the template for products
* Write down the name of your template
* When creating the template for products, you have to make sure that the option "This template is for products" is selected
* You can also choose one of our default templates for products, so you don't have to create the template from scratch

Printing/Downloading the document for the specific product
* Choose the template that you need to print/download
* Filter out and check the necessary products
* Use print/download based on the icon on the top right side of the product view
N.B! You can also edit the template with the particular product when navigating to the "three dots" menu on the top right side and selecting -> Edit

Common use-cases of the Expression language
Expression language as a condition in the Automation rules
If you are using expression language as a condition in the Automation rules, then the beginning and ending characters {% %}, which are needed when using the expression language in the editor, should be removed from the condition in the rule.
Comparison operators
== (Equal)
Let's say you need to automatically trigger the order where at least one of the item's name is "Jeans".
The best way to do it is to filter out the line_items where the name == "Jeans" and wrap it up into the aggregate function Count. Then you can make a condition to see if the count of those items is greater than 0.
count(filter({line_items}, 'name == "Jeans"')) > 0

N.B! In expression language, the sub-items are accessed with brackets. For example, you need to access the value of a location name in your line items meta fields and set the condition to trigger the rule if there is at least one item with the value of location name "abc".

The expression used in the automation rules would be:
count(filter({line_items}, 'name == "Jeans"')) > 0
Matches (Regex match)
As a condition, you can also use some other operator, for example, Matches (Regex match). This way you can trigger the rule if the data field consists of some part of the string.
{product_name} matches "/Jeans/"
With the expression above, all kinds of product names that consist of a substring "Jeans" would pass the condition. You can find all the other operators and functions when you navigate to the template editor, then click "Help" on the top of the editor and choose "Expression functions".
Automation rule with the Shipping method condition
If you want to make a condition based on the shipping method or any other array object, keep in mind that you need to use the expression to directly access the array data.
The expression would look like this:
{shipping_lines}[0]["title"] == 'abc'

Changing the timezone of a date
Dates are usually pulled to the document editor with the original timezone from the e-commerce platform and you need to use the DateTime expression function with timezone to convert the times in the editor. The expression function needs timezone in PHP format, which you can find here: https://www.php.net/manual/en/timezones.php
For example:
{% datetime({TestDate}, 'Europe/London') %}
Function Str_replace
The str_replace([string: search], [string: replace], [string: the original string]) function replaces all occurrences of a substring within a string.
{% str_replace("dog", "cat", "this is dog") %}This expression output is: this is cat
Useful tip: If you have a long string of, for example, options text, where each option is separated with "/" and you would like to show each option on a separate line, you can use the function str_replace.
{%str_replace('/','
',{options_text})%}
Condtional Formatting
You can also use the expression language in the conditional formatting, where you can change the style or hide the component if matches the condition. To open the Conditional formatting view, you need to right-click on the component and select "Conditional formatting".

How to create templates for line item labels and product labels?
Let’s say you’d like to create a label for each line item of an order. When creating a template for this kind of printout, you need to select the option “This template is for printing sub item labels (e.g line items, variants)” when creating the template.

Name your template and click on create. The template editor will open in a new tab. Next, let’s configure the page setup to match your labels. If you are using a label printer that prints labels onto a roll of labels, please see the picture below as a guide, how to set up the page layout.

In the next picture, you can see a guide with the page setup for sheet labels with many labels on one page.

To see an example template for creating line item labels, have a look at the template called “Line item’s label”.
How to create templates for combined packing slips / order reports / product catalogues?
Let’s say that you’d like to create a packing slip that shows the line items of many different orders, instead of having a separate packing slip for each order. Or let’s say you’d like to create a printout that shows all the selected products on a single page, instead of having a page for each selected product. In order to create this kind of template, you need to select the option “This template combines items into a single dataset” when creating the template. When you select this option, all the products of all the selected orders will be combined into the data field {products}. You can use either the Table component or Container component in your template to iterate over all the line items or product variants.

To see an example template with a product summary, have a look at the template named “Combined packing slip”.