- 12.10. Impostos do CT-e RT
12.10.6. Tributação para Outra UF RT - 12.10.5. Tributação Outros RT
« Anterior - 12.10.7. Simples Nacional RT
Próximo »
12.10.6. Tributação para Outra UF RT
Funcionalidade para gerar o XML do grupo de ICMS Outra UF novo
Assinatura
string ImpCSTOutraUF(string CST, double pRedBCOutraUF, double vBCOutraUF, double pICMSOutraUF, double vICMSOutraUF,double vTotTrib_Opc, string infAdFisco_Opc, string ICMSUFFim_Opc, double vICMSDeson_Opc, string _cBenef_Opc, string IBSCBS_Opc, double vTotDFe_Opc)
Descrição:
Funcionalidade para gerar o XML do grupo de ICMS Outra UF.
Atualizado para o leiaute da NT2025/001
Importante
Atualização necessária para atender os novos leiautes do CT-e, CT-e Simplificado e CT-e OS da NT 2025/001 - Reforma Tributária do Consumo
Vigência:
- ambiente de homologação: até 28/07/2025
- ambiente de produção: 06/10/2025
Versão da DLL requerida:
Histórico de atualização:
- 2025-06-30 - versão 2Gv5.00
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
CST | string | 2 | sim | Classificação Tributária do Serviço (90 - ICMS Outros). |
pRedBCOutraUF | double | 3,2 | sim | Percentual de redução da BC (5 posições, sendo 3 inteiras e 2 decimais). |
vBCOutraUF | double | 13,2 | sim | Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais). |
pICMSOutraUF | double | 3,2 | sim | Valor da Alíquota do ICMS (5 posições, sendo 3 inteiras e 2 decimais). |
vICMSOutraUF | double | 13,2 | sim | Valor do ICMS devido a Outra UF (15 posições, sendo 13 inteiras e 2 decimais). |
vTotTrib_Opc | double | 13,2 | não | informar o valor Total dos Tributos Aproximado previsto na Lei da Transparência - 12.741/12 (15 posições, sendo 13 inteiras e 2 decimais). |
infAdFisco_Opc | string | 1-2000 | não | Informações adicionais de interesse do Fisco. |
ICMSUFFim_Opc | string | - | não | Informações do ICMSUFFim ICMS devido para a UF de término do serviço de transporte, nas operações interestaduais para consumidor final |
vICMSDeson_Opc | double | 13,2 | não | informar o valor do ICMS desonerado. |
cBenef_Opc | string | 1-10 | não | informar o código do benefício fiscal na UF. |
IBSCBS_Opc | string | - | não | Informações do IBSCBS CAMPO NOVO |
vTotDFe_Opc | double | 13,2 | não | informar o Valor total do documento fiscal (vTPrest + total do IBS + total da CBS) CAMPO NOVO. |
Diagrama:
Retorno:
Um string com o grupo XML de ICMS Outra UF
XML:
Exemplo de XML
<imp> <ICMS> <ICMSOutraUF> <CST>90</CST> <pRedBCOutraUF>0.00</pRedBCOutraUF> <vBCOutraUF>1000.00</vBCOutraUF> <pICMSOutraUF>12.00</pICMSOutraUF> <vICMSOutraUF>120.00</vICMSOutraUF> </ICMSOutraUF> </ICMS> <vTotTrib>12.34</vTotTrib> <infAdFisco>Informações</infAdFisco> </imp>
Importante
O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.
Exemplos de uso: Visual Basic 6.0
' ' '====== Dados do ICMS Outra UF - ICMS devido à UF de origem da prestação========== ' Dim ImpICMSOutraUF As String Dim ImpICMSOutraUF_CST As String Dim ImpICMSOutraUF_pRedBCOutraUF As Double Dim ImpICMSOutraUF_vBCOutraUF As Double Dim ImpICMSOutraUF_pICMSOutraUF As Double Dim ImpICMSOutraUF_vICMSOutraUF As Double Dim ImpICMSOutraUF_vTotTrib_Opc As Double Dim ImpICMSOutraUF_infAdFisco_Opc As String Dim ImpICMSOutraUF_ICMSUFFim_Opc As String Dim ImpICMSOutraUF_vICMSDeson_Opc As Double Dim ImpICMSOutraUF_cBenef_Opc As String Dim ImpICMSOutraUF_vICMSDeson_Opc As Double Dim ImpICMSOutraUF_cBenef_Opc As String Dim ImpICMSOutraUF_IBSCBS_Opc As String Dim ImpICMSOutraUF_vTotDFe_Opc As Double ' ' '====== instancia DLL================== ' ' ' referenciando a DLL em late binding ' não é necessário fazer o reference da DLL ' o intelisense não funciona ' Dim objCTeUtil As Object Set objCTeUtil = CreateObject("CTe_Util.Util") ' ' criação dos grupos ' '===================grupo do ICMS Outra UF - ICMS devido à UF de origem da prestação ======================= ' ' ImpICMSOutraUF_CST = "90" ' Classificação Tributária do Serviço (90 - ICMS outros) ImpICMSOutraUF_pRedBCOutraUF = 5.12 ' Percentual de redução da BC (5 posições sendo 3 inteiras e 2 decimais) ImpICMSOutraUF_vBCOutraUF = 1235.02 ' Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais) ImpICMSOutraUF_pICMSOutraUF = 11 ' Alíquota do ICMS (5 posições sendo 3 inteiras e 2 decimais) ImpICMSOutraUF_vICMSOutraUF = 1235.43 ' Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais) ImpCSTOutrasUF_vTotTrib_Opc = 12.34 ' valor Total dos Tributos Aproximado ImpICMSOutraUF_infAdFisco_Opc = "Informações" ' Informações adicionais de interesse do Fisco (Norma referenciada, informações complementares, etc) ImpICMSOutraUF_ICMSUFFim_Opc = "" ' Informações do ICMS devido para a UF de término do serviço de transporte, nas operações interestaduais para consumidor final ImpICMSOutraUF_vICMSDeson_Opc = 100 ' valor o ICMS desonerado ImpICMSOutraUF_cBenef_Opc = "SP12345678" ' código do benefício fiscal na UF ImpICMSOutraUF_IBSCBS_Opc = "" ' Informações do IBS e CBS ImpICMSOutraUF_vTotDFe_Opc = 0 ' Valor total do documento fiscal (vTPrest + total IBS + total CBS) ' ImpICMSOutraUF = objCTeUtil.ImpCSTOutraUF(ImpICMSOutraUF_CST, ImpICMSOutraUF_pRedBCOutraUF, ImpICMSOutraUF_vBCOutraUF, ImpICMSOutraUF_pICMSOutraUF, ImpICMSOutraUF_vICMSOutraUF, ImpCSTOutrasUF_vTotTrib_Opc, ImpICMSOutraUF_infAdFisco_Opc, ImpICMSOutraUF_ICMSUFFim_Opc, ImpICMSOutraUF_vICMSDeson_Opc, ImpICMSOutraUF_cBenef_Opc, ImpICMSOutraUF_IBSCBS_Opc, ImpICMSOutraUF_vTotDFe_Opc) MsgBox "ICMS Outra UF - ICMS devido à UF de origem da prestação" + ImpICMSOutraUF, vbInformation, "Resultado" End Sub
Exemplos de uso: Delphi
var Util: OleVariant; // declarar a interface da DLL ImpCSTOutraUF : widestring; ImpCSTOutraUF_CST : widestring; ImpCSTOutraUF_pRedBCOutraUF_Opc: currency; ImpCSTOutraUF_vBCOutraUF : currency; ImpCSTOutraUF_pICMSOutraUF : currency; ImpCSTOutraUF_vICMSOutraUF : currency; ImpCSTOutraUF_vTotTrib_Opc : currency; ImpCSTOutraUF_infAdFisco_Opc : widestring; ImpCSTOutraUF_ICMSUFFim_Opc : widestring; ImpCSTOutraUF_vICMSDeson_Opc : currency; ImpCSTOutraUF_cBenef_Opc : widestring; ImpCSTOutraUF_IBSCBS_Opc : widestring; ImpCSTOutraUF_vTotDFe_Opc : currency; begin ImpCSTOutraUF_CST := '90'; // Classificação Tributária do Serviço ImpCSTOutraUF_pRedBCOutraUF_Opc := 0; ImpCSTOutraUF_vBCOutraUF := 1000; ImpCSTOutraUF_pICMSOutraUF := 12; ImpCSTOutraUF_vICMSOutraUF := 120; ImpCSTOutraUF_vTotTrib_Opc := 12.34; // valor Total dos Tributos Aproximado ImpCSTOutraUF_infAdFisco_Opc := 'Informações'; // Informações adicionais de interesse do Fisco (Norma referenciada, informações complementares, etc) ImpCSTOutraUF_ICMSUFFim_Opc := ' '; ImpCSTOutraUF_vICMSDeson_Opc :=100; ImpCSTOutraUF_cBenef_Opc :='SP2345678'; ImpCSTOutraUF_IBSCBS_Opc := ' '; // Informações do IBS e da CBS ImpCSTOutraUF_vTotDFe_Opc := 0; // Valor total do documento fiscal (vTPrest + total IBS + total CBS) Util := CreateOleObject('CTe_Util.util'); // instância a DLL ImpCSTOutraUF := Util.ImpCSTOutraUF(ImpCSTOutraUF_CST, ImpCSTOutraUF_pRedBCOutraUF_Opc, ImpCSTOutraUF_vBCOutraUF, ImpCSTOutraUF_pICMSOutraUF, ImpCSTOutraUF_vICMSOutraUF, ImpCSTOutraUF_vTotTrib_Opc, ImpCSTOutraUF_infAdFisco_Opc, ImpCSTOutraUF_ICMSUFFim_Opc, ImpCSTOutraUF_vICMSDeson_Opc, ImpCSTOutraUF_cBenef_Opc, ImpCSTOutraUF_IBSCBS_Opc, ImpCSTOutraUF_vTotDFe_Opc); MessageDlg( 'CSTOutraUF: ' + chr(13) + ImpCSTOutraUF, mtInformation, [mbOk], 0); end;
- 12.10.6. Tributação para Outra UF RT
12.10. Impostos do CT-e RT - « Anterior
12.10.5. Tributação Outros RT - Próximo »
12.10.7. Simples Nacional RT