# Printers

# Overview

Printers table in the ERP is used to define printers, that can then print documents directly from ERP to paper.

<p class="callout info">To use these printers, the **ERP Printer application** is required.</p>

[![image.png](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/scaled-1680-/cI8image.png)](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/cI8image.png)

# Create new printer

<p class="callout danger">This action requires the **"create printers"** permission.</p>

 A new printer can be created by accessing the create form on the [printers](https://placeholder.erp/printers) table through the **"Create new"** button.

![image.png](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/scaled-1680-/n0iimage.png)

To create a new printer, enter a unique **name** for your printer and its **description**. The printer "**secret**" is generated automatically.

<p class="callout info">It is recommended that the new printer's description should contain information about the printer, to which it corresponds (manufacturer, model, ...) for easier identification in the future.</p>

# Setting up new printer

<p class="callout info">To **setup** a new printer, the **ERP** **Printer** **application** is **required**. For **first-time setup**, you will have to **contact Web team** **for** assistance with acquiring **ERP** **Printer** **application** and setting up of the application ERP authentication.</p>

The first thing to do is to create a new printer entry in the "[printers](https://placeholder.erp/printers)" table create form..

<p class="callout info">**Once** the **ERP** Printer application is acquired and **authentication setup is finished,** setting up new printers can **skip this step.**</p>

Connect the printer to the computer, where it will be located and perform the printers setup, including installing correct drivers...

<p class="callout warning">The printer's computer will need (at least) Python 3 installed for the ERP Printer application to work.</p>

- Locate the **"ERP Printer"** application folder and open it. There should be the 3 files in directory: 
    - A **"main"** software file
    - A PDFtoPrinter program
    - The environment file. If it does not exist, create a new file named, **".env"**

![image.png](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/scaled-1680-/Xo9image.png)

Open the environment file and copy into it the generated **"secret"** of the new printer, which was created earlier. The contents of the file should be:

```
ERP_PRINTER_SECRET=your-new-printer-secret-goes-here
```

After the environment file has been created/updated, start the "**main**" printer software.

After the command line window opens, a list of available registered printers will be show.

[![Screenshot_1.png](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/scaled-1680-/mODscreenshot-1.png)](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/mODscreenshot-1.png)

<p class="callout info">Make sure that your new printer is listed, otherwise troubleshooting of drivers will be required.</p>

Once you find your printer on the list, enter its corresponding number (e.g. 0) when prompted. This will select the printer (e.g. Showroom) and connect to it. A successful connection attempt will generate a **"Websocket connected"** response, like on the image below.

![Screenshot_2.png](https://how-to-erp.dewesoft.com/uploads/images/gallery/2026-08/scaled-1680-/screenshot-2.png)

When the **printer - ERP** connection is established, the printer's use can be defined in the options table, in the "**printer\_buttons**" option. Configure the new printer (for labels or normal prints) in the **"data"** field.

```json
{
  "printProductLabel": {
    "title": "Printer desno",
    "layout": "no-margin-label-printer",
    "template": "label",
    "printer_id": 1,
    "background-color": "#FFFF00"
  }
}
```

You can edit the environment file so that the **"Available printers"** selection gets skipped and a select printer is chosen automatically. to do this, add the following line into the environment file and save it.

```
PRINTER_NAME="printer name"
```

If restarted, the main program should now automatically select the pre-configured printer and attempt connection to the ERP.