13.10. Impostos do CT-e Simplificado RT
13.10.6. Tributação para Outra UF RT
13.10.5. Tributação Outros RT
« Anterior
13.10.7. Simples Nacional RT
Próximo »

13.10.6. Tributação para Outra UF RT

Funcionalidade para gerar o XML do grupo de ICMS Outra UF novo

Assinatura

string ImpCSTOutraUFSimp(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)

Descrição:

Funcionalidade para gerar o XML do grupo de ICMS Outra UF.

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

Diagrama:

DiagramaCSTOutroSimp

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 Dim 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_IBSCBS_Opc As String
'
'
'====== 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)
ImpICMSOutraUF_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 da CBS
'
ImpICMSOutraUF = objCTeUtil.ImpCSTOutraUFSimp(ImpICMSOutraUF_CST, ImpICMSOutraUF_pRedBCOutraUF, ImpICMSOutraUF_vBCOutraUF, ImpICMSOutraUF_pICMSOutraUF, ImpICMSOutraUF_vICMSOutraUF, ImpICMSOutraUF_vTotTrib_Opc, ImpICMSOutraUF_infAdFisco_Opc, ImpICMSOutraUF_ICMSUFFim_Opc, ImpICMSOutraUF_vICMSDeson_Opc, ImpICMSOutraUF_cBenef_Opc, ImpICMSOutraUF_IBSCBS_Opc)
 
MsgBox "ICMS Outra UF - ICMS devido à UF de origem da prestação" + ImpICMSOutraUF, vbInformation, "Resultado"

Exemplos de uso: Delphi

 
var
 
Util: OleVariant;                       // declarar a interface da DLL
 
ImpICMSOutros  : widestring;
ImpICMSOutros_CST : widestring;
ImpICMSOutros_pRedBCOutraUF_Opc: currency;
ImpICMSOutros_vBCOutraUF : currency;
ImpICMSOutros_pICMSOutraUF : currency;
ImpICMSOutros_vICMSOutraUF : currency;
ImpICMSOutros_vTotTrib_Opc : currency;
ImpICMSOutros_infAdFisco_Opc : widestring;
ImpICMSOutros_ICMSUFFim_Opc : widestring;
ImpICMSOutros_vICMSDeson_Opc : currency;
ImpICMSOutros_cBenef_Opc : widestring;
 
 
begin
 
ImpICMSOutros_CST := '90';                       // Classificação Tributária do Serviço
ImpICMSOutros_pRedBCOutraUF_Opc := 0;
ImpICMSOutros_vBCOutraUF := 1000;
ImpICMSOutros_pICMSOutraUF := 12;
ImpICMSOutros_vICMSOutraUF := 120;
ImpICMSOutros_vTotTrib_Opc := 12.34;             // valor Total dos Tributos Aproximado
ImpICMSOutros_infAdFisco_Opc := 'Informações';   // Informações adicionais de interesse do Fisco (Norma referenciada, informações complementares, etc)
ImpICMSOutros_ICMSUFFim_Opc := ' ';
ImpICMSOutros_vICMSDeson_Opc :=100;
ImpICMSOutros_cBenef_Opc :='SP2345678';
 
Util := CreateOleObject('CTe_Util.util');                 // instância a DLL
 
ImpICMSOutros  := Util.ImpICMSOutraUF_NT2024001(ImpICMSOutros_CST,
                                       ImpICMSOutros_pRedBCOutraUF_Opc,
                                       ImpICMSOutros_vBCOutraUF,
                                       ImpICMSOutros_pICMSOutraUF,
                                       ImpICMSOutros_vICMSOutraUF,
                                       ImpICMSOutros_vTotTrib_Opc,
                                       ImpICMSOutros_infAdFisco_Opc,
                                       ImpICMSOutros_ICMSUFFim_Opc,
                                       ImpICMSOutros_vICMSDeson_Opc,
                                       ImpICMSOutros_cBenef_Opc);
 
MessageDlg( 'ICMSOutros: ' + chr(13) + ImpICMSOutros, mtInformation, [mbOk], 0);
 
 
 
end;
13.10.6. Tributação para Outra UF RT
13.10. Impostos do CT-e Simplificado RT
« Anterior
13.10.5. Tributação Outros RT
Próximo »
13.10.7. Simples Nacional RT