"Regra fiscal", no Odoo, tem um lugar concreto: é cada linha da aba Odoo Impostos de uma posição fiscal, e o bloco Regras Fiscais dentro de cada imposto. São esses dois pontos que decidem qual tributo entra em cada item da nota, com qual CST e qual CFOP.
Os dois lugares onde a regra vive
| Na posição fiscal (abo Odoo Impostos) | A regra vale só para aquela operação. É o lugar normal: "nesta venda interestadual, ICMS 12% para o Sul/Sudeste e 7% para o resto". |
| No imposto (aba Regras Fiscais) | A regra viaja com o imposto para toda posição que o use. Serve para condições que são do tributo, não da operação: o CST padrão, os NCMs que ele cobre, o valor mínimo tributável. |
Os campos de uma regra
- Imposto — qual tributo aplicar.
- CST — o código que sai no XML. Um mesmo ICMS pode ter CST 00 numa operação e 41 em outra; por isso o CST fica na regra, não só no imposto.
- CFOP — o código da operação para aquela linha.
- UF's Destinos — a condição geográfica. Vazio significa "todas as UFs".
- NCM de Produtos — a condição por mercadoria. Vazio significa "todos os NCM".
- Categoria Fiscal Produtos — a condição por tipo de produto (revenda, uso e consumo, imobilizado…).
As condições são combinadas em E: uma regra com UF = MG e NCM = 52081100 só entra quando o destinatário é de Minas e o item é daquele NCM.
Como o Odoo resolve, na ordem
- O vendedor lança o pedido. A posição fiscal entra pelo cadastro do cliente ou pela detecção automática.
- Para cada linha do documento, o sistema lê as regras da aba Odoo Impostos daquela posição.
- Descarta as regras cuja UF de destino não bate com a UF do destinatário.
- Descarta as regras cujo NCM ou categoria fiscal não bate com o produto da linha.
- Aplica as regras restantes: cada uma contribui com um imposto, seu CST e, se houver, seu CFOP.
- Verifica ainda o bloco Regras Fiscais do próprio imposto — valor mínimo tributável, redução de base, NCMs — antes de calcular.
- O XML sai com CFOP, CST/CSOSN, base, alíquota e valor por item.
Um exemplo completo
A Aurora, em São Paulo, vende tecido (NCM 52081100) para uma confecção em Minas Gerais, cadastrada como 1 - Contribuinte ICMS.
- A detecção automática escolhe Venda interestadual (o cliente é de MG, não de SP).
- Entre as cinco regras da posição, a de ICMS 12% bate — MG está na lista de UFs dela. A de ICMS 7% não bate.
- As regras de IPI 5%, PIS 1,65% e COFINS 7,6% não têm restrição de UF: todas entram.
- A linha sai com CFOP 6102, CST 00 no ICMS, CST 50 no IPI e CST 01 no PIS/COFINS.
Ninguém digitou alíquota, CFOP ou CST. Se o mesmo tecido fosse para um cliente do Ceará, a regra de ICMS 7% é que entraria — e o resto ficaria igual.
NCM, CST e categoria fiscal
As três dimensões que as regras usam para decidir vêm de cadastros próprios:
- NCM — a classificação da mercadoria, com mais de 10 mil códigos, no cadastro Classificações Fiscais. Define IPI e, em muitos estados, o enquadramento em ST.
- CST — o Código de Situação Tributária, no Cadastro de CST Alíquotas, com um conjunto por tributo (ICMS, ICMS ST, IPI, PIS, COFINS, II, CBS/IBS).
- Categoria Fiscal — agrupamento livre de produtos, em Configurações → Cadastros → Categoria Fiscal. É a forma de tratar "revenda", "uso e consumo" e "imobilizado" sem configurar produto a produto.
Benefício fiscal: CST × NCM × CFOP
Alguns estados exigem o código de benefício fiscal (cBenef) quando a operação é incentivada. O Odoo tem um cadastro específico para isso em Configurações → Cadastros → Cadastro de Benefício Fiscal x CST x NCM: cada registro cruza NCM, CFOP e CST do ICMS com o código de benefício que deve sair no XML. O CST que exige esse preenchimento vem marcado com Utiliza Benefício Fiscal (cBenef) no cadastro de CST.
Quando a nota é rejeitada por regra fiscal
| NCM ausente ou inválido | Produto sem NCM, ou com código que não existe na tabela. Corrija no cadastro do produto. |
| CFOP incompatível com a operação | CFOP 5xxx numa venda interestadual, ou 6xxx dentro do estado. Quase sempre é posição fiscal errada no documento. |
| CST incompatível com o CFOP | CST 41 (não tributada) com CFOP de venda tributada, por exemplo. Ajuste o CST na regra. |
| Indicador de IE errado no destinatário | Muda o cálculo do DIFAL e é validado pela SEFAZ. Veja cadastro de clientes. |
| cBenef faltando | CST que exige benefício fiscal sem o código correspondente cadastrado. |
As cinco se corrigem no cadastro, não na nota: ajuste a origem e gere o documento de novo.
Onde ver se as regras estão funcionando
A seção Itens dos documentos do Painel Fiscal mostra a distribuição real de CFOP, de CST/CSOSN do ICMS e de NCM nos itens autorizados, além de um card de Conferência fiscal com o que pode virar rejeição ou SPED errado: itens sem CST, itens sem NCM, documentos rejeitados, provisórios com data vencida. É o melhor termômetro de que as regras estão certas — ou de que alguém está furando a configuração.