- 14.8.2. Impostos do Produto
14.8.2.3. ICMS 4.00 [obsoleto] - 14.8.2.2.1. ICMS 4.00-CSOSN [15-08-17]
« Anterior - 14.8.2.4. ICMS efet NT201805 [16/03/19]
Próximo »
14.8.2.3. ICMS 4.00 [obsoleto]
Grupo de ICMS da NF-e versão 4.00 (NT 2016/002)
Funcionalidade para gerar o XML do grupo do ICMS da NF-e 4.00
Novidades - NOVAS TAGS
FCP - criadas novas tags referentes ao FCP da operação própria: vBCFCP, pFCP e vFCP.
FCP ST - criadas novas tags referentes ao FCP retido por Substituição Tributária: vBCFCPST, pFCPST e vFCPST.
FCP Retido anteriormente por ST - criadas novas tags referentes ao FCP retido anteriormente por Substituição Tributária: vBCFCPSTRet, pFCPSTRet e vFCPSTRet.
pST - criada tag pST para informar o percentual do ICMS-ST que foi suportado pelo consumidor nas operações que tiverem o ICMS retido anteriormente por Substituição Tributária (CST=60 e CSOSN=500).
Assinatura
string icms400(string orig, string CST, int modBC, double pRedBC, double vBC, double pICMS, double vICMS, int modBCST, double pMVAST, double pRedBCST, double vBCST, double pICMSST, double vICMSST, double vBCSTRet, double vICMSSTRet, double vBCSTDest, double vICMSSTDest, int motDesICMS, double pBCOp, string UFST, double pCredSN, double vCredICMSSN, double vICMSDeson, double vICMSOp, double pDif, double vICMSDif, double vBCFCP, double pFCP, double vFCP, double vBCFCPST, double pFCPST, double vFCPST, double vBCFCPSTRet, double pFCPSTRet, double vFCPSTRet, double pST)
Descrição:
Funcionalidade para gerar as informações do ICMS do item de produto da NF-e versão 4.00.
O preenchimento dos campos do grupo de ICMS são variáveis e dependem do CST - Código da Situação Tributária ou do CSOSN - código da Situação da operação do ICMS no Simples Nacional do item de produto.
A funcionalidade utiliza apenas os campos exigidos para o CST para montar o grupo de informações do ICMS, assim o usuário deve ficar atento para informar os campos que são exigidos para cada CST.
Campo | Descrição | CST 00 |
CST 10 |
CST 20 |
CST 30 |
CST 40 |
CST 41 |
CST 50 |
CST 51 |
CST 60 |
CST 70 |
CST 90 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
orig | Origem da mercadoria | S | S | S | S | S | S | S | S | S | S | ? |
CST | Tributação do ICMS | S | S | S | S | S | S | S | S | S | S | ? |
modBC | Modalidade de determinação da BC do ICMS | S | S | S | N | N | N | N | ? | N | S | ? |
pRedBC | Percentual da Redução de BC | N | N | S | N | N | N | N | ? | N | S | ? |
vBC | Valor da BC do ICMS | S | S | S | N | N | N | N | ? | N | S | ? |
pICMS | Alíquota do imposto | S | S | S | N | N | N | N | ? | N | S | ? |
vICMS | Valor do ICMS | S | S | S | N | N | N | N | ? | N | S | ? |
modBCST | Modalidade de determinação da BC do ICMS ST | N | S | N | S | N | N | N | N | N | S | ? |
pMVAST | Percentual da margem de valor Adicionado do ICMS ST | N | S | N | S | N | N | N | N | N | S | ? |
pRedBCST | Percentual da Redução de BC do ICMS ST | N | ? | N | ? | N | N | N | N | N | ? | ? |
vBCST | Valor da BC do ICMS ST | N | S | N | S | N | N | N | N | N | S | ? |
pICMSST | Alíquota do imposto do ICMS ST | N | S | N | S | N | N | N | N | N | S | ? |
vICMSST | Valor do ICMS ST | N | S | N | S | N | N | N | N | N | S | ? |
UFST | UF para qual é devido o ICMS ST | N | N | N | N | N | N | N | N | N | N | ? |
pBCop | Percentual da BC operação própria | N | N | N | N | N | N | N | N | N | N | ? |
vBCSTRet | Valor da BC do ICMS Retido Anteriormente | N | N | N | N | N | S | N | N | S | N | ? |
vICMSSTRet | Valor do ICMS Retido Anteriormente | N | N | N | N | N | S | N | N | S | N | ? |
motDesICMS | Motivo da desoneração do ICMS | N | N | ? | ? | ? | ? | ? | N | N | N | ? |
vBCSTDest | Valor da BC do ICMS ST da UF destino | N | N | N | N | N | N | N | N | N | N | N |
vICMSSTDest | Valor do ICMS ST da UF destino | N | N | N | N | N | N | N | N | N | N | N |
pCredSN | Alíquota aplicável de cálculo do crédito (Simples Nacional) | N | N | N | N | N | N | N | N | N | N | N |
vCredICMSSN | Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL) | N | N | N | N | N | N | N | N | N | N | N |
vICMSDeson | Valor do ICMS da desoneração | N | N | ? | ? | ? | ? | ? | N | N | ? | ? |
vICMSOp | Valor do ICMS da Operação | N | N | N | N | N | N | N | ? | N | N | ? |
pDif | percentual do diferimento | N | N | N | N | N | N | N | ? | N | N | ? |
vICMSDif | Valor do ICMS Diferido | N | N | N | N | N | N | N | ? | N | N | ? |
vBCFCP | Valor da Base de Cálculo do FCP (campo novo) |
N | ? | ? | N | N | N | N | ? | N | ? | ? |
pFCP | Percentual do FCP (campo novo) |
? | ? | ? | N | N | N | N | ? | N | ? | ? |
vFCP | Valor do FCP (campo novo) |
? | ? | ? | N | N | N | N | ? | N | ? | ? |
vBCFCPST | Valor da Base de Cálculo do FCP retido por Substituição Tributária (campo novo) |
N | ? | N | ? | N | N | N | N | N | ? | ? |
pFCPST | Percentual do FCP retido por Substituição Tributária. (campo novo) |
N | ? | N | ? | N | N | N | N | N | ? | ? |
vFCPST | Valor do FCP retido por Substituição Tributária (campo novo) |
N | ? | N | ? | N | N | N | N | N | ? | ? |
vBCFCPSTRet | Valor da BC do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | N | ? | N | N |
pFCPSTRet | Alíquota do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | N | ? | N | N |
vFCPSTRet | Valor do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | N | ? | N | N |
pST | Alíquota suportada pelo Consumidor Final (campo novo) |
N | N | N | N | N | N | N | N | ? | N | N |
- “S” - o campo deve ser informado, “N” - o campo não deve ser informado e “?” - a exigência do campo depende da situação fática.
Campo | Descrição | CST ICMSPart |
CST ICMSST |
---|---|---|---|
orig | Origem da mercadoria | S | S |
CST | Tributação do ICMS | S | S |
modBC | Modalidade de determinação da BC do ICMS | S | N |
pRedBC | Percentual da Redução de BC | S | N |
vBC | Valor da BC do ICMS | S | N |
pICMS | Alíquota do imposto | S | N |
vICMS | Valor do ICMS | S | N |
modBCST | Modalidade de determinação da BC do ICMS ST | S | N |
pMVAST | Percentual da margem de valor Adicionado do ICMS ST | S | N |
pRedBCST | Percentual da Redução de BC do ICMS ST | S | N |
vBCST | Valor da BC do ICMS ST | S | N |
pICMSST | Alíquota do imposto do ICMS ST | S | N |
vICMSST | Valor do ICMS ST | S | N |
UFST | UF para qual é devido o ICMS ST | S | N |
pBCop | Percentual da BC operação própria | S | N |
vBCSTRet | Valor da BC do ICMS Retido Anteriormente | N | S |
vICMSSTRet | Valor do ICMS Retido Anteriormente | N | S |
motDesICMS | Motivo da desoneração do ICMS | N | N |
vBCSTDest | Valor da BC do ICMS ST da UF destino | N | S |
vICMSSTDest | Valor do ICMS ST da UF destino | N | S |
pCredSN | Alíquota aplicável de cálculo do crédito (Simples Nacional) | N | N |
vCredICMSSN | Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL) | N | N |
vICMSDeson | Valor do ICMS da desoneração | N | N |
vICMSOp | Valor do ICMS da Operação | N | N |
pDif | percentual do diferimento | N | N |
vICMSDif | Valor do ICMS Diferido | N | N |
vBCFCP | Valor da Base de Cálculo do FCP (campo novo) |
N | N |
pFCP | Percentual do FCP (campo novo) |
N | N |
vFCP | Valor do FCP (campo novo) |
N | N |
vBCFCPST | Valor da Base de Cálculo do FCP retido por Substituição Tributária (campo novo) |
N | N |
pFCPST | Percentual do FCP retido por Substituição Tributária. (campo novo) |
N | N |
vFCPST | Valor do FCP retido por Substituição Tributária (campo novo) |
N | N |
vBCFCPSTRet | Valor da BC do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N |
pFCPSTRet | Alíquota do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N |
vFCPSTRet | Valor do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N |
pST | Alíquota suportada pelo Consumidor Final (campo novo) |
N | N |
- “S” - o campo deve ser informado, “N” - o campo não deve ser informado e “?” - a exigência do campo depende da situação fática.
Campo | Descrição | CSOSN 101 |
CSOSN 102 |
CSOSN 103 |
CSOSN 201 |
CSOSN 202 |
CSOSN 203 |
CSOSN 400 |
CSOSN 500 |
CSOSN 900 |
---|---|---|---|---|---|---|---|---|---|---|
orig | Origem da mercadoria | S | S | S | S | S | S | S | S | ? |
CST | Tributação do ICMS | S | S | S | S | S | S | S | S | ? |
modBC | Modalidade de determinação da BC do ICMS | N | N | N | N | N | N | N | N | ? |
pRedBC | Percentual da Redução de BC | N | N | N | N | N | N | N | N | ? |
vBC | Valor da BC do ICMS | N | N | N | N | N | N | N | N | ? |
pICMS | Alíquota do imposto | N | N | N | N | N | N | N | N | ? |
vICMS | Valor do ICMS | N | N | N | N | N | N | N | N | ? |
modBCST | Modalidade de determinação da BC do ICMS ST | N | N | N | S | S | S | N | N | ? |
pMVAST | Percentual da margem de valor Adicionado do ICMS ST | N | N | N | S | S | S | N | N | ? |
pRedBCST | Percentual da Redução de BC do ICMS ST | N | N | N | ? | ? | ? | N | N | ? |
vBCST | Valor da BC do ICMS ST | N | N | N | S | S | S | N | N | ? |
pICMSST | Alíquota do imposto do ICMS ST | N | N | N | S | S | S | N | N | ? |
vICMSST | Valor do ICMS ST | N | N | N | S | S | S | N | N | ? |
UFST | UF para qual é devido o ICMS ST | N | N | N | N | N | N | N | N | ? |
pBCop | Percentual da BC operação própria | N | N | N | N | N | N | N | N | ? |
vBCSTRet | Valor da BC do ICMS Retido Anteriormente | N | N | N | N | N | N | N | S | ? |
vICMSSTRet | Valor do ICMS Retido Anteriormente | N | N | N | N | N | N | N | S | ? |
motDesICMS | Motivo da desoneração do ICMS | N | N | N | N | N | N | N | N | ? |
vBCSTDest | Valor da BC do ICMS ST da UF destino | N | N | N | N | N | N | N | N | ? |
vICMSSTDest | Valor do ICMS ST da UF destino | N | N | N | N | N | N | N | N | ? |
pCredSN | Alíquota aplicável de cálculo do crédito (Simples Nacional) | S | N | N | S | N | N | N | N | ? |
vCredICMSSN | Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL) | S | N | N | S | N | N | N | N | ? |
vICMSDeson | Valor do ICMS da desoneração | N | N | N | N | N | N | N | N | N |
vICMSOp | Valor do ICMS da Operação | N | N | N | N | N | N | N | N | N |
pDif | percentual do diferimento | N | N | N | N | N | N | N | N | N |
vICMSDif | Valor do ICMS Diferido | N | N | N | N | N | N | N | N | N |
vBCFCP | Valor da Base de Cálculo do FCP (campo novo) |
N | N | N | N | N | N | N | N | N |
pFCP | Percentual do FCP (campo novo) |
N | N | N | N | N | N | N | N | N |
vFCP | Valor do FCP (campo novo) |
N | N | N | N | N | N | N | N | N |
vBCFCPST | Valor da Base de Cálculo do FCP retido por Substituição Tributária (campo novo) |
N | N | N | S | S | S | N | N | ? |
pFCPST | Percentual do FCP retido por Substituição Tributária. (campo novo) |
N | N | N | S | S | S | N | N | ? |
vFCPST | Valor do FCP retido por Substituição Tributária (campo novo) |
N | N | N | S | S | S | N | N | ? |
vBCFCPSTRet | Valor da BC do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | ? | N |
pFCPSTRet | Alíquota do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | ? | N |
vFCPSTRet | Valor do FCP retido anteriormente por Substituição Tributária (campo novo) |
N | N | N | N | N | N | N | ? | N |
pST | Alíquota suportada pelo Consumidor Final (campo novo) |
N | N | N | N | N | N | N | S | N |
- “S” - o campo deve ser informado, “N” - o campo não deve ser informado e “?” - a exigência do campo depende da situação fática.
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
orig | string | 1 | sim | informar o código da origem da mercadoria: codificação válida a partir de 01/10/2013 [28-09-13] 0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8; 1 - Estrangeira - Importação direta, exceto a indicada no código 6; 2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7; 3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%; 4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes; 5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%; 6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural; 7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante em lista da CAMEX e gás natural. 8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%; |
CST | string | 2,3 | sim | informar o CST da operação: 00 - Tributada integralmente; 10 - Tributada e com cobrança do ICMS por substituição tributária; 20 - Com redução de base de cálculo; 30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária; 40 - Isenta; 41 - Não tributada; 50 - Suspensão; 51 - Diferimento; 60 - ICMS cobrado anteriormente por substituição tributária; 70 - Com redução de base de cálculo e cobrança do ICMS por substituição tributária; 90 - Outros; P10 - ICMSPart com CST=10; P90 - ICMSPart com CST=90; S41 - ICMSST para CST=41; S60 - ICMSST para CST=60. ou Quando o CRT=1, informar o Código de Situação da Operação - Simples Nacional (CSOSN) 101 - Tributada pelo Simples Nacional com permissão de crédito; 102 - Tributada pelo Simples Nacional sem permissão de crédito; 103 - Isenção do ICMS no Simples Nacional para faixa de receita bruta; 201 - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária; 202 - Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por substituição tributária; 203 - Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária; 300 - Imune; 400 - Não tributada pelo Simples Nacional; 500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação; 900 - Outros. |
modBC | inteiro | 1 | depende | informar a modalidade de determinação da BC do ICMS: 0 - Margem Valor Agregado (%); 1 - Pauta (valor); 2 - Preço Tabelado Máximo (valor); 3 - Valor da Operação. |
pRedBC | double | 5,2-4 | depende | informar o Percentual de redução da BC do ICMS da operação própria |
vBC | double | 15,2 | depende | informar o Valor da BC do ICMS do ICMS da operação própria |
pICMS | double | 5,2-4 | depende | informar a Alíquota do ICMS do ICMS da operação própria |
vICMS | double | 15,2 | depende | informar o Valor do ICMS do ICMS da operação própria |
modBCST | inteiro | 1 | depende | informar a modalidade de determinação da BC do ICMS ST: 0 - Preço tabelado ou máximo sugerido; 1 - Lista Negativa (valor); 2 - Lista Positiva (valor); 3 - Lista Neutra (valor); 4 - Margem Valor Agregado (%); 5 - Pauta (valor). |
pMVAST | double | 5,2-4 | depende | informar o Percentual da Margem de Valor Adicionado ICMS ST |
pRedBCST | double | 5,2-4 | depende | informar o Percentual de redução da BC ICMS ST |
vBCST | double | 15,2 | depende | informar o Valor da BC do ICMS ST |
pICMSST | double | 5,2-4 | depende | informar a Alíquota do ICMS ST |
vICMSST | double | 15,2 | depende | informar o Valor do ICMS ST |
vBCSTRet | double | 15,2 | depende | informar o Valor da BC do ICMS ST retido |
vICMSSTRet | double | 15,2 | depende | informar o Valor do ICMS ST retido |
vBCSTDest | double | 15,2 | depende | informar o Valor da BC do ICMS ST da UF Destino |
vICMSSTDest | double | 15,2 | depende | informar o Valor do ICMS ST da UF destino |
motDesICMS | inteiro | 1 | depende | informar o Motivo da desoneração do ICMS: 1 - Táxi; 2 - Deficiente Físico; 3 - Produtor Agropecuário; 4 - Frotista/Locadora; 5 - Diplomático/Consular; 6 - Utilitários e Motocicletas da Amazônia Ocidental e Áreas de Livre Comércio (Resolução 714/88 e 790/94 - CONTRAN e suas alterações); 7 - SUFRAMA; 8 – Venda a Órgãos Públicos; 9 - outros. 10- Deficiente Condutor; 11- Deficiente não condutor; 16 - Olimpíadas Rio 2016; 90 - Solicitação do Fisco. Informar em conjunto com o vICMSDeson. IMPORTANTE: informe zero quando a operação não tenha isenção condicional. |
pBCOp | double | 5,2-4 | depende | informar o Percentual da BC operação própria |
UFST | string | 2 | depende | informar a UF para qual é devido o ICMS ST |
pCredSN | double | 15,2 | depende | informar o Alíquota aplicável de cálculo do crédito (Simples Nacional) |
vCredICMSSN | double | 15,2 | depende | informar o Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (SIMPLES NACIONAL) |
vICMSDeson | double | 15,2 | depende | informar o Valor do ICMS da desoneração, deve ser informado quando em con junto com motDesICMS |
vICMSOp | double | 15,2 | depende | informar o Valor do ICMS da operação que não será diferido |
pDif | double | 5,2-4 | depende | informar o percentual do diferimento |
vICMSDif | double | 15,2 | depende | informar o Valor do ICMS que será diferido. |
vBCFCP | double | 15,2 | depende | informar o Valor da Base de Cálculo do FCP (campo novo) |
pFCP | double | 1,2-4 | depende | informar o Percentual do FCP Nota: Percentual máximo de 2%, conforme a legislação. (campo novo) |
vFCP | double | 15,2 | depende | informar o Valor do FCP (campo novo) |
vBCFCPST | double | 15,2 | depende | informar o Valor da Base de Cálculo do FCP retido por Substituição Tributária. (campo novo) |
pFCPST | double | 1,2-4 | depende | informar o Percentual do FCP retido por Substituição Tributária. Nota: Percentual máximo de 2%, conforme a legislação. (campo novo) |
vFCPST | double | 15,2 | depende | informar o Valor do FCP retido por Substituição Tributária. (campo novo) |
vBCFCPSTRet | double | 15,2 | depende | informar o Valor da Base de Cálculo do FCP retido anteriormente por Substituição Tributária. (campo novo) |
pFCPSTRet | double | 1,2-4 | depende | informar o Percentual do FCP retido anteriormente por Substituição Tributária. Nota: Percentual máximo de 2%, conforme a legislação. (campo novo) |
vFCPSTRet | double | 15,2 | depende | informar o Valor do FCP retido anteriormente por Substituição Tributária. (campo novo) |
pST | double | 5,2-4 | depende | informar Alíquota suportada pelo Consumidor Final. Deve ser informada a alíquota do cálculo do ICMS-ST, já incluso o FCP caso incida sobre a mercadoria. Exemplo: alíquota da mercadoria na venda ao consumidor final = 18% e 2% de FCP. A alíquota a ser informada no campo pST deve ser 20%. (campo novo) |
Diagrama:
Retorno:
Um string com o grupo XML de identificação
Histórico de atualização:
- 2012-06-29 - revisão de texto - corrigido o tipo do parâmetro orig.
- 2014-01-12 - Atualização para a versão 3.10.
- 2017-08-15 - Atualização para a versão 4.00.
- 2017-08-20 - Correção para acrescentar as tags do FCP Retido anteriormente por ST.
- 2018-03-12 - Acréscimo da opção S60 para gerar o grupo ICMSST com CST=60.
XML:
Exemplo de XML para CST = 00 - Tributada integralmente
<ICMS> <ICMS00> <orig>0</orig> <CST>00</CST> <modBC>3</modBC> <vBC>100.00</vBC> <pICMS>18.00</pICMS> <vICMS>18.00</vICMS> </ICMS00> </ICMS>
Exemplo de XML para CST = 10 - Tributada e com cobrança do ICMS por substituição tributária
<ICMS> <ICMS10> <orig>0</orig> <CST>10</CST> <modBC>3</modBC> <vBC>100.00</vBC> <pICMS>18.00</pICMS> <vICMS>18.00</vICMS> <modBCST>4</modBCST> <pMVAST>50.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>135.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>6.30</vICMSST> </ICMS10> </ICMS>
- Os campos pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CST = 20 - com redução de base de cálculo
<ICMS> <ICMS20> <orig>0</orig> <CST>20</CST> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> </ICMS20> </ICMS>
Exemplo de XML para CST = 30 - Isenta ou não tributada e com cobrança do ICMS por substituição tributária
<ICMS> <ICMS30> <orig>0</orig> <CST>30</CST> <modBCST>4</modBCST> <pMVAST>50.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>135.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>24.30</vICMSST> </ICMS30> </ICMS>
- Os campos pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CST = 40 - Isenta
<ICMS> <ICMS40> <orig>0</orig> <CST>40</CST> </ICMS40> </ICMS>
Exemplo de XML para CST = 40 - Isenta, com isenção condicional
<ICMS> <ICMS40> <orig>0</orig> <CST>40</CST> <vICMSDeson>1800.00</vICMSDeson> <motDesICMS>1</motDesICMS> </ICMS40> </ICMS>
- Os campos vICMSDeson e motDesICMS devem ser informados quando a ISENÇÃO for condicional (exemplo: venda de veículo com ISENÇÃO de ICMS para Taxista)*
Exemplo de XML para CST = 41 - Não tributada
<ICMS> <ICMS40> <orig>0</orig> <CST>41</CST> </ICMS40> </ICMS>
Exemplo de XML para CST = 50 - Suspensão
<ICMS> <ICMS40> <orig>0</orig> <CST>50</CST> </ICMS40> </ICMS>
Exemplo de XML para CST = 51 - Diferimento, sem informação do ICMS diferido (diferimento total)
<ICMS> <ICMS51> <orig>0</orig> <CST>51</CST> </ICMS51> </ICMS>
Exemplo de XML para CST = 51 - Diferimento, com informação do valor do tributo diferido quando exigido pela legislação
<ICMS> <ICMS51> <orig>0</orig> <CST>51</CST> <modBC>3</modBC> <pRedBC>20.00</pRedBC> <vBC>80.00</vBC> <pICMS>18.00</pICMS> <vICMSOp>9.60</vICMSOp> <pDif>100.00</pDif > <vICMSDif>9.60</vICMSDif> </ICMS51> </ICMS>
- Os campos modBC, pRedBC, vBC, pICMS e vICMS podem ser omitidos quando não exigidos pela legislação ou o seu conteúdo for igual a zero.
**Exemplo de XML para CST = 51 - Diferimento parcial* de 33,33% do ICMS devido*
<ICMS> <ICMS51> <orig>0</orig> <CST>51</CST> <modBC>3</modBC> <vBC>1000.00</vBC> <pICMS>18.00</pICMS> <vICMSOp>180.00</vICMSOp> <pDif>33.33</pDif > <vICMSDif>60.00</vICMSDif> <vICMS>120.00</vICMS> <ICMS51></ICMS>
Exemplo de XML para CST = 60 - ICMS cobrado anteriormente por substituição tributária
<ICMS> <ICMS60> <orig>0</orig> <CST>60</CST> <vBCSTRet>135.00</vBCSTRet> <pST>18.00</pST> <vICMSSTRet>24.30</vICMSSTRet> </ICMS60> </ICMS>
Exemplo de XML para CST = 70 - Com redução de base de cálculo e cobrança de ICMS por substituição tributária
<ICMS> <ICMS70> <orig>0</orig> <CST>70</CST> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> </ICMS70> </ICMS>
- Os campos pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CST = 90 - Outras
<ICMS> <ICMS90> <orig>0</orig> <CST>90</CST> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> </ICMS90> </ICMS>
- Os campos pRedBC, pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CST = 90 - Outras, com informação somente do CST
<ICMS> <ICMS90> <orig>0</orig> <CST>90</CST> </ICMS90> </ICMS>
Exemplo de XML para CST = 90 - Outras, com informação do CST e ICMS próprio
<ICMS> <ICMS90> <orig>0</orig> <CST>90</CST> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> </ICMS90> </ICMS>
Exemplo de XML para CST = 90 - Outras, com informação do CST e ICMS ST
<ICMS> <ICMS90> <orig>0</orig> <CST>90</CST> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> </ICMS90> </ICMS>
Exemplo de XML para CST = 90 - Outras, com informação do CST, ICMS próprio e ICMS ST
<ICMS> <ICMS90> <orig>0</orig> <CST>90</CST> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> </ICMS90> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 101
<ICMS> <ICMSSN101> <orig>0</orig> <CSOSN>101</CSOSN> <pCredSN>1.25</pCredSN> <vCredICMSSN>12.96</vCredICMSSN> </ICMSSN101> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 102, 103, 300 ou 400
<ICMS> <ICMSSN102> <orig>0</orig> <CSOSN>102</CSOSN> </ICMSSN102> </ICMS>
- O campo CST pode ser informado com 102, 103, 300 ou 400
Exemplo de XML para CRT=1 e CSOSN = 201
<ICMS> <ICMSSN201> <orig>0</orig> <CSOSN>201</CSOSN> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> <pCredSN>1.25</pCredSN> <vCredICMSSN>12.96</vCredICMSSN> </ICMSSN201> </ICMS>
- Os campos pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CRT=1 e CSOSN = 202 ou 203
<ICMS> <ICMSSN202> <orig>0</orig> <CSOSN>202</CSOSN> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>12.96</vICMSST> </ICMSSN202> </ICMS>
- O campo CST pode ser informado com 202 ou 203
- Os campos pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CRT=1 e CSOSN = 500
<ICMS> <ICMSSN500> <orig>0</orig> <CSOSN>500</CSOSN> <vBCSTRet>162.00</vBCSTRet> <pST>18.00</pST> <vICMSSTRet>12.96</vICMSSTRet> </ICMSSN500> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 900
<ICMS> <ICMSSN900> <orig>0</orig> <CSOSN>900</CSOSN> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>7.00</pICMS> <vICMS>6.30</vICMS> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>22,86</vICMSST> <pCredSN>1.25</pCredSN> <vCredICMSSN>1.25</vCredICMSSN> </ICMSSN900> </ICMS>
- Os campos pRedBC, pMVAST e pRedBCST devem ser omitidos quando o conteúdo for igual a zero.
Exemplo de XML para CRT=1 e CSOSN = 900, com informação do CSOSN
<ICMS> <ICMSSN900> <orig>0</orig> <CSOSN>900</CSOSN> </ICMSSN900> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 900, com informação do CSOSN e valor do ICMS passível de crédito pelo destinatário
<ICMS> <ICMSSN900> <orig>0</orig> <CSOSN>900</CSOSN> <pCredSN>1.25</pCredSN> <vCredICMSSN>12.96</vCredICMSSN> </ICMSSN900> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 900, com informação do CSOSN e ICMS próprio
<ICMS> <ICMSSN900> <orig>0</orig> <CSOSN>900</CSOSN> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>18.00</pICMS> <vICMS>16.20</vICMS> </ICMSSN900> </ICMS>
Exemplo de XML para CRT=1 e CSOSN = 900, com informação do CSOSN, ICMS próprio e ICMS ST
<ICMS> <ICMSSN900> <orig>0</orig> <CSOSN>900</CSOSN> <modBC>3</modBC> <pRedBC>10.00</pRedBC> <vBC>90.00</vBC> <pICMS>7.00</pICMS> <vICMS>6.30</vICMS> <modBCST>4</modBCST> <pMVAST>100.00</pMVAST> <pRedBCST>10.00</pRedBCST> <vBCST>162.00</vBCST> <pICMSST>18.00</pICMSST> <vICMSST>22.86</vICMSST> </ICMSSN900> </ICMS>
Exemplo:
Exemplo Delphi
procedure TForm1.ICMSCSOSN101(Sender: TObject); var Util: Olevariant; ICMS : widestring; ICMS_orig : widestring; ICMS_CST : widestring; ICMS_modBC: integer; ICMS_pRedBC: currency; ICMS_vBC : currency; ICMS_pICMS : currency; ICMS_vICMS : currency; ICMS_modBCST : integer; ICMS_pMVAST : currency; ICMS_pRedBCST : currency; ICMS_vBCST : currency; ICMS_pICMSST : currency; ICMS_vICMSST : currency; ICMS_vBCSTRet : currency; ICMS_vICMSSRet : currency; ICMS_vBCSTDest : currency; ICMS_vICMSSTDest : currency; ICMS_motDesICMS : integer; ICMS_pBCOp : currency; ICMS_UFST : widestring; ICMS_pCredSN : currency; ICMS_vCredICMSSN : currency; ICMS_vICMSDeson : currency; ICMS_vICMSOp : currency; ICMS_pDif : currency; ICMS_vICMSDif : currency; // // campos novos da versão 4.00 // ICMS_vBCFCP : Currency; ICMS_pFCP : Currency; ICMS_vFCP : Currency; ICMS_vBCFCPST : Currency; ICMS_pFCPST : Currency; ICMS_vFCPST : Currency; ICMS_vBCFCPSTRet : Currency; ICMS_pFCPSTRet : Currency; ICMS_vFCPSTRet : Currency; ICMS_pST : Currency; begin ICMS_orig := '0'; // informar a origem do produto ICMS_CST := '101'; // informar o CST (emissor RPA) ou CSOSN (emissor optante do Simples Nacional) // // informações do ICMS da operação própria, somente para CST = 00, 10, 20, 51 (depende da SEFAZ exigir), 70 e 90 (depende do caso) // CSOSN=900 // ICMS_modBC := 0; ICMS_pRedBC :=0; ICMS_vBC :=0; ICMS_pICMS :=0; ICMS_vICMS :=0; // // informações do ICMS retido por Substituição Tributária, informar somente nos casos em que o emissor // retem o ICMS por ST do destinatário CST = 10, 30, 70 e 90 (depende do caso) // CSOSN = 201, 202, 203 e 900 (depende do caso) // ICMS_modBCST :=0; ICMS_pMVAST :=0; ICMS_pRedBCST :=0; ICMS_vBCST :=0; ICMS_pICMSST :=0; ICMS_vICMSST :=0; // // informações do ICMS retido anteriormente por Substituição Tributária, // deve ser informado se a legislação exigir para os CST=60 e CSOSN=500 // // É aplicável quando o emissor adquiriu o produto que já teve a retenção do ICMS devido até a venda para // consumidor retido anteriormente. // // Também deve ser informado nos casos de CST = ICMSST // ICMS_vBCSTRet :=0; ICMS_vICMSSRet :=0; // // ICMS_vBCSTDest :=0; ICMS_vICMSSTDest :=0; // // deve ser informado quando existir alguma desoneração condicional para veículos novos, CST=40 // ICMS_motDesICMS :=0; // // percentual da BC da operação própria no caso de repartição de tributo // ICMS_pBCOp :=0; // // informar a UF para qual é devido o ICMS ST no caso de repartição do tributo // ICMS_UFST := ''; // // informar para o CSOSN 101, 201 e 900 (depende do caso) // ICMS_pCredSN :=1.25; ICMS_vCredICMSSN :=12.96; // // Campos novos da versão 3.10 // ICMS_vICMSDeson := 0; // valor do ICMS desonerado ICMS_vICMSOp := 0; // valor do ICMS da Operação - grupo 51 diferimento ICMS_pDif := 0; // percentual do diferimento - grupo 51 diferimento ICMS_vICMSDif := 0; // valor do ICMS diferido - grupo 51 diferimento // // Campos novos da versão 4.00 // ICMS_vBCFCP := 0; // valor BC FCP ICMS_pFCP := 0; // percentual do FCP ICMS_vFCP := 0; // valor do FCP ICMS_vBCFCPST := 0; // valor BC FCP ST ICMS_pFCPST := 0; // percentual do FCP ST ICMS_vFCPST := 0; // valor do FCP ST ICMS_vBCFCPSTRet := 0; // valor BC FCP retido anteriormente por ST ICMS_pFCPSTRet := 0; // percentual do FCP retido anteriormente por ST ICMS_vFCPSTRet := 0; // valor do FCP retido anteriormente por ST ICMS_pST := 0; // percentual da aliquota suportada pelo consumidor final Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icms400(ICMS_orig, ICMS_CST, ICMS_modBC, ICMS_pRedBC, ICMS_vBC, ICMS_pICMS, ICMS_vICMS, ICMS_modBCST, ICMS_pMVAST, ICMS_pRedBCST, ICMS_vBCST, ICMS_pICMSST, ICMS_vICMSST, ICMS_vBCSTRet, ICMS_vICMSSRet, ICMS_vBCSTDest, ICMS_vICMSSTDest, ICMS_motDesICMS, ICMS_pBCOp, ICMS_UFST, ICMS_pCredSN, ICMS_vCredICMSSN, ICMS_vICMSDeson, ICMS_vICMSOp, ICMS_pDif, ICMS_vICMSDif, ICMS_vBCFCP, ICMS_pFCP, ICMS_vFCP, ICMS_vBCFCPST, ICMS_pFCPST, ICMS_vFCPST, ICMS_vBCFCPSTRet, ICMS_pFCPSTRet, ICMS_vFCPSTRet, ICMS_pST); MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
Exemplo VB
' inicializar variáveis '............................................... Dim objNFeUtil As Object Set objNFeUtil = CreateObject("NFe_Util_2G.Util") ' '=========dados do ICMS=========== ' Dim icms_orig As String Dim icms_CST As String Dim icms_modBC As Long Dim icms_pRedBC As Double Dim icms_vBC As Currency Dim icms_pICMS As Double Dim icms_vICMS As Currency Dim icms_modBCST As Long Dim icms_pmVAST As Double Dim icms_pRedBCST As Double Dim icms_vBCST As Currency Dim icms_pICMSST As Double Dim icms_vICMSST As Currency ' ' campos novos da versão 2.00 ' Dim icms_vBCSTRet As Currency Dim icms_vICMSSTRet As Currency Dim icms_motDesICMS As Long Dim icms_pBCOp As Double Dim icms_UFST As String Dim icms_pCredSN As Double Dim icms_vCredICMSSN As Currency Dim icms_vICMSSTDest As Currency Dim icms_vBCICMSSTDest As Currency ' ' campos novos da versão 3.10 ' Dim icms_vICMSDeson As Currency Dim icms_vICMSOp As Currency Dim icms_pDif As Double Dim icms_vICMSDif As Currency ' ' campos novos da versão 4.00 ' Dim icms_vBCFCP As Currency Dim icms_pFCP As double Dim icms_vFCP As Currency Dim icms_vBCFCPST As Currency Dim icms_pFCPST As Currency Dim icms_vFCPST As Currency Dim icms_vBCFCPSTRet As Currency Dim icms_pFCPSTRet As Currency Dim icms_vFCPSTRet As Currency Dim icms_pST As Currency '=========dados do ICMS (grupo N01 do Manual de integração - páginas 128-)===================== ' icms_orig = "0" ' Tabela A - origem da mercadoria 0=nacional icms_CST = "00" ' Tabela B - CST=00-tributação normal icms_modBC = 3 ' modalidade de determinação da BC = 3-valor da operação icms_pRedBC = 0 ' percentual de redução da BC icms_vBC = 10 ' valor da BC do ICMS = vProd + vFrete + vSeguro + vOutro icms_pICMS = 18 ' alíquota do ICMS icms_vICMS = 1.8 ' valor do ICMS icms_modBCST = 0 ' modalidade de determinação da BC ICMS ST icms_pmVAST = 0 ' percentual de valor de margem e valor adicionado icms_pRedBCST = 0 ' percentual de redução da BC do ICMS ST icms_vBCST = 0 ' BC do ICMS ST icms_pICMSST = 0 ' percentual do ICMSST icms_vICMSST = 0 ' valor do ICMS ST devido ' ' Campos novos da versão 2.00 ' icms_vBCSTRet = 0 ' informação do ICMS retindo anteriormente por ST icms_vICMSSTRet = 0 ' estes campos devem ser informado somente no caso do CST = 60 ou CSOSN = 500 ' icms_motDesICMS = 0 ' motivo de desoneração do ICMS, só deve ser informado no caso de CST = 40 (isenção condicional) ' icms_pBCOp = 0 ' campos para uso nos casos de ICMSPart/ICMSST icms_UFST = "" ' icms_vICMSSTDest = 0 ' icms_vBCICMSSTDest = 0 ' ' icms_pCredSN = 0 ' campos exclusivos para emissor optante do Simples Nacional CSOSN= 101, 201 e 900 icms_vCredICMSSN = 0 ' não esquecer de informar o CRT=1 ' ' Campos novos da versão 3.10 ' icms_vICMSDeson = 0 ' valor do ICMS desonerado icms_vICMSOp = 0 ' valor do ICMS da Operação - grupo 51 diferimento icms_pDif = 0 ' percentual do diferimento - grupo 51 diferimento icms_vICMSDif = 0 ' valor do ICMS diferido - grupo 51 diferimento ' ' Campos novos da versão 4.00 ' icmsvBCFCP = 0 ' valor BC FCP icmspFCP = 0 ' percentual do FCP icmsvFCP = 0 ' valor do FCP icmsvBCFCPST = 0 ' valor BC FCP ST icmspFCPST = 0 ' percentual do FCP ST icmsvFCPST = 0 ' valor do FCP ST icmsvBCFCPSTRet = 0 ' valor BC FCP retido anteriormente por ST icmspFCPSTRet = 0 ' percentual do FCP retido anteriormente por ST icmsvFCPSTRet = 0 ' valor do FCP retido anteriormente por ST icmspST = 0 ' percentual da aliquota suportada pelo consumidor final ' ' gera grupo do ICMS ' ICMS = objNFeUtil.icms400(icms_orig, icms_CST, icms_modBC, _ icms_pRedBC, _ icms_vBC, _ icms_pICMS, _ icms_vICMS, _ icms_modBCST, _ icms_pmVAST, _ icms_pRedBCST, _ icms_vBCST, _ icms_pICMSST, _ icms_vICMSST, _ icms_vBCSTRet, _ icms_vICMSSTRet, _ icms_vBCICMSSTDest, _ icms_vICMSSTDest, _ icms_motDesICMS, _ icms_pBCOp, _ icms_UFST, _ icms_pCredSN, _ icms_vCredICMSSN, _ icms_vDeson, _ icms_vICMSOp, _ icms_pDif, _ icms_vICMSDif, _ icms_vBCFCP, _ icms_pFCP, _ icms_vFCP, _ icms_vBCFCPST, _ icms_pBCFCPST, _ icms_vFCPST, _ icms_vBCFCPSTRet, _ icms_pBCFCPSTRet, _ icms_vFCPSTRet, _ icms_pST ) MsgBox ICMS, vbInformation, "Informação"
- 14.8.2.3. ICMS 4.00 [obsoleto]
14.8.2. Impostos do Produto - « Anterior
14.8.2.2.1. ICMS 4.00-CSOSN [15-08-17] - Próximo »
14.8.2.4. ICMS efet NT201805 [16/03/19]