Entre os cenários mais complexos na integração de faturamento de ERPs, plataformas de e-commerce e distribuidores no Brasil, a emissão de NF-e com Substituição Tributária (ICMS ST) e as operações de Devolução de Mercadorias figuram no topo das dores de cabeça dos desenvolvedores.
A grande maioria das APIs fiscais tradicionais ou exige que o desenvolvedor calcule na mão mais de vinte variáveis tributárias encadeadas — gerando a temida Rejeição 531 ou W16-10 da SEFAZ: Total da NF-e difere do somatório dos itens — ou força o usuário a fazer "gambiarras fiscais", como embutir o imposto retido no campo de Outras Despesas Acessórias (vOutro).
Neste artigo técnico, vamos destrinchar como o Manual de Orientação do Contribuinte (MOC 7.0) da SEFAZ exige a composição do grupo ST, as diferenças entre CSOSN 900 e CSTs 10, 70 e 90, como evitar rejeições no cupom fiscal (NFC-e) e como emitir notas de devolução completas via JSON puro na Notaas sem erros de cálculo.
🛑 O Que Causa a Rejeição W16-10 na SEFAZ?
A Regra de Validação W16-10 do MOC 7.0 confere a exatidão matemática do totalizador da nota fiscal (<vNF>) em relação a todos os tributos, descontos e adicionais dos itens (<det>).
A fórmula oficial auditada pela SEFAZ é:
📐 Equação de Totalização do vNF (Regra W16-10):
vNF = vProd - vDesc - vICMSDeson + vST + vFrete + vSeg + vOutro + vII + vIPI + vIPIDevol
- vProd: Total dos produtos.
- vST: Valor total do ICMS Substituição Tributária retido na operação.
- vFrete, vSeg, vOutro: Frete, seguro e despesas acessórias.
- vDesc: Descontos incondicionais concedidos.
Quando um item possui incidência de ICMS ST mas a API não transporta adequadamente o grupo <ICMS> com as tags <vBCST> e <vICMSST> para o nó <total><ICMSTot>, acontece uma das duas falhas:
- O desenvolvedor soma o ST no valor total da nota, mas a SEFAZ soma apenas os itens conhecidos e acusa Rejeição W16-10 (pois o XML totalizou menos que o campo
vNF). - O desenvolvedor é instruído a jogar o valor do ST em
vOutro(Outras Despesas), o que gera um passivo tributário grave: o cliente paga imposto duplicado e tem inconsistências no SPED Fiscal e na conciliação contábil.
Na Notaas, a engine de compilação XML calcula e totaliza automaticamente os nós vBCST e vST em <ICMSTot>, garantindo que o valor final (vNF) seja composto de forma matematicamente idêntica às regras dos validadores das 27 SEFAZs estaduais.
🔍 Mapeamento de ICMS ST no Item: CSOSN 900 vs CST 10/70/90
O tratamento de ICMS ST varia conforme o regime tributário da empresa emitente (CRT 1 para Simples Nacional ou CRT 3 para Regime Normal):
1. Simples Nacional (CSOSN 900)
Utilizado em operações especiais por optantes do Simples Nacional, incluindo a Devolução de Mercadorias sujeitas à ST recebidas de fornecedores de regime normal:
- Permite informar
baseCalculoIcmsSt(vBCST),aliquotaIcmsSt(pICMSST) evalorIcmsSt(vICMSST). - Suporta Margem de Valor Agregado (
percentualMvaSt/pMVAST) e percentual de redução (percentualReducaoBcSt/pRedBCST). - Regra de Validação: A modalidade de determinação da base (
modBCST) aceita os valores de0a5(Preço Tabelado, Lista Positiva/Negativa/Neutra, MVA ou Pauta).
2. Regime Normal (CST 10, 70 e 90)
- CST 10 (Tributada com cobrança de ICMS ST): Exigida em revendas interestaduais e operações industriais. Aceita a modalidade especial
modBCST = 6(Valor da Operação) estabelecida pela Nota Técnica NT 2019.001. - CST 70 (Com redução de base e ST): Aplica redução de base no cálculo próprio e posterior apuração do ST com base na MVA.
- CST 90 (Outras): Casos mistos em que ocorrem hipóteses específicas de diferimento ou regras particulares estaduais.
⚡ A Regra NT 2019.001 do modBCST: O código de modalidade
6(Valor da Operação) é estritamente restrito ao CST 10. Se a sua aplicação enviarmodalidadeBcSt: 6comCSOSN 900, a SEFAZ rejeitará a nota de imediato. A Notaas valida essas restrições contextuais antes mesmo de enviar o lote à SEFAZ, economizando tempo de retry e chamadas com erro.
🚫 Travas Preventivas de NFC-e: Rejeições SEFAZ 381 e 385
No varejo presencial e frente de caixa (Modelo 65), a SEFAZ aplica regras de validação estritas que proíbem certas combinações tributárias:
- Rejeição 381 (Regra N18-10): NFC-e com ICMS-ST para o CST=90 não é permitida.
- Rejeição 385 (Regra N30-10): NFC-e com ICMS-ST para o CSOSN=900 não é permitida.
Em totens de autoatendimento e checkouts de supermercado ou farmácia, erros fiscais desse tipo paralisam a fila do PDV. A API da Notaas possui guards internos que interceptam essas configurações inconsistentes antes do enfileiramento, alertando a aplicação consumidora com mensagens claras e estruturadas em JSON.
💻 Exemplo Prático: Emitindo NF-e de Devolução com ICMS ST via API JSON
Abaixo está o payload JSON completo para emitir uma NF-e de devolução (finalidade: "devolucao") com destaque de ICMS ST e amarração com a chave de acesso da nota original:
curl -X POST https://api.notaas.com.br/api/v1/invoices/nfe \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"naturezaOperacao": "DEVOLUCAO DE MERCADORIA COM ST",
"tipo": "saida",
"finalidade": "devolucao",
"documentosReferenciados": [
{
"chaveAcesso": "35260912345678000195550010000001001234567890"
}
],
"destinatario": {
"cpfCnpj": "12345678000195",
"razaoSocial": "DISTRIBUIDORA DE BEBIDAS EXEMPLO LTDA",
"indicadorIe": "contribuinte",
"inscricaoEstadual": "123456789110",
"endereco": {
"logradouro": "Avenida das Nacoes",
"numero": "1500",
"bairro": "Distrito Industrial",
"codigoMunicipio": "3550308",
"municipio": "Sao Paulo",
"uf": "SP",
"cep": "01001000"
}
},
"itens": [
{
"numero": 1,
"codigo": "PROD-BEB-01",
"descricao": "REFRIGERANTE LATA 350ML PACK C/ 12",
"ncm": "22021000",
"cfop": "5411",
"unidadeComercial": "CX",
"quantidadeComercial": 10,
"valorUnitarioComercial": 45.00,
"valorTotalBruto": 450.00,
"origem": 0,
"csosn": "900",
"icmsSt": {
"modalidadeBcSt": 4,
"percentualMvaSt": 40.00,
"baseCalculoIcmsSt": 630.00,
"aliquotaIcmsSt": 18.00,
"valorIcmsSt": 32.40
}
}
],
"informacoesAdicionais": "Devolucao referente a NF-e 100 serie 1. ICMS ST destacado conf. legislacao vigente."
}'
⚡ O que a Notaas executa nos bastidores:
- Dedução e Validação Mútua: Se você informar alíquota e base, a Notaas valida o valor total do ST. Se faltar a base e houver valor e alíquota, ela deduz os parâmetros complementares conforme o MOC 7.0.
- Construção do XML
<ICMSTot>: Gera o somatório devBCST(630.00) evST(32.40). - Composição Exata de
vNF: O valor total da nota é automaticamente calculado como482.40(450.00 de produtos + 32.40 de ICMS ST), eliminando o risco da Rejeição W16-10. - DANFE em PDF Oficial: Os quadros BASE DE CÁLCULO DO ICMS S.T. e VALOR DO ICMS SUBSTITUIÇÃO são renderizados perfeitamente no cabeçalho do documento fiscal, atendendo todas as exigências de conferência de transportadoras e fiscais de barreira.
📊 Vantagens da Notaas para Software Houses e ERPs
Integrar a emissão de NF-e e devoluções na Notaas traz diferenciais claros de arquitetura:
- 50 Notas Gratuitas por Mês por CNPJ em Produção Real: Ideal para homologar com dados fiscais reais e emitir sem custos iniciais.
- Processamento Síncrono e Resiliente: Resposta rápida em menos de 2 segundos com o XML autorizado e o PDF da DANFE prontos para download.
- Multi-Tenant Nativo com a Org API: Cadastre centenas de empresas clientes em projetos isolados, cada uma com seu certificado A1 e configurações tributárias independentes.
- Pronto para a Reforma Tributária: Schemas preparados para a transição do IBS e CBS, garantindo que suas notas não quebrem com as novas regras da RTC.
🚀 Comece a Emitir Hoje Mesmo
Elimine as rejeições matemáticas de cálculo tributário e tenha sua emissão de devolução e ICMS ST rodando em produção em poucos minutos:
👉 Crie sua conta gratuita na Notaas e ganhe 50 notas por mês para cada CNPJ cadastrado.
📚 Consulte a documentação completa dos schemas de NF-e em docs.notaas.com.br.

