- 14. Gerar XML da NF-e
14.7. Totais da NF-e [RTC] - 14.6.4. Item da NF-e NT 2021/004 [obsoleto]
« Anterior - 14.7.1. Total ICMS NT2023/001 [15-03-23]
Próximo »
14.7. Totais da NF-e [RTC]
Sumário
- 14.7.1. Total ICMS NT2023/001 [15-03-23]
- 14.7.2. Total ISSQN [19-01-14]
- 14.7.3. Total Tributos Retidos
- 14.7.4. Totais do IBS/CBS [RTC]
- 14.7.5. Totais da NF-e obsoleto
Funcionalidade para gerar o XML do Totais da NF-e
Assinatura
string totalRTC(string ICMSTot, string ISSQNTot, string retTrib, double vIS, string IBSCBSTot, double vNFTot)
Descrição:
Funcionalidade para gerar o XML do grupo de informações de Total da NF-e da versão 4.x
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:
- 2025-06-13 - versão 2Gv5.00
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
ICMSTot | string | - | sim | informar o XML do grupo ICMSTot |
ISSQNTot | string | - | não | informar o XML do grupo ISSQNTot |
retTrib | string | - | não | informar o XML do grupo retTrib |
vIS | double | 15,2 | não | informar o Valor Total do IS (campo novo RTC) |
IBSCBSTot | string | - | não | informar o XML do grupo IBSCBSTot (grupo novo RTC) |
vNFTot | double | 15,2 | não | informar o Valor total da NF-e com IBS/CBS/IS (campo novo RTC) |
Diagrama:
Retorno:
Um string com o grupo XML Totais de Tributos
XML:
<total> <ICMSTot> <vBC>100.00</vBC> <vICMS>18.00</vICMS> <vICMSDeson>0.00</vICMSDeson> <vFCPUFDest>1.00</vFCPUFDest> <vICMSUFDest>2.40</vICMSUFDest> <vICMSUFRemet>3.60</vICMSUFRemet> <vFCP>0.00</vFCP> <vBCST>0.00</vBCST> <vST>0.00</vST> <vFCPST>0.00</vFCPST> <vFCPSTRet>0.00</vFCPSTRet> <vProd>100.00</vProd> <vFrete>0.00</vFrete> <vSeg>0.00</vSeg> <vDesc>0.00</vDesc> <vII>0.00</vII> <vIPI>0.00</vIPI> <vIPIDevol>0.00</vIPIDevol> <vPIS>0.00</vPIS> <vCOFINS>0.00</vCOFINS> <vOutro>0.00</vOutro> <vNF>100.00</vNF> </ICMSTot> <vISTot> <vIS>0.00</vIS> </vISTot> <IBSCBSTot> <vBIBSCBS>1234.56</vBIBSCBS> <gIBS> <gIBSUF> <vDif>100.00</vDif> <vDevTrib>10.00</vDevTrib> <vIBSUF>90.00</vIBSUF> </gIBSUF> <gIBSMun> <vDif>20.00</vDif> <vDevTrib>30.00</vDevTrib> <vIBSMun>40.00</vIBSMun> </gIBSMun> <vIBS>100.00</vIBS> <vCredPres>0.00</vCredPres> <vCredPresCondSus>0.00</vCredPresCondSus> </gIBS> <gCBS> <vDif>100.00</vDif> <vDevTrib>10.00</vDevTrib> <vCBS>90.00</vCBS> <vCredPres>0.00</vCredPres> <vCredPresCondSus>0.00</vCredPresCondSus> </gCBS> <gMono> <vIBSMono>1000.00</vIBSMono> <vCBSMono>2000.00</vCBSMono> <vIBSMonoReten>300.00</vIBSMonoReten> <vCBSMonoReten>400.00</vCBSMonoReten> <vIBSMonoRet>50.00</vIBSMonoRet> <vCBSMonoRet>60.00</vCBSMonoRet> </gMono> </IBSCBSTot> <vNFTot>123456.78</vNFTot> </total>
Exemplos de uso:
Visual Basic 6.0
Private Sub Command21_Click() ' grupo totais da NF-e ' Declaração de variáveis Dim totalRTC As String Dim ICMSTot As String Dim ISSQNTot As String Dim retTrib As String Dim vIS As Double Dim IBSCBSTot As String Dim vNFTot As Double ' instancia a DLL Dim objNFeUtil As Object Set objNFeUtil = CreateObject("NFe_Util_2G.Util") ' inicializar variáveis totalRTC = "" ' informar o grupo total do ICMS ICMSTot = "<ICMSTot><vBC>100.00</vBC><vICMS>18.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCPUFDest>1.00</vFCPUFDest><vICMSUFDest>2.40</vICMSUFDest><vICMSUFRemet>3.60</vICMSUFRemet><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>100.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>100.00</vNF></ICMSTot>" ' informar o grupo total do ISSQN ISSQNTot = "" ' informar o grupo total do Tributos Retidos retTrib = "" ' informar o valor do IS vIS = 0 ' informar o grupo total do IBS/CBS IBSCBSTot = "<IBSCBSTot><vBIBSCBS>1234.56</vBIBSCBS><gIBS><gIBSUF><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vIBSUF>90.00</vIBSUF></gIBSUF><gIBSMun><vDif>20.00</vDif><vDevTrib>30.00</vDevTrib><vIBSMun>40.00</vIBSMun></gIBSMun><vIBS>100.00</vIBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gIBS><gCBS><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vCBS>90.00</vCBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gCBS><gMono><vIBSMono>1000.00</vIBSMono><vCBSMono>2000.00</vCBSMono><vIBSMonoReten>300.00</vIBSMonoReten><vCBSMonoReten>400.00</vCBSMonoReten><vIBSMonoRet>50.00</vIBSMonoRet><vCBSMonoRet>60.00</vCBSMonoRet></gMono></IBSCBSTot>" ' informar o valor total da NF-e vNFTot = 123456.78 ' gera XML de totais da NF-e totalRTC = objNFeUtil.totalRTC(ICMSTot, _ ISSQNTot, _ retTrib, _ vIS, _ IBSCBSTot, _ vNFTot) MsgBox totalRTC, vbInformation, "Informação" End Sub
Delphi
procedure TForm1.Button10Click(Sender: TObject); var // grupo totais da NF-e // declarar a interface da DLL objNFeUtil: OleVariant; // Declaração de variáveis totalRTC : widestring; ICMSTot : widestring; ISSQNTot : widestring; retTrib : widestring; vIS : double; IBSCBSTot : widestring; vNFTot : double; begin // inicializar variáveis totalRTC := ''; // informar o grupo total do ICMS ICMSTot := '<ICMSTot><vBC>100.00</vBC><vICMS>18.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCPUFDest>1.00</vFCPUFDest><vICMSUFDest>2.40</vICMSUFDest><vICMSUFRemet>3.60</vICMSUFRemet><vFCP>0.00</vFCP>' + '<vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>100.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI>'+'<vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>100.00</vNF></ICMSTot>'; // informar o grupo total do ISSQN ISSQNTot := ''; // informar o grupo total do Tributos Retidos retTrib := ''; // informar o valor do IS vIS := 0; // informar o grupo total do IBS/CBS IBSCBSTot := '<IBSCBSTot><vBIBSCBS>1234.56</vBIBSCBS><gIBS><gIBSUF><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vIBSUF>90.00</vIBSUF></gIBSUF>'+'<gIBSMun><vDif>20.00</vDif><vDevTrib>30.00</vDevTrib><vIBSMun>40.00</vIBSMun></gIBSMun><vIBS>100.00</vIBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gIBS>'+'<gCBS><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vCBS>90.00</vCBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gCBS><gMono><vIBSMono>1000.00</vIBSMono><vCBSMono>2000.00</vCBSMono>'+'<vIBSMonoReten>300.00</vIBSMonoReten><vCBSMonoReten>400.00</vCBSMonoReten><vIBSMonoRet>50.00</vIBSMonoRet><vCBSMonoRet>60.00</vCBSMonoRet></gMono></IBSCBSTot>'; // informar o valor total da NF-e vNFTot := 123456.78; // instancia DLL - late binding objNFeUtil := CreateOleObject('NFe_Util_2G.util'); // gera XML de totais da NF-e totalRTC := objNFeUtil.totalRTC(ICMSTot, ISSQNTot, retTrib, vIS, IBSCBSTot, vNFTot); MessageDlg( 'XML resultante: '+totalRTC, mtInformation, [mbOk], 0); end;
c#
// grupo totais da NF-e // instancia a DLL NFe_Util_2G.Util util = new NFe_Util_2G.Util(); // inicializar variáveis string totalRTC = ""; // informar o grupo total do ICMS string ICMSTot = "<ICMSTot><vBC>100.00</vBC><vICMS>18.00</vICMS><vICMSDeson>0.00</vICMSDeson><vFCPUFDest>1.00</vFCPUFDest><vICMSUFDest>2.40</vICMSUFDest><vICMSUFRemet>3.60</vICMSUFRemet><vFCP>0.00</vFCP><vBCST>0.00</vBCST><vST>0.00</vST><vFCPST>0.00</vFCPST><vFCPSTRet>0.00</vFCPSTRet><vProd>100.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vIPIDevol>0.00</vIPIDevol><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>100.00</vNF></ICMSTot>"; // informar o grupo total do ISSQN string ISSQNtot = ""; // informar o grupo total do Tributos Retidos string retTrib = ""; // informar o valor do IS double vIS = 0; // informar o grupo total do IBS/CBS string IBSCBSTot = "<IBSCBSTot><vBIBSCBS>1234.56</vBIBSCBS><gIBS><gIBSUF><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vIBSUF>90.00</vIBSUF></gIBSUF><gIBSMun><vDif>20.00</vDif><vDevTrib>30.00</vDevTrib><vIBSMun>40.00</vIBSMun></gIBSMun><vIBS>100.00</vIBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gIBS><gCBS><vDif>100.00</vDif><vDevTrib>10.00</vDevTrib><vCBS>90.00</vCBS><vCredPres>0.00</vCredPres><vCredPresCondSus>0.00</vCredPresCondSus></gCBS><gMono><vIBSMono>1000.00</vIBSMono><vCBSMono>2000.00</vCBSMono><vIBSMonoReten>300.00</vIBSMonoReten><vCBSMonoReten>400.00</vCBSMonoReten><vIBSMonoRet>50.00</vIBSMonoRet><vCBSMonoRet>60.00</vCBSMonoRet></gMono></IBSCBSTot>"; // informar o valor total da NF-e double vNFTot = 123456.78; // gera XML de totais da NF-e totalRTC = util.totalRTC(ICMSTot, ISSQNtot, retTrib, vIS, IBSCBSTot, vNFTot);
- 14.7. Totais da NF-e [RTC]
14. Gerar XML da NF-e - « Anterior
14.6.4. Item da NF-e NT 2021/004 [obsoleto] - Próximo »
14.7.1. Total ICMS NT2023/001 [15-03-23]