1/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
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çãoCST
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 ?
modBCModalidade de determinação da BC
do ICMSS 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 ?
modBCSTModalidade de determinação da BC
do ICMS STN S N S N N N N N S ?
pMVASTPercentual da margem de valor
Adicionado do ICMS STN S N S N N N N N S ?
pRedBCSTPercentual da Redução de BC do
ICMS STN ? 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 ?
vBCSTRetValor da BC do ICMS Retido
AnteriormenteN 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 ?
Guia de Uso da NFe_Util 2Gv1.0
Guia de Uso » Gerar XML da NF-e » Item da NF-e » Impostos do Produto » ICMS » ICMS 2G
2/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
motDesICMS Motivo da desoneração do ICMS N N N N N N N N N N ?
vBCSTDestValor da BC do ICMS ST da UF
destinoN 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
pCredSNAlí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çãoCST
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
vCredICMSSNValor 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çãoCSOSN
101
CSOSN
102
CSOSN
103
CSOSN
201
CSOSN
202
CSOSN
203
CSOSN
400
CSOSN
500
CSOSN
900
origOrigem da
mercadoriaS S S S S S S S ?
CSTTributação do
ICMSS S S S S S S S ?
modBC
Modalidade de
determinação daN N N N N N N N ?
3/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
BC do ICMS
pRedBCPercentual da
Redução de BCN N N N N N N N ?
vBCValor da BC do
ICMSN N N N N N N N ?
pICMSAlíquota do
impostoN 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 ?
vBCSTValor da BC do
ICMS STN 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 ?
UFSTUF para qual é
devido o ICMS STN N N N N N N N ?
pBCopPercentual da BC
operação própriaN 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 ?
vICMSSTDestValor do ICMS ST
da UF destinoN 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 ?
4/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
“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:
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).
5/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
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 dependeinformar o Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da
LC 123 (SIMPLES NACIONAL) (campo novo)
Diagrama:
6/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
7/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
8/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
9/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
10/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
11/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
12/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
13/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
14/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
15/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
16/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
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.
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>
17/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
<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>
18/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
<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>
19/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
<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>
20/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
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>
21/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
<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>
22/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
<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;
23/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
//
// 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
24/24www.flexdocs.com.br/guiaNFe/gerarNFe.detalhe.imp.ICMS.ICMS2G.html
'
' 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)
Copyright © FlexDocs Documentos Eletrônicos - 2008-2012 - Todos os direitos reservadosGenerated by TypeFriendly 0.1.3 by Invenzzia