📘 Como gerar a tag cBenef no XML da NF-e no Protheus


Data de publicação: 20/07/2026

🎯 Objetivo

Orientar a configuração necessária no TOTVS Protheus para gerar a tag cBenef no XML da NF-e 4.00, considerando a unidade federativa do emitente, a importação dos códigos de benefícios fiscais, a parametrização das rotinas FISA156 e FISA140 e a geração dos registros na tabela CDV.


🧩 Ambiente

A orientação é aplicável aos seguintes produtos:

  • TOTVS Backoffice – Linha Protheus – Documentos Eletrônicos – NF-e, a partir da versão 12.1.25;

  • TOTVS Service SOA – TSS, a partir da versão 12.

O artigo oficial utilizado como referência foi atualizado pela TOTVS em 23/03/2026. (Central de Atendimento TOTVS)


🔎 O que é a tag cBenef

A tag cBenef identifica o código de benefício fiscal utilizado na operação tributária. Sua validação é realizada conforme a UF do emitente da NF-e, razão pela qual a configuração deve considerar a legislação, a tabela de códigos e as regras aplicáveis ao estado responsável pela transmissão. (Central de Atendimento TOTVS)

Exemplo de geração no XML:

<cBenef>PRXXXXXXXX</cBenef>

O conteúdo efetivamente informado dependerá do código de benefício fiscal correspondente à operação, ao CST, ao CFOP e às regras estabelecidas pela unidade federativa.


🗺️ Estados que utilizam a Tabela 5.2

A TOTVS indica o uso dos códigos da Tabela 5.2 do SPED para emitentes localizados, entre outros, nos seguintes estados:

  • Paraná — PR;

  • Rio de Janeiro — RJ;

  • Rio Grande do Sul — RS;

  • Distrito Federal — DF;

  • Santa Catarina — SC;

  • Goiás — GO. (Central de Atendimento TOTVS)

A relação oficial de códigos de benefício pode ser consultada no Portal Nacional da NF-e, na área de documentos diversos, pesquisando pelo conteúdo relacionado a CBENEF. (Central de Atendimento TOTVS)

⚠️ A definição do código aplicável deve ser realizada pela área fiscal ou tributária da empresa, de acordo com a legislação e com o enquadramento da operação.


⚙️ Parâmetros necessários

1. Configurar o MV_ESTADO

O parâmetro MV_ESTADO deve refletir a unidade federativa do estabelecimento emitente.

Exemplos:

MV_ESTADO = PR
MV_ESTADO = RS
MV_ESTADO = RJ
MV_ESTADO = DF

A configuração correta desse parâmetro é importante para que o sistema identifique o tratamento fiscal aplicável à UF de transmissão da nota. (Central de Atendimento TOTVS)


2. Configurar o MV_GIAEFD

O parâmetro deve permanecer configurado como falso:

MV_GIAEFD = .F.

Quando o MV_GIAEFD estiver configurado como .T., a tabela CDV, responsável por fornecer as informações para a geração da tag cBenef, não será alimentada pelo documento fiscal. Consequentemente, a tag não será gerada no XML. (Central de Atendimento TOTVS)

O parâmetro havia sido criado para atender à geração do registro E115 da EFD ICMS/IPI. Entretanto, a TOTVS informa que o procedimento atual também permite gerar esse registro, não sendo mais necessário manter o MV_GIAEFD como verdadeiro para essa finalidade. (Central de Atendimento TOTVS)


3. Configurar o literal “SEM CBENEF”

Quando a legislação ou a regra da UF determinar o envio do literal SEM CBENEF para determinados CSTs, a configuração deve ser realizada no parâmetro:

MV_CODCST

A TOTVS apresenta como exemplo uma configuração que relaciona a UF aos respectivos CSTs:

PR=90;41;RS=10,90;GO;SC;

O conteúdo precisa ser revisado conforme a regra vigente de cada estado e o cenário tributário da empresa. (Central de Atendimento TOTVS)


📥 Importação dos códigos da Tabela 5.2

Os códigos de valores declaratórios podem ser:

  • importados pelo programa U_IMPSPED; ou

  • cadastrados manualmente na rotina FISA156 – Códigos de Valores Declaratórios. (Central de Atendimento TOTVS)

1. Baixar a tabela oficial

Faça o download da Tabela 5.2 correspondente à unidade federativa no portal do SPED Fiscal.

2. Renomear o arquivo

O arquivo deve ser renomeado para:

TABELA52.TXT

3. Posicionar o arquivo

Coloque o arquivo em uma pasta dentro da estrutura:

Protheus_Data

4. Executar o importador

Inicie o Protheus utilizando o programa:

U_IMPSPED

Depois:

  1. selecione a pasta onde o arquivo foi gravado;

  2. escolha o arquivo TABELA52.TXT;

  3. clique em Abrir;

  4. confirme a execução da importação. (Central de Atendimento TOTVS)


🐧 Atenção em ambientes Linux

Em ambientes Linux, os nomes de arquivos e diretórios diferenciam letras maiúsculas e minúsculas. Dessa forma, caso o importador não localize o arquivo, valide o uso do nome em minúsculas:

tabela52.txt

Também confirme se o caminho informado corresponde exatamente à estrutura física existente no servidor.


🧾 Configuração na rotina FISA156

Na rotina:

FISA156 – Códigos de Valores Declaratórios

é possível consultar, incluir ou alterar os códigos utilizados no processo.

Um dos campos mais importantes é:

CDY_NFE – Gera NFe

O comportamento esperado é:

  • 1 – Sim: o código poderá ser levado para o XML;

  • 2 – Não: o código será desconsiderado na geração da tag cBenef;

  • em branco: o código também poderá ser considerado para a geração, conforme a orientação publicada. (Central de Atendimento TOTVS)

Códigos usados apenas no E115

Existem códigos da Tabela 5.2 que devem ser apresentados no registro E115 da EFD ICMS/IPI, mas não devem gerar a tag cBenef na NF-e.

Nesse caso, configure:

CDY_NFE = 2 – Não

Assim, o código poderá permanecer disponível para a obrigação fiscal, mas será ignorado na montagem do XML da NF-e. (Central de Atendimento TOTVS)


🔗 Amarração na rotina FISA140

Após importar ou cadastrar os códigos, acesse:

FISA140 – Produtos x Códigos de Valores Declaratórios

Nessa rotina, deve ser criada a relação entre o código declaratório e a operação fiscal.

Campos principais

A TOTVS orienta informar:

  • Produto;

  • CFOP da operação;

  • Código do Valor Declaratório;

  • CST;

  • Código de Reflexo;

  • Base para cálculo;

  • Alíquota;

  • Valor. (Central de Atendimento TOTVS)

Um exemplo de tratamento apresentado considera:

Base para cálculo = Base de ICMS
Alíquota           = Alíquota de ICMS
Valor              = Valor do ICMS

O Código de Reflexo precisa estar alinhado ao valor fiscal que será gravado e utilizado na geração do registro da tabela CDV.


⚠️ Código de Reflexo deve retornar valor

O Código de Reflexo configurado na FISA140 precisa retornar um valor diferente de zero.

Caso o campo:

CE0_NFVALO

retorne zero, as informações não serão gravadas na tabela CDV. Sem o registro na CDV, a tag cBenef não será gerada no XML. (Central de Atendimento TOTVS)

Esse é um dos principais pontos de análise quando toda a parametrização aparenta estar correta, mas o código não aparece na nota.


📦 Importação de produtos na FISA140

A rotina FISA140 possui um facilitador para inclusão em massa dos produtos.

Após preencher:

  • CFOP;

  • CST;

  • Código de Reflexo;

  • Código do Valor Declaratório;

é possível utilizar os filtros disponíveis para localizar os produtos e gerar automaticamente as amarrações correspondentes. (Central de Atendimento TOTVS)

Essa funcionalidade é especialmente útil quando o mesmo tratamento fiscal precisa ser associado a uma grande quantidade de itens.

⚠️ Antes da inclusão em massa, recomenda-se validar a regra com um único produto em homologação.


🧮 Exemplo de configuração da TES

O exemplo apresentado pela TOTVS considera uma TES com:

Calcula ICMS    = Sim
L. Fiscal ICMS  = Isento
CFOP            = CFOP da operação
Sit. Trib. ICM  = CST aplicável à operação

A TES, o CST, o CFOP e o Código de Reflexo da FISA140 precisam representar a mesma regra tributária. (Central de Atendimento TOTVS)

Essa configuração não deve ser replicada indiscriminadamente para todas as operações. O preenchimento depende do tratamento fiscal efetivamente aplicável ao documento.


🔍 Como validar antes do faturamento

Para verificar se a regra foi localizada e se os valores poderão ser gravados na CDV, acesse a planilha do pedido de venda e consulte:

Lançamento da Apuração → Valor Declaratório

Nessa área, o sistema deverá apresentar o código e os valores declaratórios encontrados para a operação. (Central de Atendimento TOTVS)

A validação prévia permite identificar problemas de:

  • produto não associado;

  • CFOP divergente;

  • CST incompatível;

  • Código de Reflexo sem retorno;

  • regra não localizada na FISA140;

  • código configurado para não gerar NF-e.


🗃️ Relação entre CDY, CDV e XML

O processo pode ser compreendido da seguinte forma:

Tabela CDY

Mantém os códigos de valores declaratórios importados ou cadastrados pela FISA156.

Rotina FISA140

Define em quais condições cada código será utilizado, considerando produto, CFOP, CST e Código de Reflexo.

Tabela CDV

Recebe as informações declaradas para o documento fiscal, desde que a regra seja localizada e o Código de Reflexo retorne valor.

XML da NF-e

Utiliza as informações da CDV e a configuração do código na CDY para gerar a tag:

<cBenef>CODIGO_DO_BENEFICIO</cBenef>

Se qualquer etapa anterior estiver incompleta, a tag poderá não ser apresentada.


🗺️ Tratamento para as demais unidades federativas

Para unidades federativas que não utilizam o fluxo da Tabela 5.2 descrito no artigo, a TOTVS informa que o cBenef pode ser configurado na TES, em Lançamento de Apuração do ICMS.

O código deve ser informado no campo:

CC7_CODLAN

com até 10 caracteres, conforme a Tabela 5.3. Na montagem do XML, será considerado o conteúdo correspondente do campo:

CDA_CODLAN

(Central de Atendimento TOTVS)

Para o estado de São Paulo, existem configurações específicas envolvendo as rotinas FISA140, FISA170 e tratamentos por grupo de cliente e produto. Essas parametrizações devem seguir a documentação própria da UF. (Central de Atendimento TOTVS)


⚠️ Principais motivos para a tag não ser gerada

Quando o cBenef não aparece no XML, confira:

  • MV_ESTADO diferente da UF emitente;

  • MV_GIAEFD configurado como .T.;

  • código não importado ou não cadastrado na FISA156;

  • CDY_NFE configurado como 2 – Não;

  • produto sem amarração na FISA140;

  • divergência de CFOP;

  • divergência de CST;

  • Código de Reflexo incompatível;

  • CE0_NFVALO retornando zero;

  • TES com configuração diferente da regra cadastrada;

  • documento fiscal gerado antes da correção das parametrizações;

  • regra específica da UF não atendida.


✅ Checklist de configuração

Antes de emitir a NF-e, valide:

  • MV_ESTADO corresponde à UF do emitente;

  • MV_GIAEFD = .F.;

  • MV_CODCST foi revisado, quando aplicável;

  •  Tabela 5.2 correta foi baixada;

  • arquivo foi renomeado para TABELA52.TXT;

  • importação foi concluída pelo U_IMPSPED;

  •  código está disponível na FISA156;

  • CDY_NFE está como 1 – Sim ou em branco;

  •  produto está amarrado na FISA140;

  •  CFOP da FISA140 coincide com a operação;

  •  CST coincide com a tributação utilizada;

  •  Código de Reflexo retorna valor;

  • CE0_NFVALO é diferente de zero;

  •  TES está coerente com a regra fiscal;

  •  valor declaratório aparece na planilha do pedido;

  •  registros foram gerados na CDV;

  • tag cBenef foi apresentada no XML;

  •  NF-e foi autorizada sem rejeições relacionadas ao benefício fiscal.


✅ Resultado esperado

Após a configuração correta dos parâmetros, a importação dos códigos, o cadastro na FISA156 e a amarração na FISA140, o Protheus deverá:

  1. identificar a regra aplicável ao item;

  2. calcular o valor definido pelo Código de Reflexo;

  3. gravar o valor declaratório na tabela CDV;

  4. consultar a configuração CDY_NFE;

  5. gerar a tag cBenef no XML da NF-e;

  6. transmitir o documento ao TSS e à SEFAZ. (Central de Atendimento TOTVS)


💡 Boas práticas

  • validar a legislação com a área fiscal antes de configurar os códigos;

  • realizar a configuração inicialmente em homologação;

  • testar com um único produto antes de importar em massa;

  • manter evidências da FISA156, FISA140, CDV e XML;

  • revisar o Código de Reflexo sempre que o valor declaratório não for gravado;

  • manter os códigos oficiais atualizados;

  • não realizar alterações diretas nas tabelas CDY ou CDV pelo banco de dados;

  • revisar as regras após atualizações fiscais ou mudanças promovidas pela UF.


❓ FAQ

1. Qual parâmetro pode impedir a alimentação da CDV?

O MV_GIAEFD. Quando configurado como .T., a CDV não é alimentada pelo documento fiscal e a tag cBenef não é gerada. (Central de Atendimento TOTVS)

2. Como importar a Tabela 5.2?

Baixe a tabela oficial, renomeie o arquivo para TABELA52.TXT, coloque-o na estrutura Protheus_Data e execute o programa U_IMPSPED. (Central de Atendimento TOTVS)

3. Posso cadastrar o código manualmente?

Sim. O cadastro pode ser realizado na FISA156 – Códigos de Valores Declaratórios. (Central de Atendimento TOTVS)

4. Qual rotina associa o benefício ao produto?

A rotina FISA140 – Produtos x Códigos de Valores Declaratórios. (Central de Atendimento TOTVS)

5. O que acontece quando CDY_NFE está como “Não”?

O código é ignorado na geração do XML, embora possa continuar sendo utilizado para o registro E115 da EFD ICMS/IPI. (Central de Atendimento TOTVS)

6. Por que a FISA140 está configurada, mas a CDV não foi gravada?

Verifique o Código de Reflexo. Se o campo CE0_NFVALO retornar zero, a informação não será gravada na CDV. (Central de Atendimento TOTVS)

7. Onde conferir o valor antes de emitir a nota?

Na planilha do pedido de venda, em Lançamento da Apuração → Valor Declaratório. (Central de Atendimento TOTVS)

8. Como gerar o cBenef para outras UFs?

Para UFs que utilizam outro tratamento, o código pode ser configurado na TES, no Lançamento de Apuração do ICMS, pelo campo CC7_CODLAN. (Central de Atendimento TOTVS)


🔗 Referência

TOTVS — Cross Segmentos — Backoffice Protheus — Documentos Eletrônicos — Como gerar a tag cBenef. (Central de Atendimento TOTVS)


👤 Autor

Fabrizio Augusto Ventavolo
Consultor Especialista TOTVS — Mastersiga Consultoria

“Conectamos tecnologia, processos e pessoas para acelerar resultados com excelência em sistemas TOTVS.”


Atualizado em 20/07/2026
Este artigo foi útil?  
Agradecemos sua avaliação.