14.6.2.12.1. gIBSCBS [RTCv130]
14.6.2.12.1.2. gIBSMun [RTC]
14.6.2.12.1.1. gIBSUF [RTC]
« Anterior
14.6.2.12.1.3. gCBS [RTC]
Próximo »

14.6.2.12.1.2. gIBSMun [RTC]

Grupo de Informações do IBS para o Município

Funcionalidade para gerar o XML do grupo do ID=UB36 - Grupo de Informações do IBS para o Município

Assinatura

string gIBSMun(double pIBSMun, double pDif_Opc, double vDif_Opc, double vDevTrib_Opc, double pRedAliq_Opc, double pAliqEfet_Opc, double vIBSMun)

Descrição:

Funcionalidade para gerar as informações do IBS de competência do Município

Importante

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

Vigência:

  • ambiente de homologação: a partir de 01/07/2025
  • ambiente de produção: a partir de 01/10/2025

Versão da DLL requerida:

Histórico de atualização:

Parâmetros:

nome tipo tam. obrig. descrição
pIBSMun double 5,2-4 sim Informar a alíquota do IBS de competência das UF

A alíquota de IBS do Município (pIBSMun) deverá ser:
- 0,0% para documento com data de emissão no ano de 2025 e 2026. (Art. 343 da LC 214/25);
- 0,05% para documento com data de emissão no ano de 2027 e 2028. (Art. 344 da LC 214/25);
- Alíquota de referência ou específica a ser publicada para anos posteriores a 2028.

Exceção: Se o cClassTrib possuir indicador de Tributação Regular, o pIBSMun deve ser igual a zero
gDif grupo - CST=510
CST=515
informaro o grupo de informações do Diferimento para 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 sim Informar o percentual do diferimento
vDif_Opc double 15,2 sim Informar o valor do Diferimento
vDif = vBC x (pIBSMun / 100 x (pDif / 100)
vDevTrib_Opc double 15,2 depende Informar o valor do tributo devolvido (desconto na própria Nota Fiscal / Fatura)
Deve ser utilizado para informar a devolução de tributos no fornecimento de energia elétrica, água, esgoto, gás natural e em outras hipóteses definidas no regulamento
gRed grupo - CST=200
CST=515
informar o grupo de informações da redução de alíquota para 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 sim Informar o percentual da redução de alíquota do cClassTrib
pAliqEfet_Opc double 5,2-4 sim Informar a Alíquota Efetiva do IBS de competência das UF 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 = pIBSMun × (1 - pRedAliq / 100).
- Se houver compra governamental (grupo gCompraGov informado): pAliqEfet = pIBSMun × (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
vIBSMun double 15,2 sim Informar o Valor do IBS de competência do Município
Valor do IBS (vIBSMun) deverá ser resultante de: vIBSMun = (gIBSCBS/vBC x (pIBSMun / 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 (gIBSMun/gRed) a alíquota utilizada deverá ser a tag Alíquota Efetiva (gIBSMun/gRed/pAliqEfet): vIBSMun = (gIBSCBS/vBC x (pAliqEfet / 100)) - vDif - vDevTrib

Diagrama:

DiagramaIdentificacao

Retorno:

Um string com o grupo XML do grupo gIBSMun

XML:

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

 
<gIBSMun>
   <pIBSMun>0.00</pIBSMun>
   <vIBSMun>0.00</vIBSMun>
</gIBSMun>

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

 
<gIBSMun>
   <pIBSMun>0.00</pIBSMun>
   <gRed>
     <pRedAliq>60.00</pRedAliq>
     <pAliqEfet>0.0000</pAliqEfet>
   </gRed>
   <vIBSMun>0.00</vIBSMun>
</gIBSMun>

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

 
<gIBSMun>
  <pIBSMun>0.00</pIBSMun>
  <gRed>
    <pRedAliq>100.00</pRedAliq>
    <pAliqEfet>0.0000</pAliqEfet>
  </gRed>
  <vIBSMun>0.00</vIBSMun>
</gIBSMun>

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

 
<gIBSMun>
  <pIBSMun>0.00</pIBSMun>
  <gDif>
    <pDif>100.00</pDif>
    <vDif>0.00</vDif>
  </gDif>
  <gRed>
    <pRedAliq>60.00</pRedAliq>
    <pAliqEfet>0.0000</pAliqEfet>
  </gRed>
  <vIBSMun>0.00</vIBSMun>
</gIBSMun>

Exemplos de uso:

Visual Basic 6.0

 
'========grupo de Informações do IBS para o Município - ID=UB36 do grupo UB da NT 2025/002-RTC

' declaração das variáveis

Dim gIBSMun As String
Dim pIBSMun As Double
Dim pDif_Opc As Double
Dim vDif_Opc As Double
Dim DevTrib_Opc As Double
Dim pRedAliq_Opc As Double
Dim pAliqEfet_Opc As Double
Dim vIBSMun As Double
 
' inicializar variáveis

gIBSMun = ""          ' XML do grupo IBS para do Município gerado
pIBSMun = 15          ' Alíquota vigente do IBS do Município

' grupo de informações do Diferimento - gerado quando pDif_Opc > 0 ou vDif_Opc>0

pDif_Opc = 10         ' Percentual do diferimento
vDif_Opc = 0          ' Valor do Diferimento

' grupo de informações da devolução de tributos - gerado quando vDevTrib_Opc > 0

vDevTrib_Opc = 10     ' Valor do tributo devolvido

' grupo de informação da redução de alíquota - gerado quando pRedAliq_Opc > 0 

pRedAliq_Opc = 10     ' Percentual da redução de alíquota
pAliqEfet_Opc = 10    ' Alíquota Efetiva do IBS de competência do Município que será aplicada a Base de Cálculo

vIBSMun = 100         ' Valor do IBS de competência do Município

'   instancia DLL

Dim objNFeUtil As Object
 
Set objNFeUtil = CreateObject("NFe_Util_2G.Util")
 
'   gera grupo de Informações do IBS para o Município

gIBSMun = objNFeUtil.gIBSMun(pIBSMun, pDif_Opc, vDif_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, vIBSMun)
 
MsgBox gIBSMun, vbInformation, "Informação"

Delphi

 
procedure TForm1.Button9Click(Sender: TObject);
var
 
// grupo gIBSMun
 
//  grupo de Informações do IBS para o Município - ID=UB36 do grupo UB da NT 2025/002-RTC
 
// declarar a interface da DLL
 
objNFeUtil: OleVariant;
 
// declarar parâmetros
 
gIBSMun : widestring;
pIBSMun : double;
pDif_Opc : double;
vDif_Opc : double;
vDevTrib_Opc : double;
pRedAliq_Opc : double;
pAliqEfet_Opc : double;
vIBSMun : double;
 
begin
 
//   inicializa parâmetros
 
gIBSMun := '';         // XML do grupo IBS para a Mun gerado
pIBSMun := 15.00;      // Alíquota do IBS de competência das Mun
 
// grupo de informações do Diferimento - gerado quando pDif_Opc > 0 ou vDif_Opc>0
 
pDif_Opc := 10;       // Percentual do diferimento
vDif_Opc := 0;        // Valor do Diferimento
 
// grupo de informações da devolução de tributos - gerado quando vDevTrib_Opc > 0
 
vDevTrib_Opc := 10;   // Valor do tributo devolvido
 
// grupo de informação da redução de alíquota - gerado quando pRedAliq_Opc > 0
 
pRedAliq_Opc :=10;    // Percentual da redução de alíquota
pAliqEfet_Opc := 10;  // Alíquota Efetiva do IBS de competência das Mun que será aplicada a Base de Cálculo
 
//
vIBSMun:= 100;         // Valor do IBS de competência da Mun
 
//   instancia DLL - late binding
 
objNFeUtil := CreateOleObject('NFe_Util_2G.util');
 
// gera XML do grupo gIBSMun
 
gIBSMun := objNFeUtil.gIBSMun(pIBSMun, pDif_Opc, vDif_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, vIBSMun);
 
MessageDlg( 'XML resultante: '+gIBSMun, mtInformation, [mbOk], 0);
 
end;

c#

 
// grupo gIBSMun
 
// grupo de Informações do IBS para o Município - ID=UB36 do grupo UB da NT 2025/002-RTC
 
string gIBSMun = "";        // XML do grupo IBS para o Município gerado
double pIBSMun = 15.00;     // Alíquota vigente do IBS do Município
 
// grupo de informações do Diferimento - gerado quando pDif_Opc > 0 ou vDif_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 - gerado quando vDevTrib_Opc > 0
double vDevTrib_Opc = 10;   // Valor do tributo devolvido
 
// grupo de informação da redução de alíquota - gerado quando pRedAliq_Opc > 0
double pRedAliq_Opc = 10;    // Percentual da redução de alíquota
double pAliqEfet_Opc = 10;   // Alíquota Efetiva do IBS de competência do Município que será aplicada a Base de Cálculo
//
double vIBSMun = 100;        // Valor do IBS de competência do Município
 
// instancia a DLL
 
NFe_Util_2G.Util util = new NFe_Util_2G.Util();
 
// gera XML do grupo gIBSMun
 
gIBSMun = util.gIBSMun(pIBSMun, pDif_Opc, vDif_Opc, vDevTrib_Opc, pRedAliq_Opc, pAliqEfet_Opc, vIBSMun);
 
//
14.6.2.12.1.2. gIBSMun [RTC]
14.6.2.12.1. gIBSCBS [RTCv130]
« Anterior
14.6.2.12.1.1. gIBSUF [RTC]
Próximo »
14.6.2.12.1.3. gCBS [RTC]