CSOSN 500 no ICMSSN500: significado e compatibilidades
<CSOSN>det › imposto › ICMS › ICMSSN500 › CSOSNRevisão editorial em 14 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
CSOSN dentro de ICMSSN500 só aceita o literal 500. O código identifica ICMS cobrado anteriormente por substituição tributária, na condição de substituído, ou por antecipação. A tag identifica a situação tributária; não contém o percentual nem o valor do imposto. Schemas NF-e/NFC-e PL 010f v1.04.
XPath: /nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSSN500/CSOSN. O campo está no item det; para consultar XML com namespace, associe um prefixo a http://www.portalfiscal.inf.br/nfe. Sem nfeProc, o caminho começa em NFe.
A referência estrutural desta explicação é o PL 010f v1.04. A ficha do catálogo pode oferecer versões anteriores; confira a versão efetivamente usada no documento. As regras e suas condições de implantação não devem ser aplicadas retroativamente a todo XML histórico.
Por que o grupo tem um único código · CRT 1, CRT 4 e compatibilidade na NFC-e · O código não completa os dados de retenção · Como conferir antes de corrigir uma rejeição · XML sintético para conferir CSOSN · Documentação para confirmar CSOSN
Por que o grupo tem um único código
A enumeração local de ICMSSN500 é apenas 500. Os códigos 202 e 203 pertencem a ICMSSN202, que representa cobrança de ST naquela estrutura; 500 representa cobrança anterior. Trocar apenas o texto da tag mantendo o grupo e seus filhos não converte uma situação na outra. A origem da mercadoria fica em orig, separada do CSOSN, sem formar 0500 dentro desta tag. Schemas NF-e/NFC-e PL 010f v1.04; NT 2018.005 v1.52, N12a/N10g, p. 18.
CRT 1, CRT 4 e compatibilidade na NFC-e
O teste geral N12a-10 associa 591 ao uso de CSOSN por CRT diferente de 1 ou 4. Isso não libera 500 para todo emitente com CRT 4: N12a-80/81 restringem os códigos para MEI quando idDest é diferente de 3, e não incluem 500, com vigência indicada de 01/07/2024 em homologação e 01/04/2025 em produção. Para NFC-e com 500, N12a-44 descreve 386 quando o CFOP estiver fora de 5405, 5656, 5667 e 5910. A lista é critério de compatibilidade, não escolha de CFOP. NT 2024.001 v1.20, pp. 12–13.
O código não completa os dados de retenção
CSOSN 500 pode ativar verificações diferentes conforme indFinal: N12a-50/938 exige os dados anteriores em NF-e 55 com indFinal=0; o modelo 65 está riscado nessa linha da NT atual. N12a-60/906 trata do quarteto efetivo, com indFinal=1, nos modelos 55/65. A adoção de ambas depende da UF. Passar na enumeração do código não garante esses dados completos. NT 2018.005 v1.52, p. 22.
Como conferir antes de corrigir uma rejeição
Compare o enquadramento confirmado do item, emit/CRT, modelo, CFOP, idDest e indFinal com o XML enviado e o código da regra retornada. Se a falha for de enumeração, corrija o mapeamento grupo/código. Se a incompatibilidade envolver o enquadramento ou a operação real, confirme os parâmetros com a documentação fiscal antes de mudar campos. Uma aquisição com ST não define sozinha o tratamento de toda saída posterior.
XML sintético para conferir CSOSN
O grupo mínimo sintético contém apenas orig=0 e CSOSN=500. A hipótese mostra a posição e o literal; a ausência das sequências opcionais demonstra somente uma possibilidade estrutural, sem dispensar exigências fiscais contextuais.
Fragmento parcial em relação à nota, com sequência verificada no Schemas NF-e/NFC-e PL 010f v1.04. Validade estrutural não comprova incidência nem autorização.
<ICMSSN500 xmlns="http://www.portalfiscal.inf.br/nfe">
<orig>0</orig>
<CSOSN>500</CSOSN>
</ICMSSN500>
Documentação para confirmar CSOSN
Para usar CSOSN na operação real, confirme os parâmetros citados nesta página com o responsável contábil, levando o documento do item, UF, data e fundamento aplicável. O exemplo esclarece a representação, sem definir incidência, enquadramento ou apuração.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/infNFe/det/imposto/ICMS/ICMSSN500/CSOSN- Namespace
http://www.portalfiscal.inf.br/nfe- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- inline:xs:string · string
- Preenchimento no catálogo
- Condicional
A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.
- enumeration
500- whiteSpace
preserve