Automatizando ND/NC no SAP: um desenho que funciona

Capítulo 7 de 9 · 12 min de leitura · atualizado em 08/10/2026

⚡ Resumo rápido

  • 🤖ND a partir da ordem; NC a partir da devolução
  • 🧩Nota criada sempre pela BAPI
  • 🚪Validações no CHK_ALL (VALID e SUBST)
  • ⚙️Regras em tabela, sem hard-code
ℹ️ De onde vem este desenho
  • Este é um padrão de solução usado em projetos reais de Reforma no SAP.
  • Os nomes de objetos Z abaixo são ilustrativos — adapte à convenção da sua empresa.

As transações do desenho

Transação Z (exemplo)O que fazExemplo de uso
ZRT_CLASSTRIBCadastra as classificações tributárias (cClassTrib) com alíquota e redução. Extensão da transação padrão J_1BTAX_SITN.Registrar o cClass de um produto com o CST e a alíquota reduzida
ZRT_RELATORIORelatório (ALV) das NFs com cClassTrib e valores de IBS/CBS por item.Conferir no fim do mês o IBS/CBS das notas
ZRT_ND_ANTECIPCria a ND de pagamento antecipado (tipo 06) a partir de uma ordem de venda não faturada.Cliente pagou adiantado → ND num clique
ZRT_NC_DEVOLCria a NC de devolução (tipo 03) a partir de uma NF de devolução registrada.Cliente devolveu → NC espelhando a devolução
ZRT_EVENTOSCockpit de eventos: cria, envia, cancela e monitora eventos.Registrar o evento 211124 de carga roubada

Perda em estoque (ND 07) costuma ser tratada por evento (112130/211124) + ND manual, sem transação dedicada.

Transações padrão envolvidas

TransaçãoPara que serve aqui
J1B1N / J1B2N / J1B3NCriar / alterar / exibir NF manual (NF Writer) — onde se digita a ND/NC à mão
VK11Regras de condição de SD: alíquotas de IBS/CBS e determinação do cClass
FV11O mesmo para compras (MM): alíquotas dedutíveis/não dedutíveis
SNOTEAplicar as SAP Notes (3561376, 3664725…)
J1BNFEMonitor da NF-e: autorizado ou rejeitado pela SEFAZ

Building blocks técnicos

Os "porteiros": includes de validação e substituição

Include (exemplo)TipoO que fazExemplo
Z_NF_SUBST_VALIDmaestroChama os outros na ordem certaRoda primeiro e decide quais checagens aplicar
Z_NF_VALIDvalidaRegras para qualquer notaConfere se o cClassTrib existe
Z_NFWRITER_VALIDvalidaRegras só para NF manualObriga campos que numa nota automática viriam prontos
Z_NFWRITER_DC_VALIDvalidaRegras só para ND/NC manualND 04 sem item da NF original → erro
Z_NF_SUBSTpreenchePreenche em qualquer notaDeriva e grava o cClass
Z_NFWRITER_SUBSTpreenchePreenchimento para NF manualCompleta dados padrão
Z_NFWRITER_DC_SUBSTpreenchePreenchimento para ND/NC manualHerda o cClass da NF original
Resumo
  • Os VALID dizem "faltou X" e não deixam salvar.
  • Os SUBST fazem o trabalho chato (herdar cClass etc.).
  • Tudo é ligado/desligado pela tabela de parametrização — sem mexer em código.

Validações pegando erro (antes da SEFAZ)

O usuário faz…Quem pegaMensagem
Cria ND 04 (multa) sem apontar o item da NF originalDC_VALID (item)"Referência (ITMREF) é obrigatória"
Escolhe uma ordem que já foi faturadaValidação da ORDEM"Ordem já faturada"
Referencia NF de outro clienteDC_VALID"Parceiro não confere"
Referencia item com material diferenteDC_VALID (ITMREF)"Material não confere"
cClass em branco com documento referenciadoDC_VALID + DC_SUBSTTenta herdar de J_1BNFLIN/VBAP; senão "cClass ausente"

Caso 1 — Cliente paga adiantado (ND 06)

#Processo (o que a pessoa faz)Técnico (o que o SAP faz)
1Vendedor cria a ordem (VA01) e não faturaGrava a ordem; determina o cClass; calcula IBS/CBS
2Financeiro abre a transação de ND antecipadaLista ordens elegíveis: não faturadas, sem rejeição, sem ND vinculada
3Seleciona a ordem e clica "Débito"BAPI_J_1B_NF_CREATEFROMDATA cria a ND (doctyp='D')
4(automático)DC_VALID confere o campo ORDEM; DC_SUBST herda o cClass
5A ND sai com o imposto certoBase IBS/CBS sem os impostos que não a compõem; ICMS como estatístico; ICMS-ST/FCP como despesa
6Na entrega, emite a NF de vendaA NF de venda referencia a ND (campo de antecipação) → o fisco deduz o IBS já pago

Selecionar ordens

Não faturadas, sem rejeição, sem ND (confirme os tipos de ordem da sua empresa).

Criar a ND

Uma ND por ordem, espelhando itens, quantidades, preço e impostos.

Base IBS/CBS

Preço líquido; dentro = estatístico; fora = despesa.

NF de venda futura

Referencia a ND antecipada.

Caso 2 — Cliente devolve mercadoria (NC 03)

#ProcessoTécnico
1Registra a NF de devolução (ordem de devolução + recebimento + fatura)Reverte os impostos tradicionais (ICMS/PIS/COFINS) — fluxo padrão
2Abre a transação de NC de devoluçãoLista devoluções sem NC associada (lê J_1BNFDOC)
3Seleciona e clica "Crédito"BAPI cria a NC (doctyp='C') espelhando a devolução → reverte IBS/CBS
4(automático)DC_VALID confere a referência à NF de venda no item (chave + item); DC_SUBST herda o cClass
5Tudo rastreávelDevolução (tradicionais) + NC (IBS/CBS), ambas referenciando a venda original
⚠️ Por que duas notas?
  • Pelo entendimento atual, a devolução precisa da NF de devolução (impostos antigos) e da NC (IBS/CBS).
  • O Ajuste SINIEF 49/2025 busca unificar numa só — se confirmado, vira simplificação.

Atenção ao reaproveitar desenhos de outro segmento

É comum partir de uma solução feita para outra empresa. Alguns pontos não se copiam crus:

TemaO que verificar
Plataforma (ECC × S/4HANA)Objetos ABAP e BAPI são os mesmos; algumas telas e notas diferem.
Transmissão (DRC × mensageria)🔴 A camada de autorização/envio muda. O desenho funcional e as transações Z se reaproveitam; a integração, não.
Tipos de NFMapeie seus tipos de débito/crédito para o papel dos tipos do desenho original.
Tipos de ordem de venda/devoluçãoOs seletores dos programas dependem disso.
Regras setoriaisRemova o que é específico do segmento de origem (veja abaixo).

Exemplo: "lista positiva" de medicamentos

ComponenteRegra geralLista positiva (farma)
Preço líquido6.788,066.788,06
PIS161,99161,99
COFINS763,66763,66
Base IBS/CBS6.788,067.713,71 (líquido + PIS + COFINS)

Plano de ação

  1. Ver um ambiente real rodando ponta a ponta: ordem → remessa → fatura → ND/NC, com contabilização.
  2. Reusar EF/ET como template, trocando a seção de integração.
  3. Checar pré-requisitos via SNOTE (3664725, cadeia da 3561376), tipos de NF e condições CBS3/IB3S/IB3M.
  4. Criar a tabela de parametrização.
  5. Implementar as validações no enhancement do CHK_ALL.
  6. Construir as transações de ND 06 e NC 03/06 com a BAPI.
  7. Confirmar os tipos de ordem de venda e devolução.
  8. Alinhar eventos com a mensageria sem duplicar o que o produto já entrega.
  9. Remover regras setoriais que não se aplicam e validar o cálculo da base.

Perguntas para fazer antes de começar

📦 Materiais para ir além

Kit

Kit Reforma no SAP

Checklist de SAP Notes, roteiro de testes do CNPJ alfanumérico, matriz de ND/NC × eventos e modelo de EF para ND/NC automática.

Entrar na lista de espera
PDF

Mapa de ND/NC e eventos (para imprimir)

Todos os tpNFDebito, tpNFCredito e eventos numa página, com quem emite, quando usar e o efeito no imposto.

Entrar na lista de espera

Fontes

🧰 Kit Reforma no SAP

Checklist de SAP Notes, roteiro de testes, matriz ND/NC × eventos e modelo de EF. Entre na lista e receba o lançamento com desconto.