- 16.7.2.3. ICMS
16.7.2.3.2. ICMS 2G - 16.7.2.3.1. ICMS
« Anterior - 16.7.2.3.3. ICMS - CSOSN
Próximo »
16.7.2.3.2. ICMS 2G
Grupo de ICMS da NF-e 2G
Funcionalidade para gerar o XML do grupo do ICMS da NF-e 2G
Assinatura
string icms2G(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);
Descrição:
Funcionalidade para gerar as informações do ICMS do item de produto da NF-e versão 2.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 | 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 |
- “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 |
- “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 | S | S | S | 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 | ? |
- “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 | inteiro | 1 | sim | informar o código da origem da mercadoria: 0 - Nacional; 1 - Estrangeira - importação direta; 2 - Estrangeira - adquirida no mercado interno. |
| 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. 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 | 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 | 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 | depende | informar o Percentual da Margem de Valor Adicionado ICMS ST |
| pRedBCST | double | 5,2 | 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 | 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 (campo novo) |
| vICMSSTRet | double | 15,2 | depende | informar o Valor do ICMS ST retido (campo novo) |
| vBCSTDest | double | 15,2 | depende | informar o Valor da BC do ICMS ST da UF Destino (campo novo) |
| vICMSSTDest | double | 15,2 | depende | informar o Valor do ICMS ST da UF destino (campo novo) |
| 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; 9 – outros. IMPORTANTE: informe zero quando a operação não tenha isenção condicional.(campo novo) |
| pBCOp | double | 5,2 | depende | informar o Percentual da BC operação própria (campo novo) |
| UFST | string | 2 | depende | informar a UF para qual é devido o ICMS ST (campo novo) |
| pCredSN | double | 15,2 | depende | informar o Alíquota aplicável de cálculo do crédito (Simples Nacional) (campo novo) |
| 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) (campo novo) |
Diagrama:

Retorno:
Um string com o grupo XML de identificação
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> <vICMS>1800.00</vICMS> <motDesICMS>1</motDesICMS> </ICMS40> </ICMS>
- Os campos vICMS 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
<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>12.00</pICMS> <vICMS>9.60</vICMS> </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 = 60 – ICMS cobrado anteriormente por substituição tributária
<ICMS> <ICMS60> <orig>0</orig> <CST>60</CST> <vBCSTRet>135.00</vBCSTRet> <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> <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; 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; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icms2G(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); MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
Exemplo VB
' '=========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 '=========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 ' ' gera grupo do ICMS ' icms = objNFeUtil.icms2G(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)
- 16.7.2.3.2. ICMS 2G
16.7.2.3. ICMS - « Anterior
16.7.2.3.1. ICMS - Próximo »
16.7.2.3.3. ICMS - CSOSN