14.6.2.12.1. gIBSCBS [RTCv130]
14.6.2.12.1.3. gCBS [RTCv140]
14.6.2.12.1.2.1. gIBSMun [obsoleto]
« Anterior
14.6.2.12.1.3.1. Operações ALC/ZFM [RTCv140]
Próximo »

14.6.2.12.1.3. gCBS [RTCv140]

Sumário

Grupo de Informações da CBS

Funcionalidade para gerar o XML do grupo do ID=UB55 - Grupo de Informações da CBS

Assinatura

string gCBSv140(double pCBS, double pDif_Opc, double vDif_Opc, double pDevTrib_Opc, double vDevTrib_Opc, double pRedAliq_Opc, double pAliqEfet_Opc, string gALCZFMCBS_Opc, double vCBS)

Descrição:

Funcionalidade para gerar o XML do grupo do ID=UB55 - Grupo de Informações da CBS

Importante

Atualização necessária para atender o novo leiaute da NF-e da NT 2025/002 v140 - Reforma Tributária do Consumo

Vigência:

  • ambiente de homologação: a partir de 01/07/2026
  • ambiente de produção: a partir de 03/08/2026

Versão da DLL requerida:

Histórico de atualização:

Parâmetros:

nome tipo tam. obrig. descrição
pCBS double 5,2-4 sim Informar a alíquota do CBS

A alíquota de CBS (pCBS) deverá ser:
- 0,9% para documento com data de emissão no ano de 2025 e 2026. (Art. 346 da LC 214/25);
Exceção: Se o cClassTrib possuir indicador de Tributação Regular, o pCBS deve ser igual a zero
Observação: Alíquota de referência a ser publicada para anos posteriores a 2026.
gDif grupo - CST=510
CST=515
Grupo de informações do Diferimento exigido quando CST=510-Diferimento ou CST=515-Diferimento com redução de alíquota

O gDIF - grupo do diferimento será gerado somente quando pDif_Opc > 0.
pDif_Opc double 5,2-4 CST=510
CST=515
Informar o percentual do diferimento
vDif_Opc double 15,2 CST=510
CST=515
Informar o valor do Diferimento
vDif = vBC x (pCBS / 100 x (pDif / 100)
gDev grupo - quando
houver
devolução
de tributos
Grupo de Informações da devolução de tributos
O gDev - grupo de devolução de tributos só será gerado quando pDevTrib_Opc > 0 ou vDevTrib_Opc > 0
Grupo usado para registrar a devolução de tributos no fornecimento de energia elétrica, água, esgoto, gás natural e em outras hipóteses definidas no regulamento.
pDevTrib_Opc double 5,2-4 quando
houver
devolução
de tributos
Informar o valor Percentual de devolução do CBS, conforme LC 214/25 art. 118.
(campo novo RTC v1.40)
vDevTrib_Opc double 15,2 quando
houver
devolução
de tributos
Valor do tributo devolvido (“cashback” de desconto na própria Nota Fiscal / Fatura)
gRed grupo - CST=200
CST=515
Grupo de informações da redução de alíquota exigido quando CST=200-Alíquota reduzida ou CST=515-Diferimento com redução de alíquota

O gRed - grupo da redução de alíquota será gerado somente quando pRedAliq_Opc > 0 ou pAliqEfet_Opc > 0.

Para gerar o grupo gRed com pRedAliq = 0.0000 e pAliqEefet = 0.00, informe pRedAliq_Opc=0.00001 ou pAliqEfet_Opc=0.00001
pRedAliq_Opc double 5,2-4 CST=200
CST=515
Informar o percentual da redução de alíquota do cClassTrib
pAliqEfet_Opc double 5,2-4 CST=200
CST=515
Informar a Alíquota Efetiva do CBS que será aplicada a Base de Cálculo

- Alíquota Efetiva (tag: pAliqEfet) deve ser o resultado de:
- Se NÃO houver compra governamental (grupo gCompraGov não informado): pAliqEfet = pCBS × (1 - pRedAliq / 100).
- Se houver compra governamental (grupo gCompraGov informado): pAliqEfet = pCBS × (1 - pRedAliq / 100) × (1 - gCompraGov/pRedutor / 100).

Exemplo: Redução de 40% na alíquota:
Alíquota vigente (A): 10%
Redução na alíquota (R): 40%
Redutor de compras governamentais (RG): 5%
Alíquota Efetiva (E): E = A * (1 - R)*(1- RG)
E = 10 * (1 - 0,4) *(1-0,05) = 5,7
gALCZFMCBS_Opc string - Operações ALC/ZFM
Alíquota Zero
CBS
Grupo de informações para identificação de operações em áreas incentivadas (ALC/ZFM) com alíquota zero da CBS, conforme arts. 451 e 466 da LC 214/2025, quando fornecedor e destinatário estiverem nessas áreas, distinguindo a existência de processo aprovado na Suframa.
(grupo novo RTC v1.40)
vCBS double 15,2 sim Informar o Valor do CBS
Valor do CBS (vCBS) deverá ser resultante de: vCBS = (gIBSCBS/vBC x (pCBS / 100)) - vDif - vDevTrib

Observação 1: Aceitar uma tolerância de 0,01 a mais ou a menos
Observação 2: Em caso de preenchimento do grupo de redução (gCBS/gRed) a alíquota utilizada deverá ser a tag Alíquota Efetiva (gCBS/gRed/pAliqEfet): vCBS = (gIBSCBS/vBC x (pAliqEfet / 100)) - vDif - vDevTrib

Diagrama:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML do grupo gCBS

XML:

CST=000, cClassTribg=000001 - Situações tributadas integralmente pelo IBS e CBS, vBC=1000.00

 
<gCBS>
   <pCBS>0.90</pCBS>
   <vCBS>9.00</vCBS>
</gCBS>

CST=200, cClassTribg=200038-Fornecimento dos insumos agropecuários e aquícolas (Anexo IX), com 60% de redução, vBC=1000.00

 
<gCBS>
   <pCBS>0.90</pCBS>
   <gRed>
     <pRedAliq>60.00</pRedAliq>
     <pAliqEfet>0.0400</pAliqEfet>
   </gRed>
   <vCBS>3.60</vCBS>
</gCBS>

CST=200, cClassTribg=200003-Vendas de produtos destinados à alimentação humana (Anexo I), com 100% de redução, vBC=1000.00

 
<gCBS>
  <pCBS>0.90</pCBS>
  <gRed>
    <pRedAliq>100.00</pRedAliq>
    <pAliqEfet>0.0000</pAliqEfet>
  </gRed>
  <vCBS>0.00</vCBS>
</gCBS>

CST=515, cClassTribg=515001-Operações, sujeitas a diferimento, com insumos agropecuários e aquícolas destinados a produtor rural não contribuinte (Anexo IX) , com 60% de redução, vBC=1000.00

 
<gCBS>
  <pCBS>0.90</pCBS>
  <gDif>
    <pDif>100.00</pDif>
    <vDif>3.60</vDif>
  </gDif>
  <gRed>
    <pRedAliq>60.00</pRedAliq>
    <pAliqEfet>0.3600</pAliqEfet>
  </gRed>
  <vCBS>0.00</vCBS>
</gCBS>

Exemplos de uso:

Visual Basic 6.0

' grupo de Informações da CBS - ID=UB55 do grupo UB da NT 2025/002-RTC

' declaração das variáveis

Dim gCBS As String
Dim pCBS As Double
Dim pDif_Opc As Double
Dim vDif_Opc As Double
Dim pDevTrib_Opc As Double
Dim DevTrib_Opc As Double
Dim pRedAliq_Opc As Double
Dim pAliqEfet_Opc As Double
Dim gALCZFMCBS_Opc As String
Dim vCBS As Double
 
' inicializar variáveis

gCBS = ""           ' XML do grupo CBS
pCBS = 8.7          ' Alíquota da CBS

' grupo de informações do Diferimento - gerado quando pDif_Opc > 0
pDif_Opc = 10       ' Percentual do diferimento
vDif_Opc = 0        ' Valor do Diferimento

' grupo de Informações da devolução de tributos
pDevTrib_Opc = 11   ' percentual do tributo devolvido
vDevTrib_Opc = 10   ' Valor do tributo devolvido

' grupo de informações da redução da alíquota
pRedAliq_Opc = 10   ' Percentual da redução de alíquota
pAliqEfet_Opc = 10  ' Alíquota Efetiva da CBS que será aplicada a Base Cálculo

' grupo de informações para identificações em áreas incentivadas (ALC/ZFM) alíquota zero
gALCZFMCBS_Opc = "<gALCZFMCBS><tpALCZFMCBS>1</tpALCZFMCBS><pAliqEfeRegCBS>10.00</pAliqEfeRegCBS><vTribRegCBS>100.00</vTribRegCBS></gALCZFMCBS>"
 
vCBS = 140          ' Valor da CBS

'   instancia DLL

Dim objNFeUtil As Object
 
Set objNFeUtil = CreateObject("NFe_Util_2G.Util")
 
'   gera grupo de Informações da CBS

gCBS = objNFeUtil.gCBSv140(pCBS, pDif_Opc, vDif_Opc, pDevTrib_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, gALCZFMCBS_Opc, vCBS)

Delphi

 
 
procedure TForm1.Button10Click(Sender: TObject);
 
// grupo gCBS
 
// grupo de Informações da CBS - ID=UB55 do grupo UB da NT 2025/002-RTC
 
var
 
// declarar a interface da DLL
 
objNFeUtil: OleVariant;
 
// declarar parâmetros
 
gCBS:widestring;
pCBS:double;
pDif_Opc:double;
vDif_Opc:double;
pDevTrib_Opc:double;
vDevTrib_Opc:double;
pRedAliq_Opc:double;
pAliqEfet_Opc:double;
gALCZFMCBS_Opc:widestring;
vCBS:double;
 
begin
 
//   inicializa parâmetros
 
gCBS := '';            // XML do grupo CBS
pCBS := 8.7;           // Alíquota da CBS
 
// grupo de informações do Diferimento - gerado quando pDif_Opc > 0
pDif_Opc := 10;       // Percentual do diferimento
vDif_Opc := 0;        // Valor do Diferimento
 
// grupo de Informações da devolução de tributos
pDevTrib_Opc := 11;   // percentual do tributo devolvido
vDevTrib_Opc := 10;   // Valor do tributo devolvido
 
// grupo de informações da redução da alíquota
pRedAliq_Opc := 10;  // Percentual da redução de alíquota
pAliqEfet_Opc := 10; // Alíquota Efetiva da CBS que será aplicada a Base Cálculo
// grupo de informações para identificações em áreas incentivadas (ALC/ZFM) alíquota zero
gALCZFMCBS_Opc := '';
 
 
//   instancia DLL - late binding
 
objNFeUtil := CreateOleObject('NFe_Util_2G.util');
 
// gera XML do grupo gCBS
 
gCBS := objNFeUtil.gCBSv140(pCBS, pDif_Opc, vDif_Opc,  pDevTrib_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, gALCZFMCBS_Opc, vCBS);
 
MessageDlg( 'XML resultante: '+gCBS, mtInformation, [mbOk], 0);
 
 
end;

c#

 
// grupo gCBS
 
// grupo de Informações da CBS - ID=UB55 do grupo UB da NT 2025/002-RTC
 
string gCBS = "";           // XML do grupo CBS
double pCBS = 8.7;        // Alíquota da CBS
 
// grupo de informações do Diferimento - gerado quando pDif_Opc > 0
double pDif_Opc = 10;       // Percentual do diferimento
double vDif_Opc = 0;        // Valor do Diferimento
 
// grupo de Informações da devolução de tributos
double pDevTrib_Opc = 11;  // percentual do tributo devolvido
double vDevTrib_Opc = 10;   // Valor do tributo devolvido
 
// grupo de informações da redução da alíquota
double pRedAliq_Opc = 10;   // Percentual da redução de alíquota
double pAliqEfet_Opc = 10;  // Alíquota Efetiva da CBS que será aplicada a Base Cálculo
 
// grupo de informações para identificações em áreas incentivadas (ALC/ZFM) alíquota zero
string gALCZFMCBS_Opc = "";
 
double vCBS = 140;          // Valor da CBS
 
// instancia a DLL
 
NFe_Util_2G.Util util = new NFe_Util_2G.Util();
 
// gera XML do grupo gCBS
 
gCBS = util.gCBSv140(pCBS, pDif_Opc, vDif_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, gALCZFMCBS_Opc, vCBS);
 
//
14.6.2.12.1.3. gCBS [RTCv140]
14.6.2.12.1. gIBSCBS [RTCv130]
« Anterior
14.6.2.12.1.2.1. gIBSMun [obsoleto]
Próximo »
14.6.2.12.1.3.1. Operações ALC/ZFM [RTCv140]