NF-e

Como Emitir NF-e com ICMS ST e Devolução via API: Eliminando a Rejeição W16-10 da SEFAZ

Aprenda a emitir NF-e de devolução e revenda com ICMS ST via API JSON. Regras de totalização vNF (W16-10), CSOSN 900, CST 10/70/90, MVA e travas da SEFAZ.

Fábio Magalhães CostaAtualizado em 03/10/2026
Emissão de NF-e com ICMS Substituição Tributária e devolução automatizada via API REST JSON

Emissão de NF-e com ICMS Substituição Tributária e devolução automatizada via API REST JSON

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:

  1. 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).
  2. 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) e valorIcmsSt (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 de 0 a 5 (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 enviar modalidadeBcSt: 6 com CSOSN 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:

  1. 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.
  2. Construção do XML <ICMSTot>: Gera o somatório de vBCST (630.00) e vST (32.40).
  3. Composição Exata de vNF: O valor total da nota é automaticamente calculado como 482.40 (450.00 de produtos + 32.40 de ICMS ST), eliminando o risco da Rejeição W16-10.
  4. 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.

Notaas — API Fiscal para Desenvolvedores

Emita NFS-e, NF-e e NFC-e via API sem complexidade tributária

Conheça a API de Nota Fiscal da Notaas: integração via REST API simples, sandbox imediato, webhooks assinados com HMAC e suporte a múltiplos CNPJs. 50 notas fiscais gratuitas todo mês.