Pular para o conteúdo
Fiscal ProBiblioteca
Rejeição 946 · Regra N12-98

Rejeição 946: código de benefício fiscal incorreto ou inexistente

Revisão editorial em 16 de out. de 2026. Confira as versões e condições das regras nas fontes do artigo.

A rejeição 946, regra N12-98, verifica se o código de benefício fiscal informado no item existe e está vigente na tabela da UF. É uma validação de existência e vigência: não significa, sozinha, que o benefício foi escolhido corretamente para a operação. NT 2019.001, versão 1.70, página 19

Nesta página: Onde está o código que foi rejeitado? · Quando a regra se aplica e quais são as exceções? · Exemplo: código existente em outra tabela · Como distinguir a 946 de outras rejeições de benefício?

Onde está o código que foi rejeitado?

No XML da mesma tentativa, localize NFe/infNFe/det/prod/cBenef no item indicado pelo retorno. Compare o texto exato, inclusive prefixo da UF, zeros e eventuais espaços, com o cadastro que alimentou a emissão. cBenef fica no produto do item; cBenefRBC é outro campo, do ICMS51, relacionado à redução de base. Não substitua um pelo outro.

A tabela usada na conferência precisa ser a publicada pela Secretaria de Fazenda competente e válida para a data da operação. Um código que aparece em tabela antiga ou de outro Estado não comprova sua existência na tabela pertinente. Registre a versão consultada, período de vigência e linha do código. NT 2019.001, páginas 19–22

Quando a regra se aplica e quais são as exceções?

A N12-98 é facultativa por UF e modelo, abrangendo 55 e 65 na linha da regra. Não se aplica quando informado CSOSN. Também há exceção comum para devolução de mercadoria com destino interestadual ou exterior; outras devoluções, ajuste e entrada podem ser excepcionados a critério da UF.

O quadro da versão 1.70 informa a programação por UF, modelo e exceção: DF, GO, PR, RJ, RS, SC e SP têm entradas específicas; ES e demais UFs aparecem com D*, regra não aplicada naquele quadro. Para SC, constam homologação em 02/12/2024 e produção em 03/11/2025; para SP, 12/01/2026 e 06/04/2026. Esses marcos não demonstram o comportamento de uma tentativa individual. Confirme a configuração atual do autorizador e preserve as condições reais da nota. NT 2019.001, páginas 21–22

Exemplo: código existente em outra tabela

Em cenário sintético, a origem guarda um benefício confirmado para a UF A. Uma rotina de importação copia seu texto para produto de estabelecimento da UF B, cujo XML passa a carregá-lo. A busca na tabela de B não encontra o código, embora ele exista na tabela de A. A comparação confirma erro de reutilização cadastral; mudar a UF do emitente para combinar com o código seria uma alteração indevida do fato real.

Em outro cenário, o código pertence à UF certa, mas sua vigência terminou antes da emissão. Leve ao responsável fiscal a operação, a data, a tabela e o fundamento antes de definir qualquer substituição. Não é possível determinar um benefício novo a partir da mensagem. A demonstração usa comparação textual porque reproduzir cBenef fictício em XML não comprovaria existência nem vigência.

Como distinguir a 946 de outras rejeições de benefício?

A 930 trata da falta de cBenef quando exigido; a 928, de informação de benefício para CST sem benefício; a 931 abrange incompatibilidade entre benefício, CST e UF. Já a 946 focaliza existência e vigência do código. Um código pode existir e ainda falhar na compatibilidade com o CST. NT 2019.001, páginas 17–19

Após confirmar a causa, corrija o cadastro ou mapeamento que originou a divergência e confira cBenef no arquivo regenerado. Não elimine o campo nem adote a literal SEM CBENEF sem condição documentada para o CST e a UF. Preserve o original e o retorno; em envio incerto, confirme o estado antes de repetir. A rejeição não autoriza alterar documento já autorizado.

Fontes oficiais