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:

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:

DiagramaComponenteValoresPrestação

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