14.6. Impostos do CT-e OS RT
14.6.2. Tributação BC Reduzida RT
14.6.1. Tributação Normal RT
« Anterior
14.6.3. Tributação Isento, não Tributado ou diferido RT
Próximo »

14.6.2. Tributação BC Reduzida RT


Assinatura

string ImpCST20CTeOS(string CST, double pRedBC, double vBC, double pICMS, double vICMS, 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 do ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS do leiaute do CT-e.

Este grupo deve ser informando quando a prestação de serviço tiver tributação do ICMS com redução da Base de Cálculo e o prestador seja o responsável pelo seu pagamento.

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 informar a classificação Tributária do Serviço (20 - tributação com BC reduzida do ICMS).
pRedBC double 3,2 sim informar o percentual de redução da BC (5 posições, sendo 3 inteiras e 2 decimais).
vBC double 13,2 sim informar o valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais).
pICMS double 3,2 sim informar o valor da Alíquota do ICMS (5 posições, sendo 3 inteiras e 2 decimais).
vICMS double 13,2 sim informar o valor do ICMS (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:

DiagramaCST20

Retorno:

Um string com o grupo XML do ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS, a responsabilidade do pagamento do ICMS devido é do prestador do serviço.

XML:

Exemplo de XML

Valor da Prestação = 1.000,00 percentual de redução da BC = 66,67% BC reduzida = 583,33 Alíquota ICMS = 12,00% Valor do ICMS = 70,00

<imp>
    <ICMS>
        <ICMS20>
            <CST>20</CST>
            <pRedBC>66.67</pRedBC>
            <vBC>583.33</vBC>
            <pICMS>12.00</pICMS>
            <vICMS>70.00</vICMS>
        </ICMS20>
    </ICMS>
    <vTotTrib>12.34</vTotTrib>
    <infAdFisco>Redução da BC do ICMS de 66.67%</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 ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS==========
'
Dim ImpICMS20 As String
Dim ImpICMS20_CST As String
Dim ImpICMS20_pRedBC As Double
Dim ImpICMS20_vBC As Double
Dim ImpICMS20_pICMS As Double
Dim ImpICMS20_vICMS As Double
Dim ImpICMS20_vTotTrib_Opc As Double
Dim ImpICMS20_infAdFisco_Opc As String
Dim ImpICMS20_ICMSUFFim_Opc As String
Dim ImpICMS20_infTribFed_Opc As String
Dim ImpICMS20_vICMSDeson_Opc As Double
Dim ImpICMS20_cBenef_Opc As String
Dim ImpICMS20_IBSCBS_Opc As String
Dim ImpICMS20_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 ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS=======================
'
'
ImpICMS20_CST = "20"                         ' Classificação Tributária do Serviço (20 - tributação com BC reduzida do ICMS)
ImpICMS20_pRedBC = 66.67                     ' Percentual da redução da BC (5 posições sendo 3 inteiras e 2 decimais)
ImpICMS20_vBC = 583.33                       ' Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais)
ImpICMS20_pICMS = 12#                        ' Alíquota do ICMS (5 posições sendo 3 inteiras e 2 decimais)"
ImpICMS20_vICMS = 70#                        ' Valor do ICMS (15 posições, sendo 13 inteiras e 2 decimais)"
ImpICMS20_vTotTrib_Opc = 12.34               ' valor Total dos Tributos Aproximado
ImpICMS20_infAdFisco_Opc = "Informações"     ' Informações adicionais de interesse do Fisco (Norma referenciada, informações complementares, etc)
ImpICMS20_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
ImpICMS20_infTribFed_Opc = ""                ' Informações dos tributos federais
ImpICMS20_vICMSDeson_Opc = 100               ' valor o ICMS desonerado
ImpICMS20_cBenef_Opc = "SP12345678"          ' código do benefício fiscal na UF
ImpICMS20_IBSCBS_Opc = ""                    ' Informações do IBS e CBS
ImpICMS20_vTotDFe_Opc = 0                    ' Valor total do documento fiscal (vTPrest + total IBS + total CBS)
'
ImpICMS20 = objCTeUtil.ImpCST20CTeOS(ImpICMS20_CST, _
                                     ImpICMS20_pRedBC, _
                                     ImpICMS20_vBC, _
                                     ImpICMS20_pICMS, _
                                     ImpICMS20_vICMS, _
                                     ImpICMS20_vTotTrib_Opc, _
                                     ImpICMS20_infAdFisco_Opc, _
                                     ImpICMS20_ICMSUFFim_Opc, _
                                     ImpICMS20_infTribFed_Opc, _
                                     ImpICMS20_vICMSDeson_Opc, _
                                     ImpICMS20_cBenef_Opc, _
                                     ImpICMS20_IBSCBS_Opc, _
                                     ImpICMS20_vTotDFe_Opc)
 
MsgBox "ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS" + ImpICMS20, vbInformation, "Resultado"

Exemplos de uso: Delphi

procedure TForm1.Button20Click(Sender: TObject);
var
 
Util: OleVariant;                       // declarar a interface da DLL
 
ImpICMS20  : widestring;
ImpICMS20_CST : widestring;
ImpICMS20_pRedBC : currency;
ImpICMS20_vBC : currency;
ImpICMS20_pICMS : currency;
ImpICMS20_vICMS : currency;
ImpICMS20_vTotTrib_Opc : currency;
ImpICMS20_infAdFisco_Opc : widestring;
ImpICMS20_ICMSUFFim_Opc : widestring;
ImpICMS20_infTribFed_Opc : widestring;
ImpICMS20_vICMSDeson_Opc : currency;
ImpICMS20_cBenef_Opc : widestring;
ImpICMS20_IBSCBS_Opc : widestring;
ImpICMS20_vTotDFe_Opc : currency;
 
begin
 
ImpICMS20_CST := '20';                       // Classificação Tributária do Serviço
ImpICMS20_pRedBC := 5.12;                    // Percentual de redução da BC (5 posições sendo 3 inteiras e 2 decimais)
ImpICMS20_vBC := 1235.02;                    // Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais)
ImpICMS20_pICMS := 11;                       // Alíquota do ICMS (5 posições sendo 3 inteiras e 2 decimais)
ImpICMS20_vICMS := 1235.43;                  // Valor da BC do ICMS (15 posições, sendo 13 inteiras e 2 decimais)
ImpICMS20_vTotTrib_Opc := 12.34;             // valor Total dos Tributos Aproximado
ImpICMS20_infAdFisco_Opc := 'Informações';    // Informações adicionais de interesse do Fisco (Norma referenciada, informações complementares, etc)
ImpICMS20_ICMSUFFim_Opc := ' ';
ImpICMS20_infTribFed_Opc := '';
ImpICMS20_vICMSDeson_Opc :=1000;
ImpICMS20_cBenef_Opc :='SP2345678';
ImpICMS20_IBSCBS_Opc := '';                 // Informações do IBS e da CBS
ImpICMS20_vTotDFe_Opc := 0;                  // Valor total do documento fiscal (vTPrest + total IBS + total CBS)
 
 
Util := CreateOleObject('CTe_Util.util');                 // instância a DLL
 
ImpICMS20  := Util.ImpCST20CTeOS(ImpICMS20_CST,
                                 ImpICMS20_pRedBC,
                                 ImpICMS20_vBC,
                                 ImpICMS20_pICMS,
                                 ImpICMS20_vICMS,
                                 ImpICMS20_vTotTrib_Opc,
                                 ImpICMS20_infAdFisco_Opc,
                                 ImpICMS20_ICMSUFFim_Opc,
                                 ImpICMS20_infTribFed_Opc,
                                 ImpICMS20_vICMSDeson_Opc,
                                 ImpICMS20_cBenef_Opc,
                                 ImpICMS20_IBSCBS_Opc,
                                 ImpICMS20_vTotDFe_Opc);
 
MessageDlg( 'ICMS20: ' + chr(13) + ImpICMS20, mtInformation, [mbOk], 0);
 
 
end;
 
end;
14.6.2. Tributação BC Reduzida RT
14.6. Impostos do CT-e OS RT
« Anterior
14.6.1. Tributação Normal RT
Próximo »
14.6.3. Tributação Isento, não Tributado ou diferido RT