Regras do ERPia: o que o sistema permite, bloqueia e exige#
O ERPia não é uma tela que aceita tudo. Ele recusa operação fora de regra, exige permissão para atos sensíveis e trava o que já produziu efeito fiscal ou financeiro. Esta página reúne as regras que você esbarra no dia a dia — na voz do próprio sistema, com a mensagem que aparece na tela.
Serve para três perguntas: "eu posso fazer isso?", "por que o sistema recusou?" e *"o que isso protege?"*.
As cinco travas que explicam quase tudo#
Antes das regras por área, entenda as cinco famílias. De quase toda recusa do ERPia sai uma delas:
| Trava | O que significa | Por que existe |
|---|---|---|
| Permissão | o ato exige um direito no seu perfil; sem ele, o sistema recusa ou escala para autorização | ninguém faz ato sensível por acidente ou por ter a tela aberta |
| Estado | a operação exige que o objeto esteja em determinado estado (turno aberto, nota em rascunho, sessão bloqueada) | impede ação fora de ordem e retrabalho |
| Efeito produzido | o que já gerou documento fiscal, lançamento ou venda não é editado nem apagado | auditoria: o passado não muda, corrige-se por novo ato |
| Concorrência | se outra pessoa alterou o mesmo objeto entre a sua leitura e o seu clique, o sistema avisa e exige recarregar | dois usuários não sobrescrevem um ao outro em silêncio |
| Falha fechada | quando o sistema não consegue verificar, ele recusa em vez de liberar | o erro seguro é bloquear, não permitir |
Caixa, turno e jornada#
O caixa tem dois ciclos independentes: a jornada (dia de caixa) e o turno (custódia do operador).
| O sistema recusa quando… | Mensagem |
|---|---|
| você tenta encerrar turno que não está aberto | turno nao esta aberto para encerramento |
| o fundo que fica supera o dinheiro contado | fundo transferido supera dinheiro contado |
| o turno já tem malote com outro lacre | turno ja possui malote com outro lacre |
| o lacre lido não é o do malote do turno | lacre não confere com o malote do turno |
| você tenta fechar o dia com turno pendente | confira todos os turnos dos operadores antes de fechar o caixa (… turno(s) pendente(s)) |
| o dia do caixa já foi fechado | o caixa deste dia já foi fechado |
| há sangria sem destino declarado | fechamento recusado: … sangria(s) sem destino declarado; declare o destino antes de fechar o dia |
| a sessão não está pendente de conferência | sessão não está pendente de conferência |
| você não informou o motivo da divergência | informe o motivo (quebra ou troca de forma) |
| o turno já foi encerrado com outro snapshot | turno ja encerrado com outro snapshot |
| outra pessoa alterou o dia ou a sessão | o dia do caixa foi alterado por outra conferência, recarregue · sessão foi alterada por outra conferência, recarregue |
Regras de leitura destas mensagens:
- Sangria sem destino trava o fechamento do dia. Não é aviso: o dia não fecha. Declare o destino no momento da sangria.
- Divergência exige motivo. Quebra e troca de forma são razões diferentes — troca de forma não é perda.
turno ja encerrado com outro snapshotsignifica que o turno foi encerrado com números diferentes dos que você está vendo. Recarregue antes de insistir.
PDV: venda e pagamento#
| O sistema recusa quando… | Mensagem |
|---|---|
| o IPI tem valor e não entrou no total cobrado | IPI com valor nao pode ser emitido na NFC-e antes de compor o total cobrado no checkout |
| Regime Normal tenta emitir NFC-e sem IBS/CBS | desde 03/08/2026 a SEFAZ recusa NFC-e de Regime Normal sem IBS/CBS: publique a regra fiscal com IBS/CBS antes de emitir |
| falta o cálculo nacional fechado | snapshot fiscal obrigatorio da NFC-e nao possui calculo nacional fechado |
| pagamento integrado não declara o plugin | pagamento integrado exige plugin_pagamento explícito |
| pagamento integrado não declara a referência externa | pagamento integrado exige referencia_externa explícita |
| pagamento não integrado vem com origem de plugin | pagamento não integrado não aceita origem de plugin |
| a NFC-e não tem data de emissão legível | NFC-e sem data de emissao legivel (…): dhEmi e obrigatorio |
NFC-e: cancelamento e inutilização#
| O sistema recusa quando… | Mensagem |
|---|---|
| o documento não está autorizado | somente uma NFC-e autorizada pode ser cancelada |
| já existe intenção fiscal diferente para o documento ou faixa | ja existe uma intencao fiscal diferente para este documento ou faixa |
| a faixa sobrepõe inutilização existente | a faixa informada sobrepoe uma inutilizacao existente |
| a faixa contém numeração já usada | a faixa informada contem numeracao de NFC-e ja utilizada |
| a justificativa está fora do tamanho legal | a justificativa deve ter entre 15 e 255 caracteres |
| o ano está fora da faixa | ano deve estar entre 2000 e 2099 |
| a série está fora da faixa | serie deve estar entre 0 e 999 |
| a faixa está invertida | faixa invalida: numero inicial deve ser positivo e menor ou igual ao final |
| a nota deixou de estar autorizada durante a reconciliação | NFC-e deixou de estar autorizada antes da reconciliacao do cancelamento |
| estourou o limite de tentativas | limite de sequencias de cancelamento atingido para esta NFC-e |
Justificativa de cancelamento: 15 a 255 caracteres. É exigência da SEFAZ, não do ERPia — texto curto demais é rejeitado na origem.
Entrada de NF-e e conferência#
| O sistema recusa quando… | Mensagem |
|---|---|
| o arquivo não é XML de NF-e | esse arquivo não é um XML de NF-e válido |
| a nota já foi importada | essa nota já foi importada antes |
| você confirma conferência antes de dar entrada | dê entrada na nota antes de confirmar a conferência |
| mais de um produto usa a mesma referência | mais de um produto usa essa referência — revise os EANs duplicados antes de vincular |
| não existe produto com o código ou EAN | não encontrei produto com esse código ou EAN — confira a referência ou crie um produto novo a partir do XML |
| a nota mudou durante a conferência | a nota foi alterada enquanto a conferência estava aberta; atualize a nota e confira novamente |
| outra pessoa concluiu a conferência | a conferência desta nota já foi concluída por outro usuário; atualize a tela |
| não há sugestão de alta confiança para aceitar | nenhuma sugestão de alta confiança para aceitar — use "Criar produtos novos" para os itens que a IA não reconheceu |
A importação é idempotente por nota: reimportar o mesmo XML não duplica estoque — o sistema
recusa com essa nota já foi importada antes.
Estoque: local, transferência e inventário#
| O sistema recusa quando… | Mensagem |
|---|---|
| a loja não tem local de estoque padrão | loja sem local de estoque padrao |
| origem e destino são iguais | origem e destino devem ser locais diferentes |
| a quantidade é zero ou negativa | a quantidade a transferir deve ser maior que zero |
| o local não é da loja ou está inativo | o local informado nao pertence a loja ou esta inativo |
| não há saldo no local de origem | saldo insuficiente no local de origem |
| você reenvia a mesma operação com dados diferentes | esta operacao ja foi aplicada com outro produto, outra origem, outro destino ou outra quantidade; abra um novo formulario |
| o inventário não tem local definido | inventario sem local de estoque definido |
| a sessão não está em andamento | inventario nao esta em andamento |
| a sessão não está bloqueada para revisão de local | sessao nao esta bloqueada para revisao de local |
| falta permissão de inventariar | sem permissao para inventariar |
Precificação#
| O sistema recusa quando… | Mensagem |
|---|---|
| o produto não tem custo | preço sugerido inválido (produto sem custo?) |
| você não escolheu a loja | escolha uma loja para aplicar o preço · escolha uma loja para aplicar o preço em lote |
| nada foi selecionado | nenhum produto selecionado |
| nenhum preço pôde ser aplicado | nenhum preço aplicado (produtos sem custo?) |
Preço é por loja. Sem loja escolhida não há aplicação — e produto sem custo cadastrado não recebe preço sugerido. Custo ausente distorce margem; é a primeira coisa a conferir quando um número parece errado.
Perfil fiscal: o que trava depois de usar#
Esta é a área com as travas mais fortes do produto, e as que mais surpreendem:
| O sistema recusa quando… | Mensagem |
|---|---|
| o perfil foi substituído por outra versão | este perfil fiscal foi substituido por outra versao e por isso nao e mais alterado |
| o perfil já foi usado em venda emitida | este perfil fiscal ja foi usado em venda emitida; ele nao pode ser alterado nem excluido, crie uma nova versao |
| o perfil está aplicado a produtos | este perfil fiscal ja esta aplicado a produtos; troque o perfil fiscal deles antes de excluir |
| você tenta mudar o status por edição | O status da tributacao nao muda por edicao. Para homologar, use a acao Homologar (exige a permissao fiscal.perfil_fiscal_homologar); para desativar ou substituir, procure o responsavel fiscal. |
| alteração de tributação homologada sem permissão | alterar tributacao homologada exige permissao de homologacao: ela deixa de valer e os produtos vinculados voltam para a fila fiscal |
| o perfil não está homologado (na emissão) | A tributacao selecionada ainda nao foi homologada. |
As três consequências que você precisa saber antes de mexer:
- Perfil usado em venda emitida é imutável. Não se corrige: cria-se nova versão. Isso é auditoria fiscal, não burocracia.
- Alterar tributação homologada devolve os produtos à fila fiscal. O efeito é em cascata e imediato — os produtos vinculados param até nova homologação.
- Status não muda por edição. Homologar é ação própria, com permissão própria (
fiscal.perfil_fiscal_homologar).
Finanças e contas#
| O sistema recusa quando… | Mensagem |
|---|---|
| a baixa é posterior à data de corte e falta a conta | baixa apos o corte exige conta financeira; o parametro financeiro.conta_obrigatoria_a_partir_de esta preenchido |
| o valor conciliado supera o saldo da fatura | valor conciliado excede o saldo da fatura |
| o motivo do ajuste é curto ou longo demais | motivo deve ter entre 10 e 500 caracteres |
| a DRE não pode ser apurada | DRE indisponível: recebíveis de cartão ainda estão incompletos ou sem taxa cadastrada |
| a conta foi reativada sem classificação | classifique a linha da DRE desta conta antes de reativá-la — sem isso os lançamentos ficam fora do resultado |
| o usuário declarado não é o da sessão | usuario declarado difere da sessao autenticada |
Acesso, usuário e sessão#
| O sistema recusa quando… | Mensagem |
|---|---|
| há dois usuários com o mesmo e-mail | ha mais de um usuario com esse email nesta empresa; resolva a duplicidade antes de liberar o acesso |
| o usuário está inativo | o usuario deste email esta inativo; reative-o antes de liberar o acesso |
| o usuário não é administrador | o usuario deste email nao e administrador; escolha o administrador cadastrado ou ajuste o perfil antes de liberar o acesso |
| ninguém com aquele e-mail está ativo | nenhum usuario ativo com esse email nesta empresa |
| o usuário não tem retaguarda naquela empresa | usuario sem permissao para retaguarda nesta empresa |
| a homologação não tem responsável identificado | sessao sem usuario identificado: a homologacao precisa de um responsavel |
Homologação exige responsável. O sistema não aceita ato fiscal anônimo: sem usuário identificado na sessão, a homologação não acontece.
Onde conferir a permissão de cada ato#
A permissão que libera cada tela está na Referência de telas e o conjunto de permissões por papel em Papéis, perfis e permissões. Quando o sistema recusar por falta de direito, a mensagem escala para autorização de gerente nos fluxos que permitem escalonamento — nos demais, o caminho é pedir o direito a quem administra perfis.