- 14.7.2.2. ICMS 4.00 NT2023/004 [09-03-24]
14.7.2.2.1. ICMS 4.00-NT2023/004 CSOSN [09-03-24] - 14.7.2.2. ICMS 4.00 NT2023/004 [09-03-24]
« Anterior - 14.7.2.3. ICMS 4.00 NT2020/005 [11-07-21]
Próximo »
14.7.2.2.1. ICMS 4.00-NT2023/004 CSOSN [09-03-24]
A partir da versão 2.00 do leiaute da NF-e, o contribuinte emissor do SIMPLES NACIONAL deve informar um dos seguintes Código de Situação da Operação - SIMPLES NACIONAL (CSOSN) em substituição ao CST:
- 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.
Base legal da informação do CRT e do CSOSN
A necessidade de informar o CSOSN na NF-e está prevista o § 5º da cláusula terceira do AJUSTE SINIEF 07/05, in verbis:
"Cláusula terceira A NF-e deverá ser emitida com base em leiaute estabelecido no "Manual de Integração - Contribuinte", por meio de software desenvolvido ou adquirido pelo contribuinte ou disponibilizado pela administração tributária, observadas as seguintes formalidades:
§ 5º A partir da utilização do leiaute definido na versão 4.01 do Manual de Integração - Contribuinte deverão ser indicados na NF-e o Código de Regime Tributário - CRT e, quando for o caso, o Código de Situação da Operação no Simples Nacional - CSOSN, conforme definidos no Anexo."
ANEXO ÚNICO - CÓDIGOS DE DETALHAMENTO DO REGIME E DA SITUAÇÃO
TABELA A - Código de Regime Tributário - CRT
1 - Simples Nacional
2 - Simples Nacional - excesso de sublimite da receita bruta
3 - Regime NormalNOTAS EXPLICATIVAS:
O código 1 será preenchido pelo contribuinte quando for optante pelo Simples Nacional.
O código 2 será preenchido pelo contribuinte optante pelo Simples Nacional mas que tiver ultrapassado o sublimite de receita bruta fixado pelo estado/DF e estiver impedido de recolher o ICMS/ISS por esse regime, conforme arts. 19 e 20 da LC 123/06.
O código 3 será preenchido pelo contribuinte que não estiver na situação 1 ou 2.TABELA B - Código de Situação da Operação no Simples Nacional - CSOSN
101 - Tributada pelo Simples Nacional com permissão de crédito - Classificam-se neste código as operações que permitem a indicação da alíquota do ICMS devido no Simples Nacional e o valor do crédito correspondente.
102 - Tributada pelo Simples Nacional sem permissão de crédito - Classificam-se neste código as operações que não permitem a indicação da alíquota do ICMS devido pelo Simples Nacional e do valor do crédito, e não estejam abrangidas nas hipóteses dos códigos 103, 203, 300, 400, 500 e 900.
103 - Isenção do ICMS no Simples Nacional para faixa de receita bruta - Classificam-se neste código as operações praticadas por optantes pelo Simples Nacional contemplados com isenção concedida para faixa de receita bruta nos termos da Lei Complementar nº 123, de 2006.
201 - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária - Classificam-se neste código as operações que permitem a indicação da alíquota do ICMS devido pelo Simples Nacional e do valor do 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 - Classificam-se neste código as operações que não permitem a indicação da alíquota do ICMS devido pelo Simples Nacional e do valor do crédito, e não estejam abrangidas nas hipóteses dos códigos 103, 203, 300, 400, 500 e 900, 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 - Classificam-se neste código as operações praticadas por optantes pelo Simples Nacional contemplados com isenção para faixa de receita bruta nos termos da Lei Complementar nº 123, de 2006, e com cobrança do ICMS por substituição tributária.
300 - Imune - Classificam-se neste código as operações praticadas por optantes pelo Simples Nacional contempladas com imunidade do ICMS.
400 - Não tributada pelo Simples Nacional - Classificam-se neste código as operações praticadas por optantes pelo Simples Nacional não sujeitas à tributação pelo ICMS dentro do Simples Nacional.
500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação - Classificam-se neste código as operações sujeitas exclusivamente ao regime de substituição tributária na condição de substituído tributário ou no caso de antecipações.
900 - Outros - Classificam-se neste código as demais operações que não se enquadrem nos códigos 101, 102, 103, 201, 202, 203, 300, 400 e 500.
NOTA EXPLICATIVA:
O Código de Situação da Operação no Simples Nacional - CSOSN será usado na Nota Fiscal Eletrônica exclusivamente quando o Código de Regime Tributário - CRT for igual a “1”, e substituirá os códigos da Tabela B - Tributação pelo ICMS do Anexo Código de Situação Tributária - CST do Convênio s/nº de 15 de dezembro de 1970.
Tabela de Correlação CST x CSOSN
Regime de Tributação | Simples Nacional excesso do sublimite da receita bruta (CRT=2) Regime normal (CRT=3) |
Simples Nacional ME (CRT=1) |
Simples Nacional EPP ICMS sob faturamento(CRT=1) |
Simples Nacional EPP valor ICMS Fixo (CRT=1) |
---|---|---|---|---|
Tributação Normal | 00 - Tributada integralmente; 20 - Com redução de base de cálculo; 90 - Outros; |
103 - Isenção do ICMS no Simples Nacional para faixa de receita bruta | 101 - Tributada pelo Simples Nacional com permissão de crédito | 102 - Tributada pelo Simples Nacional sem permissão de crédito |
Emissor responsável pela retenção do ICMS por ST | 10 - Tributada e com cobrança do ICMS por substituição tributária; 30 - Isenta ou não tributada e com cobrança do ICMS 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; |
203 - Isenção do ICMS no Simples Nacional para faixa de receita bruta e com cobrança do ICMS por substituição tributária | 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 |
Emissor substituído (ICMS cobrado anteriormente) | 60 - ICMS cobrado anteriormente por substituição tributária; | 500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação; | 500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação; | 500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação |
Importação | 00 - Tributada integralmente; 20 - Com redução de base de cálculo; 90 - Outros; |
900 - Outros | 900 - Outros | 900 - Outros |
Exportação | 41 - Não tributada | 300 - Imune | 300 - Imune | 300 - Imune |
Operações Isentas: Remessa para Conserto Demonstração etc. |
40 - Isenta; 50 - Suspensão |
400 - Não tributada pelo Simples Nacional | 400 - Não tributada pelo Simples Nacional | 400 - Não tributada pelo Simples Nacional |
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.
CSOSN 101 - Tributada pelo Simples Nacional com permissão de crédito
O CSOSN 101 deve ser utilizado na situação em que o emissor optante pelo SIMPLES NACIONAL (CRT=1) promove a circulação de mercadoria com tributação normal e existe permissão de crédito do valor que o emissor paga via DAS para o destinatário da mercadoria.
Parâmetros que devem ser informador na funcionalidade ICMS400:
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 101. |
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) |
Atenção
- O pCredSN é definido na legislação do Simples Nacional e depende do faturamento dos meses anteriores;
- O vCredICMSSN é valor que o destinatário pode tomar como crédito;
- Os demais parâmetros devem ser informados com zero.
- Só acumular o vProd que tenham indTot=1 no vProd do grupo ICMSTot;
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>
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.
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; // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif : Currency; ICMS_vFCPDif : Currency; ICMS_vFCPEfet : Currency; ICMS_vICMSSTDeson : Currency; ICMS_motDesICMSST : integer; // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson : integer; ICMS_cBenefRBC : widestring; 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 // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif := 0; // percentual do diferimento do ICMS relativo ao FCP ICMS_vFCPDif := 0; // valor do diferimento do ICMS relativo ao FCP ICMS_vFCPEfet := 0; // valor do ICMS relativo ao FCP realmente devido ICMS_vICMSSTDeson := 0; // Valor do ICMS- ST desonerado ICMS_motDesICMSST := 0; // Motivo da desoneração do ICMS- ST // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson :=0; ICMS_cBenefRBC : =''; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icmsNT2023004(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, ICMS_pFCPDif, ICMS_vFCPDif, ICMS_vFCPEfet, ICMS_vICMSSTDeson, ICMS_motDesICMSST, ICMS_indDeduzDeson, ICMS_cBenefRBC; MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
CSOSN 201 - Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por substituição tributária
O CSOSN 201 deve ser utilizado na situação em que o emissor optante pelo SIMPLES NACIONAL (CRT=1), quando for responsável pela retenção do ICMS incidente nas operações subsequentes por Substituição Tributária e exista permissão de crédito do valor que o emissor paga via DAS para o destinatário da mercadoria.
Parâmetros que devem ser informador na funcionalidade ICMS400:
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 201. |
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 |
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) |
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) |
Atenção
- Os valores informados em vBCST e vICMSST devem ser acumulados nos campos vBCST e vST do grupo ICMSTot.
- O pCredSN é definido na legislação do Simples Nacional e depende do faturamento dos meses anteriores;
- O vCredICMSSN é valor que o destinatário pode tomar como crédito;
- Os demais parâmetros devem ser informados com zero.
- Só acumular o vProd que tenham indTot=1 no vProd do grupo ICMSTot;
Consulte o responsável pela área tributária da empresa para identificar a fórmula de cálculo do ICMS ST.
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>
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.
Exemplo Delphi
procedure TForm1.ICMSCSOSN201(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; // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif : Currency; ICMS_vFCPDif : Currency; ICMS_vFCPEfet : Currency; ICMS_vICMSSTDeson : Currency; ICMS_motDesICMSST : integer; // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson : integer; ICMS_cBenefRBC : widestring; begin ICMS_orig := '0'; // informar a origem do produto ICMS_CST := '201'; // 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 :=4; ICMS_pMVAST :=100; ICMS_pRedBCST :=10; ICMS_vBCST :=162; ICMS_pICMSST :=18; ICMS_vICMSST :=12.96; // // 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 // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif := 0; // percentual do diferimento do ICMS relativo ao FCP ICMS_vFCPDif := 0; // valor do diferimento do ICMS relativo ao FCP ICMS_vFCPEfet := 0; // valor do ICMS relativo ao FCP realmente devido ICMS_vICMSSTDeson := 0; // Valor do ICMS- ST desonerado ICMS_motDesICMSST := 0; // Motivo da desoneração do ICMS- ST // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson :=0; ICMS_cBenefRBC : =''; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icmsNT2023004(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, ICMS_pFCPDif, ICMS_vFCPDif, ICMS_vFCPEfet, ICMS_vICMSSTDeson, ICMS_motDesICMSST, ICMS_indDeduzDeson, ICMS_cBenefRBC; MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
CSOSN 300 - Imune
O CSOSN 300 deve ser utilizado quando o emissor optante pelo SIMPLES NACIONAL (CRT=1), promove operação que tenha imunidade como é o caso da exportação, venda de livros, etc.
Parâmetros que devem ser informador na funcionalidade ICMS400:
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 300. |
Atenção
- Os demais parâmetros devem ser informados com zero.
- Só acumular o vProd que tenham indTot=1 no vProd do grupo ICMSTot;
Exemplo de XML para CRT=1 e CSOSN = 300
<ICMS> <ICMSSN102> <orig>0</orig> <CSOSN>300</CSOSN> </ICMSSN102> </ICMS>
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.
Exemplo Delphi
procedure TForm1.ICMSCSOSN300(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; // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif : Currency; ICMS_vFCPDif : Currency; ICMS_vFCPEfet : Currency; ICMS_vICMSSTDeson : Currency; ICMS_motDesICMSST : integer; // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson : integer; ICMS_cBenefRBC : widestring; begin ICMS_orig := '0'; // informar a origem do produto ICMS_CST := '300'; // 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 :=0; ICMS_vCredICMSSN :=0; // // 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 // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif := 0; // percentual do diferimento do ICMS relativo ao FCP ICMS_vFCPDif := 0; // valor do diferimento do ICMS relativo ao FCP ICMS_vFCPEfet := 0; // valor do ICMS relativo ao FCP realmente devido ICMS_vICMSSTDeson := 0; // Valor do ICMS- ST desonerado ICMS_motDesICMSST := 0; // Motivo da desoneração do ICMS- ST // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson :=0; ICMS_cBenefRBC : =''; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icmsNT2023004(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, ICMS_pFCPDif, ICMS_vFCPDif, ICMS_vFCPEfet, ICMS_vICMSSTDeson, ICMS_motDesICMSST, ICMS_indDeduzDeson, ICMS_cBenefRBC; MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
CSOSN 500 - ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação
O CSOSN 500 deve ser utilizado quando o emissor optante pelo SIMPLES NACIONAL (CRT=1), promove dá a saída de mercadorias que já tiveram o ICMS retido anteriormente por Substituição Tributária.
É a situação tributário em que o emissor optante pelo SIMPLES NACIONAL (CRT=1) comercializa a mercadoria que já teve retenção antecipada do ICMS devido por Substituição Tributária.
Este CSOSN equivale ao CST=60 do Regime Normal.
Parâmetros que devem ser informador na funcionalidade ICMS400:
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 500. |
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 |
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) |
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) |
Atenção
- O vBCSTRet e vICMSRet nem sempre precisam ser informados, verificar a necessidade de informar os valores com o contador.
- Os demais parâmetros devem ser informados com zero.
- Só acumular o vProd que tenham indTot=1 no vProd do grupo ICMSTot;
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>
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.
Exemplo Delphi
procedure TForm1.ICMSCSOSN500(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; // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif : Currency; ICMS_vFCPDif : Currency; ICMS_vFCPEfet : Currency; ICMS_vICMSSTDeson : Currency; ICMS_motDesICMSST : integer; // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson : integer; ICMS_cBenefRBC : widestring; begin ICMS_orig := '0'; // informar a origem do produto ICMS_CST := '500'; // 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 :=162; ICMS_pST := 18; // percentual da aliquota suportada pelo consumidor final (campo novo) ICMS_vICMSSRet :=12.96; // // 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 :=0; ICMS_vCredICMSSN :=0; // // 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_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 // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif := 0; // percentual do diferimento do ICMS relativo ao FCP ICMS_vFCPDif := 0; // valor do diferimento do ICMS relativo ao FCP ICMS_vFCPEfet := 0; // valor do ICMS relativo ao FCP realmente devido ICMS_vICMSSTDeson := 0; // Valor do ICMS- ST desonerado ICMS_motDesICMSST := 0; // Motivo da desoneração do ICMS- ST // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson :=0; ICMS_cBenefRBC : =''; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icmsNT2023004(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, ICMS_pFCPDif, ICMS_vFCPDif, ICMS_vFCPEfet, ICMS_vICMSSTDeson, ICMS_motDesICMSST, ICMS_indDeduzDeson, ICMS_cBenefRBC; MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
CSOSN 900 - Outros
O CSOSN 900 deve ser utilizado quando o emissor optante pelo SIMPLES NACIONAL (CRT=1), pratica uma operação que não se enquadra nos demais CSOSN como é o caso da importação.
Parâmetros que devem ser informador na funcionalidade ICMS400:
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 500. |
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 |
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) |
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) |
Atenção
- Os prenchimento dos parâmetros depende da situação fática, no caso de importação devemos preencher os valores relacionados com o operação própria do ICMS e os demais campos devem ser informados com zero.
- Só acumular o vProd que tenham indTot=1 no vProd do grupo ICMSTot;
- Os campos vBC, vICMS, vBCICMSST e vICMSST devem ser acumulados no campos vBC, vICMS, vBCST e vST do grupo ICMSTot.
Exemplo de XML para CRT=1 e CSOSN = 900 - Importação
<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> </ICMSSN900></ICMS>
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.
Exemplo Delphi
procedure TForm1.ICMSCSOSN900(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_pST : Currency; // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif : Currency; ICMS_vFCPDif : Currency; ICMS_vFCPEfet : Currency; ICMS_vICMSSTDeson : Currency; ICMS_motDesICMSST : integer; // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson : integer; ICMS_cBenefRBC : widestring; begin ICMS_orig := '0'; // informar a origem do produto ICMS_CST := '900'; // 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 := 3; ICMS_pRedBC :=10; ICMS_vBC :=90; ICMS_pICMS :=7; ICMS_vICMS :=6.3; // // 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 :=0; ICMS_vCredICMSSN :=0; // // 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 // // Campos novos da versão 4.00 - NT 2020/005 // ICMS_pFCPDif := 0; // percentual do diferimento do ICMS relativo ao FCP ICMS_vFCPDif := 0; // valor do diferimento do ICMS relativo ao FCP ICMS_vFCPEfet := 0; // valor do ICMS relativo ao FCP realmente devido ICMS_vICMSSTDeson := 0; // Valor do ICMS- ST desonerado ICMS_motDesICMSST := 0; // Motivo da desoneração do ICMS- ST // // Campos novos da NT 2019/001v1.61 e NT 2023/004 // ICMS_indDeduzDeson :=0; ICMS_cBenefRBC : =''; Util := CreateOleObject('NFe_util_2G.util'); ICMS:=Util.icmsNT2023004(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, ICMS_pFCPDif, ICMS_vFCPDif, ICMS_vFCPEfet, ICMS_vICMSSTDeson, ICMS_motDesICMSST, ICMS_indDeduzDeson, ICMS_cBenefRBC; MessageDlg('O fragmento XML gerado é: '+#13+#13+ICMS, mtInformation, [mbOk], 0); end;
- 14.7.2.2.1. ICMS 4.00-NT2023/004 CSOSN [09-03-24]
14.7.2.2. ICMS 4.00 NT2023/004 [09-03-24] - « Anterior
14.7.2.2. ICMS 4.00 NT2023/004 [09-03-24] - Próximo »
14.7.2.3. ICMS 4.00 NT2020/005 [11-07-21]