- 16.7.2.3. ICMS
16.7.2.3.1. ICMS - 16.7.2.3. ICMS
« Anterior - 16.7.2.3.2. ICMS 2G
Próximo »
16.7.2.3.1. ICMS
Grupo de ICMS da NF-e
Funcionalidade para gerar o XML do grupo do ICMS da NF-e
Assinatura
string icms(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);
Descrição:
Funcionaliade para gerar as informações do ICMS do item de produto da NF-e da versão 1.10 do leiaute da NF-e. A versão 1.10 do leiaute da NF-e vale somente até 31/03/2011, prorrogado pelo Ato COTEPE 36/2010.
Emissor optante pelo Simples Nacional
O contribuinte optantes pelo Simples Nacional devem informar o grupo ICMS conforme previsto na NT 2009/004
Vale observar que a partir da versão 2.00 do leiaute da NF-e existem campos específicos para preenchimento do Simples Nacional conforme dispõe o Ajuste SINIEF Nº 3/2010.
O preenchimento dos campos do grupo de ICMS são variáveis e dependem do Código da Situação Tributária - CST 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 | S | 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 | S | S | ? |
- “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 | 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; v40 - 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. |
| 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 |
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 = 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> <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> <vBCST>135.00</vBCST> <vICMSST>24.30</vICMSST> </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.
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.
- 16.7.2.3.1. ICMS
16.7.2.3. ICMS - « Anterior
16.7.2.3. ICMS - Próximo »
16.7.2.3.2. ICMS 2G