> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnilinker.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Fiscal printers

> Add a fiscal printer to a station, map its VAT letters, check it, and choose which printer issues each location's receipts.

A fiscal printer belongs to a station: the Windows PC whose Omnilinker Station app talks to it. You add it, set it up
and check it on **Devices** > **Stations**, in the station's row. Which printer issues the receipts of a location's
orders is set on the location.

To see fiscal printers you need the **Fiscal printers** permission, together with **Stations** to open the page. To add,
change, move or remove them you need **Manage fiscal printers**. See [Permissions](/fiscalization/overview#permissions).

## Fiscal printers at a station

Open **Devices** > **Stations** and click the arrow next to a station's name. Under **Fiscal printers**, each printer
shows its name, **Test** for a test printer, its model (or its make until the station has read it) and the address the
station reaches it at, its health, and **Settings**, or **Details** if you cannot change it. A station without one says
"No fiscal printer at this station."

For what each health means, see [Fiscal printers](/fiscalization/overview#fiscal-printers) on the overview page.

## Add a fiscal printer

You need **Manage fiscal printers**. Add and pair the station first; see [Add a station](/devices/stations#add-a-station).
Its PC must reach the printer.

<Steps>
  <Step title="Open the form">
    Expand the station and click **Add fiscal printer**. The panel **Add fiscal printer** opens, "at" the station.
  </Step>

  <Step title="Name it and choose the make">
    Enter a **Name**, for example "Kasa 1", up to 128 characters. Choose the **Make**: **Posnet** or **Novitus**.
  </Step>

  <Step title="Say how the station reaches it">
    Under **How the station reaches it**, choose one:

    | Choice | Fill in |
    | - | - |
    | **Network** | **IP address or host name** and **Port**, as set on the printer (its menu prints them). The port starts at 6666 for Posnet and 8888 for Novitus. The station's PC must reach the address. |
    | **USB or serial cable** | **COM port**, for example `COM3`, and **Speed (baud)**, 9600 to start with. A USB printer shows up as a COM port once its maker's driver is installed; Device Manager names it. |
    | **Test printer** | Nothing. The station simulates a printer of this make: receipts and daily reports go through every step, nothing is recorded anywhere, and its receipts are marked **Test**. |
    | **Another address** | **Address**, for a TLS connection or a serial port's own settings: `tcp://host:port`, `tls://host:port?thumbprint=…`, `serial://COM3?baud=9600` or `sim://make/name`. |

    The line below says "The station will use" and the address, or "The station cannot read this address:" when it is
    not one the station can use.
  </Step>

  <Step title="Or let the station find it">
    With the **Search a station's ports and network for fiscal printers** permission as well, click **Find on**
    followed by the station's name. The station tries its COM ports, and the network address you typed if any, on the port you typed and
    the makes' usual ones. It only reads; nothing is printed. Each printer that answers is listed with its make, model,
    unique number and address. Click **Use this** to fill the form from it. A printer already added says "Already added
    as" and its name.

    "Nothing answered. Check the cable or the address, and that the printer is on." means no printer answered.
  </Step>

  <Step title="Add it">
    Click **Add printer**. The station reads the new printer by itself in safe mode, printing and recording nothing.
    Its model, details and VAT letters appear within a minute once the printer answers.
  </Step>
</Steps>

The same address cannot be added twice. A private network address is compared within one location, so two shops can
each have a printer at `192.168.1.40` as long as each station has its location set.

## Printer settings

Click **Settings** next to the printer. The panel has three tabs: **Printer**, **VAT rates** and **Check**.

On the **Printer** tab you can change everything you set when adding it, and:

| Setting | What it does |
| - | - |
| **Station** | The station whose PC talks to the printer. Receipts from every desk at the location print here, so pick the PC that is always on. Shown when there is more than one station. You can move the printer only while no receipt or daily report is waiting for it. |
| **In use** | Cleared, the printer issues nothing and its station does not read it. Its health shows **Switched off**. A location that chose it then sends its receipts to the station's own printer. |
| **Close the day automatically** | The daily report runs by itself on days with sales, at the hour in **At**. A new printer has it selected, at 21:00. Cleared, someone runs it on **Fiscal** > **End of day**. See [End of day](/fiscalization/end-of-day). |

Click **Save**.

Changing the make, or switching between a test printer and a real one, makes Omnilinker forget what the old device
said about itself and its VAT letters until the station reads the new one. The same happens when the station later
finds a device with another unique number at the address. You cannot make these changes, or move the printer, while
receipts or a daily report are waiting for it.

### What the printer told us

Below the settings, **What the printer told us** shows what the station read from the printer:

| Field | Shows |
| - | - |
| **Model** | The model and firmware. |
| **Unique number** | The device's unique number, which every receipt is tied to. |
| **State** | **Fiscalised**, **Training (not fiscalised)** or **Read-only (fiscal memory full)**. |
| **Registered to NIP** | The NIP the printer is registered to. |
| **E-receipts** | **Yes** when the printer has an e-receipt service. Without one, receipts always print on paper. |
| **Limits** | How long a product name can be and how many lines a receipt can have: "names up to … characters, up to … lines". |
| **Last problem** | The last problem the station reported, if any. |

Until the station has read the printer, it says "Not read yet." The station reads each printer every 5 minutes.

## VAT rates

A receipt shows each line's VAT as a letter, and each printer has its own letters, programmed by a service technician.
Omnilinker matches the letters to your VAT rates by percentage. Open the **VAT rates** tab to see the result:

| Column | Shows |
| - | - |
| **VAT rate** | 23 %, 8 %, 5 %, 0 % and **Exempt (zw)**. |
| **Printer letter** | The letter used for the rate. "No letter on the printer" when no active letter carries the rate. |
| **Status** | **Set**: the rate has its letter. **Choose one**: the printer has more than one letter for the rate; pick one. **Not set**: no letter is chosen. |

Choose a letter yourself only where the printer has two for a rate, or your accountant asked for another. You can
only choose a letter that carries that rate. You need **Manage fiscal printers**.

**Letters on the printer** lists every letter as the station read it, with its rate. A letter that is not active on the
printer is greyed out.

* An item at a rate with no letter cannot go on a receipt from this printer: "The VAT rate … has no letter on …. Map it
  in the printer's settings." A rate needs a service technician to program a letter; it then appears here by itself.
* Reverse charge and not-subject sales never go on a receipt: they are invoiced.
* If a technician changes a letter's rate, or a letter stops being active, the letter you chose for it is dropped, so a
  receipt stops at "no letter" rather than recording the wrong rate.

Until the station has read the printer, the tab says "The printer's letters have not been read yet."

## Check a printer

Open the **Check** tab. The station reads the printer in a safe session and Omnilinker judges each reading fine or to
watch; the summary counts them: "… checks · … fine, … to watch". A check older than 10 minutes runs again when you open the tab; **Check again** runs it
now. Anyone with **Fiscal printers** can check a printer.

| Check | What it tells you |
| - | - |
| **Paper and cover** | "Paper in, cover closed", or what to do: put a new roll in, close the cover, look at the display. |
| **Connection** | How fast the printer answered. Over 2 seconds is "Slow to answer": check the network or the cable. |
| **Which printer** | The model and unique number, and whether it is the device that was there before. If not, its letters were read again: check them. |
| **Fiscal state** | **Fiscalised, selling allowed**; training, where receipts print as NIEFISKALNY; or fiscal memory closed, which needs a service technician. |
| **Open receipt** | Whether a receipt is half-finished on the printer, from this station or from someone selling at the printer's keyboard. Receipts wait until it is finished. |
| **Today** | Since when the printer's day is open and how it closes. A day left open from before means the printer sells nothing until its daily report runs. |
| **Clock** | The printer's time and how far it is from Omnilinker's. More than 2 minutes off needs a service technician to set the clock. |
| **E-receipts** | Whether the e-receipt service is on. |
| **VAT letters** | Whether every rate has its letter. |
| **Unsettled receipts** | Receipts left after an interruption. They settle by themselves when the printer answers. |

The check only reads. It never issues, cancels or repeats a receipt, never runs a daily report, and never changes VAT
rates, the header, the clock or network settings.

### Print a test page

Under **Test page**, click **Print test page**. You need **Manage fiscal printers**. The printer prints a short page
marked NIEFISKALNY with the station's name and the time, which proves paper, cutter and connection together. It is not
a receipt and adds nothing to the day's sales, but like every printout the printer keeps it in its electronic copy and
counts it on the daily report as a non-fiscal document.

If the station does not answer within a minute, Omnilinker says that the station "did not answer within a minute: it is
off, or its Omnilinker Station app is not running."

## Receipt settings for a location

A location decides how the receipts for orders issued at its stations are issued, whoever clicks **Issue receipt**.
Open **Devices** > **Stations**, click **Locations**, and open the location. Under **Fiscal receipts**:

| Setting | What it does |
| - | - |
| **Fiscal printer** | The printer that issues the location's receipts, chosen from the fiscal printers at the location's stations. **None: the station's own fiscal printer, or one chosen on the order** leaves the choice to the station you work at. A printer that is offline keeps the location's receipts waiting for it. |
| **Send receipts as** | **Paper**: always printed, for the parcel. **E-receipt when we have an e-mail**: paper otherwise. When a private buyer gets an invoice, the receipt is always paper and kept with the invoice copy, whatever is chosen here. |
| **The buyer's NIP on the receipt** | Puts the buyer's NIP on the receipt when the buyer gave one. |

A new location sends receipts on paper, with the buyer's NIP, and has no fiscal printer. Click **Save location**. To
change these settings you need **Manage fiscal printers**, and **Manage locations** to save the location; without
**Manage fiscal printers** you can only look. A location with no fiscal
printer at its stations says "No fiscal printer at this location's stations yet: add one to a station first."

If a station leaves the location, its printer stops being the location's printer and shows as none.

## Remove a fiscal printer

Open the printer's **Settings** and click **Remove** under **Remove this printer**, then confirm. The station stops
using the printer. Its receipts and daily reports stay on record, and a location that had chosen it goes back to its
stations' own printers.

A printer with receipts, a daily report or a check still to finish cannot be removed. Finish or withdraw them first.

## Troubleshooting

<AccordionGroup>
  <Accordion title="“The printer … still has receipts, a daily report or a check to finish.”">
    You tried to move, remove or switch off a printer with work under way, or to change its make or switch it between
    a test printer and a real one. Wait for its receipts to print, or withdraw them from
    their orders, and let any daily report finish. A check ends within a few minutes.
  </Accordion>

  <Accordion title="“… is already at this address.”">
    Another fiscal printer already has this address. If it is another device on another network, check that each
    station has its location set: a private address is compared within one location.
  </Accordion>

  <Accordion title="“The station cannot read “…” as a printer’s address.”">
    The address is not one the station uses. Use **Network** or **USB or serial cable**, or type one of the formats
    shown under **Address**.
  </Accordion>

  <Accordion title="The printer stays at Not read yet">
    The station reads a new printer within a minute. Check that the station is **Online** on the Stations page, the
    printer is on, and the address, port or COM port is right. A USB printer needs its maker's driver on the station's
    PC.
  </Accordion>

  <Accordion title="“This station is already searching for printers.”">
    Wait for that search to end, then search again.
  </Accordion>

  <Accordion title="“Another request to this station is being made right now.” or “Someone is saving a fiscal printer right now.”">
    Try again in a moment.
  </Accordion>

  <Accordion title="“The printer's driver is not verified on hardware yet, so the station only reads it”">
    The station reads real Posnet and Novitus printers but does not record sales on them yet. See the note on
    [Fiscal receipts](/fiscalization/overview).
  </Accordion>

  <Accordion title="Fiscal state is read-only, or the clock is off">
    The printer's fiscal memory is closed, or its clock is more than 2 minutes off. Both need your printer's service
    technician.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Issue receipts" icon="receipt" href="/fiscalization/receipts">
    Issue a receipt from an order and follow it to the printer.
  </Card>

  <Card title="End of day" icon="moon" href="/fiscalization/end-of-day">
    Close each printer's day with a daily report.
  </Card>

  <Card title="Stations and locations" icon="monitor" href="/devices/stations">
    Add stations, group them in locations and pair their PCs.
  </Card>

  <Card title="Use the Station app" icon="app-window" href="/devices/station-app">
    What the app on the station's PC shows.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.