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

# Assign SiTef to each register

> Enter the store's SiTef data once and give each register in Brazil its own SiTef terminal so it can take card payments.

In Brazil the register takes card and PIX payments through SiTef, and SiTef recognizes each register by an 8-character code: its **SiTef terminal**. If two registers use the same code, SiTef treats them as one: one register's pending transactions and cancellations land on the other, and a sale can end up charged or undone without anyone noticing. That is why the setup has two parts: the store data, entered once, and a SiTef terminal of its own for each register.

> [!NOTE]
>
> **The minimum you need to know**
>
> * **Two levels.** The store holds what all its registers share: server, store code, CNPJ and supervisor password. Each register also needs its own SiTef terminal.
> * **One register, one terminal; one terminal, one register.** Fire does not let you link the same terminal to two registers, or two terminals to the same register.
> * **Without a linked terminal, the register cannot take card or PIX payments.** Nor can it if the store's SiTef is turned off. Changes reach the POS on their own: the next card sale already uses them.

## Prerequisites

* A store in **Brazil**. In stores from other countries the SiTef cards do not appear.
* The register registered in Fire. See [Linking](https://docs.fire.rest/en/manuals/pos/linking.md).
* The data SiTef provides: the store code ("Empresa"), the IP of the SiTef server, and one terminal code per register.

## 1. Enter the store's SiTef data

In **Fire POS → Store config**, with the store selected in the header, find the **SiTef (Brazil): card payment** card.

![SiTef (Brazil): card payment card with Enabled on, agent URL, SiTef server, store code, both CNPJs and the supervisor password configured](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/01-store-sitef-config.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=aa4c46772d9c43d26b9d67cac74b70ed)

| Field | What goes in it |
| - | - |
| **Enabled** | Turns on card payments in the store's registers that have a linked terminal. |
| **Agent URL** | The address of the AgenteCliSiTef installed on each register. Almost always `https://127.0.0.1/agente`. |
| **SiTef server (IP or host)** | The SiTef server the agent connects to. |
| **SiTef store code** | 8 digits: the "Empresa" registered in SiTef. |
| **Store CNPJ** | 14 digits, without dots or dashes. |
| **Automation CNPJ** | 14 digits. If you leave it empty, the POS uses its own default. |
| **Supervisor password** | The one SiTef asks for to cancel. It is stored encrypted and never shown again: **Configured** means there is one. |

Press **Save SiTef**. The button turns on only when there are changes; **Undo** discards them.

## 2. Create one SiTef terminal per register

Below is **SiTef terminals per register**. Under **Add terminal** fill in:

* **Name**: how you recognize the register, for example `Caixa 1`.
* **SiTef terminal**: the 8-character alphanumeric code SiTef assigned, for example `FP000001`. The range `000900`–`000999` is reserved by SiTef and Fire rejects it.
* **TLS token**: only if Fiserv connects that register through its TLS platform. With the SiTef server by IP, like the kiosks, leave it empty.

Press **Add terminal**. It appears in the table as **Free**, with no register yet.

![SiTef terminals per register table with the terminal Caja Test 12121212, no token, linked to register BR-K000-POS-122, and the Add terminal form](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/02-sitef-terminals.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=0bb966cc30a5f5b42464f9eafd9dd814)

## 3. Link each terminal to its register

In the **Linked register** column, open the terminal's selector and choose the register. It saves right away: there is no save button.

![Linked register selector open with the Free option and the list of the store's POS registers](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/03-sitef-terminal-link.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=312f362771376b8b5d8d77122fd31cc5)

The list shows only POS registers of that store that do not have a terminal yet. **Free** unlinks.

> [!TIP]
>
> If every register in the store has its terminal linked, you are done. There is no need to restart the POS: the next card sale already uses the new setup.

***

## Other ways to link

### From the register's details

In **Fire POS → Terminals**, open a register's **⋮** menu and choose **View details**. The **SiTef terminal** section shows which terminal identifies that register to SiTef.

![SiTef terminal section of a register's details: Linked, Caja Test 12121212 and the Unlink button](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/05-terminal-detail-sitef.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=4de20d24d5d4973364cb2fffb6717f1a)

With a linked terminal you see **Linked** and the **Unlink** button. Without one, the section offers the store's free terminals; if none are left, it says so:

![SiTef terminal section of a register without a terminal: no free SiTef terminals, create them in store configuration](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/06-terminal-detail-sitef-none.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=dae3d6fb0498576ffd5145c4ec97576f)

### When creating the slot for a new register

In **Fire POS → Terminals → Create slot**, the **SiTef terminal (optional)** field lets you choose a free terminal for the register about to be installed. The register is linked to that terminal when the device links with the slot code. The field appears only in stores in Brazil and only if there are free terminals.

## Edit or delete a terminal

In the table's **Actions** column:

* **Edit** (pencil) changes the name, the code or the TLS token. The token is never shown again: type it only to replace it, or use **Remove token**.
* **Delete** (trash can) removes the terminal. The linked register stops taking card payments until you link another one.

![Edit SiTef terminal dialog with the name Caja Test, code 12121212 and no TLS token loaded](https://mintcdn.com/firepos/6XRqyXVb4Nc8yRXg/images/manuals/pos/payments/brazil/sitef/04-sitef-terminal-edit.png?fit=max\&auto=format\&n=6XRqyXVb4Nc8yRXg\&q=85\&s=ea0e3e21ed4724ffdd74f8f14cb5ee60)

If you delete a register in **Terminals**, its SiTef terminal becomes free for another one.

## Production and test environment

The data in the SiTef card and in each terminal change depending on where the register takes payments. Each Fire environment has its own setup: what you enter in the test backoffice does not carry over to production.

### In production

In production the register connects to the operation's **SiTef server** by its IP, just like the store's kiosks. Fiserv provides three pieces of data: the **SiTef IP**, the **store code** and one **terminal number** per register.

**1. Ask Fiserv for the data**

The SiTef server IP, the store code ("Empresa") and one terminal number per register. Each register's number has to be different from the other registers' and from the store's kiosks'.

**2. Install the production agent on each register**

The `agenteCliSiTef-…-Producao-Win64` package Fiserv provides, instead of the simulator agent. It is installed as a Windows service with the scripts in the `helper` folder.

**3. Enter the data in Fire**

In step 1, the IP in **SiTef server**, the **SiTef store code**, and the real CNPJs and supervisor password. In step 2, one terminal per register with its number in **SiTef terminal**; the **TLS token** stays empty. Then link each terminal to its register (step 3).

**4. Run a test sale on each register**

A small card sale, and its cancellation from **Estornar transação com cartão**, confirm that the register reaches SiTef with its terminal number.

There is no need to touch the agent's configuration on the register: the POS sends it the IP, the store code and the terminal number on every operation, with the data you saved in Fire.

> [!NOTE]
>
> **If Fiserv connects the store through its TLS platform** instead of an IP, each register also needs a **TLS token**, generated in the SiTef Administrative Portal and entered in that register's terminal. The register registers itself on its first operation and then has to be approved in the Portal. The network has to allow port 443 to `tls-prod.fiservapp.com` and `postls-prod.fiservapp.com`, and the registration is stored on the register's PC, in `C:\CliSiTef\NaoExcluirControleCliSiTef\<Empresa>\<Terminal>`.

### In testing (homologation with the simulator)

In testing the register talks directly to **SiTdemo**, the SiTef simulator, without TLS:

* The agent is the simulator one, and SiTdemo runs on the same network or on the same PC.
* **SiTef server** holds SiTdemo's IP: `127.0.0.1` if it runs on the same PC.
* **Store code** `00000000` and one test terminal code per register.
* **TLS token empty**: SiTdemo does not use TLS.
* **Enabled** on only in the test store.

### What changes between testing and production

| Data | Testing | Production |
| - | - | - |
| Agent | Simulator AgenteCliSiTef | Fiserv's `…-Producao-Win64` package |
| SiTef server | SiTdemo's IP | IP of the SiTef server Fiserv provides |
| Store code | `00000000` | The one Fiserv assigns |
| Terminal per register | Test code | The number Fiserv assigns to each register |
| TLS token | Empty | Empty, unless connecting through the TLS platform |
| Store network | Local | Access to the SiTef server (same as the kiosks) |

## When a register takes card payments

| Situation | Takes card and PIX payments? |
| - | - |
| The store is not in Brazil | No |
| The store has no saved SiTef data | No |
| **Enabled** off | No, in none of the store's registers |
| SiTef on, but the register has no linked terminal | No |
| SiTef on and the register with its terminal | Yes |

## Example

Laboratorio Brasil has 7 registered registers and a single SiTef terminal:

| Terminal | Code | Linked register | Result |
| - | - | - | - |
| Caja Test | `12121212` | BR-K000-POS-122 | Takes card and PIX payments |
| — | — | BR-K000-POS-121 and the other 5 | Do not take card or PIX payments |

For BR-K000-POS-121 to take card payments, you need to create a second terminal with its own code and link it to that register. Reusing `12121212` is not allowed.

## Costly mistakes

> [!WARNING]
>
> **Turning off Enabled or deleting a terminal during business hours.** The register stops offering card payment on the next sale. If the customer can only pay by card, the sale is lost.

> [!WARNING]
>
> **Removing the supervisor password.** The POS uses it to refund only the card charge when the order cannot be registered. Without the password that refund does not start: the customer stays charged and someone has to reverse it by hand from the register.

> [!WARNING]
>
> **Entering the wrong terminal code.** SiTef identifies the register by that code. With another store's code or a mistyped one, sales, pending transactions and cancellations end up under another terminal in SiTef.

> [!WARNING]
>
> **Entering a TLS token when the store connects by IP.** With a token, the register tries to connect to Fiserv's TLS platform instead of its SiTef server and does not take payments. In testing, and in production by IP, the **TLS token** stays empty.

> [!WARNING]
>
> **With a TLS connection: deleting the registration folder or reinstalling a register's PC.** The register loses its TLS registration and cannot take card payments until it registers again with a new token from Fiserv.

## Glossary

| Term | What it is |
| - | - |
| **SiTef terminal** | The 8-character code SiTef uses to identify a register. |
| **SiTef store code** | The store's "Empresa" registered in SiTef. |
| **AgenteCliSiTef** | The program installed on the register that connects the POS with SiTef and the pinpad. |
| **Supervisor password** | The password SiTef asks for to cancel transactions. |
| **TLS token** | Fiserv's registration that enables a terminal's secure connection in production. |
| **Linked register** | The POS register that uses a SiTef terminal. |
| **Fiserv TLS platform** | The internet entry point to SiTef when the store does not connect by IP; it registers and validates each register. |
| **SiTef Administrative Portal** | Fiserv's site where TLS tokens are generated and registers are approved. |

## Frequently asked questions

> **Do I need to restart the POS after changing the setup?**
>
> No. Fire notifies the store's registers and the next card sale already uses the new data.

> **Is the TLS token used only once?**
>
> Yes, and only if the store connects through Fiserv's TLS platform. The register registers with it the first time and stays registered on that PC. If you change or reinstall the PC, ask Fiserv for a new token and enter it in that register's terminal.

> **Can I use the same terminal on two registers?**
>
> No. Fire rejects it, because SiTef would mix the pending transactions and cancellations of both registers. Each register needs its own code.

> **When charging by card the register shows «Processador de pagamento indisponível»**
>
> That register is missing its SiTef setup: it has no linked terminal, or the store's SiTef is off or not saved. The message mentions the agent, but in this case the cause is in Fire: check steps 1 to 3.

> **I don't see the SiTef cards in Store config**
>
> The store selected in the header is not in Brazil. The SiTef cards only appear in stores in Brazil.

> **The SiTef terminal field does not appear in Create slot**
>
> There are no free terminals in the store. Create one in **Store config** and open **Create slot** again.

> **What happens to the terminal if I delete the register?**
>
> It becomes free and you can link it to another register.


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