13.10. ICMS do CT-e
13.10.2. ICMS BC Reduzida novo
13.10.1. ICMS Normal
« Anterior
13.10.3. ICMS Isento, não Tributado ou diferido novo
Próximo »

13.10.2. ICMS BC Reduzida novo


Assinatura

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

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.

Atualizado para o leiaute da NT2024/001

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.
CAMPO NOVO
cBenef_Opc string 1-10 não informar o código do benefício fiscal na UF.
CAMPO NOVO

Diagrama:

DiagramaComponenteValoresPrestação

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_vICMSDeson_Opc As Double
Dim ImpICMS20_cBenef_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 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_vICMSDeson_Opc = 100               ' valor o ICMS desonerado
ImpICMS20_cBenef_Opc = "SP12345678"          ' código do benefício fiscal na UF

'
ImpICMS20 = objCTeUtil.ImpICMS20_NT2024001(ImpICMS20_CST, ImpICMS20_pRedBC, ImpICMS20_vBC, ImpICMS20_pICMS, ImpICMS20_vICMS, ImpICMS20_vTotTrib_Opc, ImpICMS20_infAdFisco_Opc, ImpICMS20_ICMSUFFim_Opc, ImpICMS20_vICMSDeson_Opc, ImpICMS20_cBenef_Opc)
 
MsgBox "ICMS20 - Prestação sujeito à tributação com redução da BC do ICMS" + ImpICMS20, vbInformation, "Resultado"

Exemplos de uso: Delphi

procedure TForm1.Button9Click(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_vICMSDeson_Opc : currency;
ImpICMS20_cBenef_Opc : widestring;
 
 
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_vICMSDeson_Opc :=1000;
ImpICMS20_cBenef_Opc :='SP2345678';
 
Util := CreateOleObject('CTe_Util.util');                 // instância a DLL
 
ImpICMS20  := Util.ImpICMS20_NT2024001(ImpICMS20_CST,
                                       ImpICMS20_pRedBC,
                                       ImpICMS20_vBC,
                                       ImpICMS20_pICMS,
                                       ImpICMS20_vICMS,
                                       ImpICMS20_vTotTrib_Opc,
                                       ImpICMS20_infAdFisco_Opc,
                                       ImpICMS20_ICMSUFFim_Opc,
                                       ImpICMS20_vICMSDeson_Opc,
                                       ImpICMS20_cBenef_Opc);
 
MessageDlg( 'ICMS20: ' + chr(13) + ImpICMS20, mtInformation, [mbOk], 0);
 
end;
13.10.2. ICMS BC Reduzida novo
13.10. ICMS do CT-e
« Anterior
13.10.1. ICMS Normal
Próximo »
13.10.3. ICMS Isento, não Tributado ou diferido novo