← Anterior: [Relatórios](https://iurru.com/manual/Relatorios) · [Manual](https://iurru.com/manual/) · Próxima: [Comissões](https://iurru.com/manual/Comissoes)

# Usuários e permissões

**Menu:** Administração → Usuários

---

## O que é um usuário, aqui

Cada pessoa que toca o sistema — vendedor no balcão, quem fecha o caixa,
quem cuida do estoque, quem olha os números — precisa do **próprio login**.
Não é burocracia: o sistema usa esse login pra saber **quem** fez cada
venda, cada desconto, cada cancelamento e cada ajuste de estoque. Ver
[Segurança básica](#segurança-básica) sobre por que login compartilhado
destrói esse rastro.

Um usuário, na prática, é a combinação de três coisas:
1. **Identidade** — nome, login, e-mail, senha; quem é essa pessoa.
2. **Papel** (`role`) — um atalho de cadastro que já vem com um conjunto de
   permissões pronto (ver [Papéis](#papéis)); não é uma trava por si só.
3. **Permissões granulares** — a lista real de "pode/não pode" que decide o
   que a tela mostra e o que a API aceita (ver [Permissões](#permissões)).
   O papel só preenche essa lista quando o usuário é criado ou trocado de
   papel — depois disso, dá pra ajustar cada permissão individualmente, sem
   mudar o papel.

## Cadastro de usuário

| Campo | Pra que serve |
| --- | --- |
| **Nome** | Nome de exibição — aparece nos relatórios e no histórico de quem fez o quê |
| **Usuário** | Login — único no sistema, é o que a pessoa digita pra entrar |
| **E-mail** | Único também; hoje é só identificação, não é usado pra recuperação de senha automática |
| **Senha** | Mínimo **6 caracteres** |
| **Loja** | Loja padrão do usuário — pré-seleciona qual loja o PDV/estoque abre pra essa pessoa |
| **Papel** | Ver [Papéis](#papéis) — define o conjunto inicial de permissões |
| **Código de acesso** | Ver [Código de acesso](#código-de-acesso) — PIN de 6 dígitos, alternativa ao usuário/senha |
| **Ativo** | Usuário inativo não consegue mais entrar no sistema, mas continua existindo no banco — o histórico de vendas/ajustes dele fica intacto |

**Alterar senha** de um usuário existente é uma ação separada, feita à parte
do resto do cadastro (nova senha com ao menos 6 caracteres).

### Código de acesso

Todo usuário tem, além de usuário/senha, um **código de acesso**: um PIN
numérico de **6 dígitos**, único no sistema, que loga sem digitar usuário
nem senha — só o código. Serve pra entrar rápido no dia a dia (balcão,
troca de operador) sem precisar do formulário completo.

- **Gerado automaticamente** ao criar o usuário — a tela já sugere um código
  livre. Um administrador (permissão **Configuração → Usuários**) pode
  digitar outro código à mão, ou clicar em **Gerar novo código** pra sortear
  outro aleatório; o sistema recusa salvar se o código já pertencer a outra
  pessoa.
- Aparece em texto simples na ficha do usuário (diferente da senha, que
  nunca é reexibida) — é o mesmo código que a pessoa vai digitar pra entrar,
  então precisa poder ser consultado e, se for o caso, anotado/impresso.
  Não é um segredo de uso único: continua valendo até alguém trocar.

Onde o código de acesso é aceito — hoje o **modo padrão** em todo lugar que
pede login, com usuário/senha disponível como alternativa (botão "Entrar com
usuário e senha"):
- Ao **abrir o aplicativo**, na tela de login.
- No atalho **F2** (trocar de usuário sem fechar o app, ver
  [Atalhos de teclado](https://iurru.com/manual/Atalhos-de-teclado)).
- No **PDV**, pra destravar a tela quando **Preferências → Segurança →
  Exigir código após venda** está ligado — ver
  [PDV#trava-pós-venda](https://iurru.com/manual/PDV#trava-pós-venda). Aqui não tem alternativa de
  usuário/senha: é só código.
- Na **versão mobile compacta** ([Acesso pela rede](https://iurru.com/manual/Acesso-pela-rede)), a
  tela de login também abre pedindo o código por padrão — mesmo mecanismo
  do desktop, mesmo código por usuário.

As mesmas regras de acesso do login normal continuam valendo com código:
usuário **inativo** ou **fora do turno** cadastrado é recusado igual ao
login por usuário/senha (ver [Turnos de trabalho](#turnos-de-trabalho)).

### Papéis

Os papéis seguem uma **hierarquia de presets** — cada nível acima parte de
um conjunto de permissões que enxerga mais que o de baixo:

```
(Vendedor = Caixa = Estoquista = Mecânico, cada um com sua permissão específica)
  < Financeiro
  < Administrador
  < Desenvolvedor (só conta de suporte, não aparece pra escolher aqui)
```

- **Vendedor**, **Caixa**, **Estoquista** e **Mecânico** ficam no mesmo
  nível — cada um com seu próprio conjunto de permissões, sem um mandar no
  outro. Vendedor abre o PDV mas não vê custo nem mexe no caixa; Caixa abre o
  PDV **e** opera o caixa, com desconto liberado; Estoquista não abre o PDV,
  mas tem controle total do estoque (inclusive **ver custo**, já que precisa
  avaliar valor de inventário); Mecânico não abre o PDV nem vê relatório, mas
  edita clientes/ordens (o suficiente pra rodar a [Oficina](https://iurru.com/manual/Oficina)) e vê
  custo dos produtos que usa no serviço.
- **Mecânico** é também o único papel que enxerga o menu **Oficina** na
  versão instalada (produção) — ver [Oficina](https://iurru.com/manual/Oficina).
- **Financeiro** enxerga custo/margem, relatórios completos (com exportação)
  e crédito de cliente (ver e conceder), mas **não abre o PDV** nem mexe em
  configuração — é o papel de quem analisa números, não de quem vende.
- **Administrador** é o topo **disponível pra qualquer conta cadastrada por
  aqui** — vê e configura tudo, inclusive Usuários e o editor de Layout.
- **Desenvolvedor** existe no banco (é a conta de suporte técnico) mas **não
  aparece na lista de papéis desta tela** — nenhum administrador consegue
  criar ou promover alguém pra esse papel por aqui, mesmo tentando forçar a
  requisição por fora da tela. É reservado pra quem dá suporte remoto.
- A **conta de suporte não aparece na lista de usuários** de quem não é
  suporte, e não pode ser editada, desativada, ter a senha trocada nem as
  permissões mudadas pelo admin da loja.

**Importante sobre essa hierarquia**: ela é só um **atalho de cadastro** — o
sistema não tem herança automática de permissão no código. Cada papel tem seu
próprio conjunto fixo de permissões marcadas (o "preset"); o papel de cima não
"herda" o de baixo por regra estrutural, alguém só escreveu os presets de
forma consistente entre si. Na prática isso quer dizer: o papel é o **ponto
de partida** ao criar o usuário; o que realmente manda, depois disso, são as
**permissões marcadas** individualmente — dá pra ter, por exemplo, um
Vendedor com permissão extra de **Dar desconto** ligada à mão, mesmo isso não
sendo o padrão do papel.

---

## Permissões

Cada usuário tem permissões marcadas uma a uma, em sete grupos — é essa
lista, não o nome do papel, que a tela e a API checam a cada ação:

### PDV
| Permissão | Efeito |
| --- | --- |
| **Abrir PDV** | Acessa a frente de caixa |
| **Cancelar item** | Remove linha do carrinho (F8) |
| **Cancelar venda** | Descarta a venda inteira (F9) |
| **Dar desconto** | Libera desconto no item e desconto geral da venda |
| **Ver custo** | Vê preço de custo e margem nas telas — sem isso, o usuário só vê preço de venda |
| **Editar histórico de vendas** | Vê o botão **Editar venda** no Histórico de vendas e pode **diminuir** o valor de uma venda concluída (preço do item ou descontos) — nunca aumentar. Ligada para administradores |

Além dessas, quem tem **Configuração → Usuários** vê dois campos extras
dentro do grupo PDV, ao editar a permissão de outra pessoa:
- **Limite máx. de desconto (%)** — teto de desconto que essa pessoa pode
  dar, de 0 a 100. Vazio = sem limite (o padrão de todo papel hoje é "sem
  limite" — esse campo existe pra apertar caso a caso, não vem restrito por
  papel).
- **Pode vender abaixo do preço de custo** — se desmarcado, o PDV recusa
  fechar uma venda cujo preço fique menor que o custo do produto pra essa
  pessoa. Vem **marcado (permitido)** por padrão em todos os papéis.

### Estoque
| Permissão | Efeito |
| --- | --- |
| **Visualizar** | Vê o módulo de estoque |
| **Editar produtos** | Cria e altera produtos |
| **Ajustar estoque** | Lança movimentações manuais (entrada/saída avulsa) |
| **Importar catálogo** | Importa listas de produtos em lote |

### Clientes
| Permissão | Efeito |
| --- | --- |
| **Visualizar** | Vê a lista de clientes |
| **Editar** | Cria e altera cadastro de clientes |
| **Ver crédito** | Vê [histórico de compras e a aba Notas/fiado](https://iurru.com/manual/Clientes#histórico-de-compras) do cliente — sem essa permissão, o cadastro básico aparece mas o financeiro dele fica escondido |
| **Conceder crédito** | Define/altera o limite de crédito do cliente |

### Fornecedores
**Visualizar**, **Editar**, **Importar catálogo** — mesmo padrão de Estoque,
aplicado ao cadastro de fornecedores.

### Relatórios
**Visualizar**, **Exportar** — exportar é uma permissão separada de
visualizar; dá pra deixar alguém ver os números na tela sem poder tirar uma
planilha deles.

### Configuração
| Permissão | Efeito |
| --- | --- |
| **Layout** | Usa o [editor de layout](https://iurru.com/manual/Interface#editor-de-layout) |
| **Sistema** | Configurações da empresa, log, impressora, rede — o nível mais alto de configuração que uma conta comum pode ter |
| **Usuários** | Cria usuários, altera permissões de outros usuários (inclusive o campo de limite de desconto acima) |

### Caixa
**Visualizar**, **Registrar** (abrir/fechar turno de caixa e lançar
sangria/suprimento).

---

## Como as permissões aparecem na prática

- **Menus somem.** Sem permissão de financeiro, o menu Financeiro não é
  exibido — não é erro, é escopo: a pessoa não vê a opção porque não tem
  acesso a ela, não porque algo quebrou.
- **Botões recusam.** Ações protegidas informam "Sem permissão para…" em vez
  de falhar silenciosamente ou mostrar erro técnico cru — ver a regra de
  [tratamento de erro global do sistema](https://iurru.com/manual/FAQ), a mesma ideia se aplica aqui.
- **Colunas somem.** Sem **Ver custo**, o usuário enxerga preço de venda mas
  não custo nem margem, em nenhuma tela que mostre essa informação junto.

### Presets por papel, exatamente como o sistema aplica hoje

| Papel | PDV | Estoque | Clientes | Relatórios | Configuração | Caixa |
| --- | --- | --- | --- | --- | --- | --- |
| **Vendedor** | Abre, cancela item, sem custo | Só visualizar | Visualizar apenas | Só visualizar | Nenhuma | Nenhuma |
| **Caixa** | Abre, cancela item **e venda**, dá desconto, sem custo | Só visualizar | Visualizar apenas | Só visualizar | Nenhuma | Visualizar e registrar |
| **Estoquista** | Não abre PDV, mas vê custo | Completo (editar, ajustar, importar) | Visualizar apenas | Só visualizar | Nenhuma | Nenhuma |
| **Mecânico** | Não abre PDV, mas vê custo | Só visualizar | Visualizar **e editar** | Nenhuma | Nenhuma | Nenhuma |
| **Financeiro** | Não abre PDV | Só visualizar | Ver e **conceder crédito** | Visualizar **e exportar** | Nenhuma | Visualizar |
| **Administrador** | Tudo | Tudo | Tudo | Tudo | Tudo (Layout, Sistema, Usuários) | Tudo |
| **Desenvolvedor** | Tudo | Tudo | Tudo | Tudo | Tudo | Tudo — mas não aparece pra escolher na tela |

Essa tabela é o **ponto de partida** de cada papel ao criar o usuário, não
uma trava permanente — permissões individuais continuam editáveis depois.

**Trocar o papel de um usuário existente substitui o bag de permissões
inteiro pelo preset novo — com duas exceções**: **Limite máx. de desconto**
e **Pode vender abaixo do custo** (os dois campos de ajuste fino descritos
em [PDV](#pdv) acima) **sobrevivem à troca**, porque são configuração por
pessoa, não algo que o papel deva decidir. Ou seja: se você já tinha
apertado o limite de desconto de alguém pra 5% e depois muda o papel dela de
Vendedor pra Caixa, o limite de 5% continua valendo — só o resto das
permissões volta ao padrão do papel novo.

---

## Turnos de trabalho

Cada usuário pode ter **turnos de acesso** cadastrados: dias da semana +
**hora de início** e **hora de fim** — controla em que janela de tempo essa
pessoa consegue entrar no sistema (fora do turno, o login é recusado).

- **Sem nenhum turno cadastrado = acesso irrestrito**, qualquer dia e
  horário — turnos são opcionais, não um requisito de cadastro.
- É preciso selecionar ao menos um dia da semana pra salvar um turno.
- A hora de início precisa ser **anterior** à hora de fim (não dá pra
  cadastrar um turno que atravesse a meia-noite, ex.: 22:00–06:00, do jeito
  que a tela valida hoje).
- Um usuário pode ter **vários turnos** — por exemplo, um pra dias de semana
  e outro, diferente, pro sábado.

---

## Segurança básica

- Troque a senha do `admin` no primeiro acesso → [Primeiros passos](https://iurru.com/manual/Primeiros-passos#3-primeiro-login).
- **Um usuário por pessoa.** Login compartilhado inutiliza o histórico: sem
  ele, não há como saber quem deu o desconto, quem cancelou a venda ou quem
  ajustou o estoque — toda a rastreabilidade de "quem fez o quê" descrita em
  [O que é um usuário, aqui](#o-que-é-um-usuário-aqui) depende de cada pessoa
  ter o próprio login.
- Ao desligar alguém, **inative** o usuário em vez de excluir — diferente de
  [Clientes](https://iurru.com/manual/Clientes#cadastrar), Usuários **têm** esse estado "ativo/inativo"
  dedicado (campo **Ativo** no cadastro): inativar bloqueia o login na hora,
  sem apagar nada, e o histórico das vendas/ajustes que essa pessoa fez
  continua íntegro e ligado ao nome dela nos relatórios.

---

← Anterior: [Relatórios](https://iurru.com/manual/Relatorios) · [Manual](https://iurru.com/manual/) · Próxima: [Comissões](https://iurru.com/manual/Comissoes)
