Varejo e e-commerce · Fiscal

Fiscal por item

Cada item de cupom NFC-e e de NF-e com ICMS, PIS, COFINS e os tributos da Reforma, o CFOP e o status na SEFAZ, batendo com o total fiscal do dia e sem contar remessa, kit ou cancelamento como venda.

UsoComum
EsforçoAlto
Para quemÁreas fiscal, contábil e de dados de redes de lojas e e-commerces que precisam do imposto de cada item vendido.
Fonte

Logs do PDV, NF-e do ERP, cadastros de produto e de loja

Regra

Chave completa do item, status fiscal, CFOP de venda e imposto do item

Resultado

Venda e imposto por item, nota, CNPJ e mês, conferidos com o dia

Ativação

Relatório fiscal, lista de revisão e simulação da Reforma

O que resolve

  • O imposto de cada item, nota e loja sai de uma base só, que bate com o total fiscal do dia.
  • Cupons cancelados, rejeitados e em contingência ficam separados dos autorizados.
  • Remessa, transferência, bonificação e componente de kit deixam de entrar como venda.

Perguntas de negócio que responde

Faça estas perguntas ao seu agente quando o caso estiver pronto.

Quanto pagamos de ICMS, PIS e COFINS por loja e por mês, e qual a carga sobre a venda?
Quantas NFC-e distintas cada CNPJ emitiu por ano?
Quais itens estão em revisão fiscal e por quê?
A venda fiscal de cada loja bate com o total do dia no PDV?
Quanto o IBS e a CBS representariam sobre a venda de cada loja?
Quais produtos têm NCM, CEST ou CST faltando no cadastro?

O que você precisa

  • As tabelas de cupom, item, NFC-e e eventos do PDV, ou as NF-e do ERP, conectadas na Nekt
  • O cadastro de produto com NCM, CEST e CST, e o de loja com UF, CNPJ e regime tributário
  • A lista de CFOPs de venda e o significado dos códigos de cancelamento, validados com o fiscal

O que você recebe

  • Uma tabela por item com valores, impostos, CFOP, chave de acesso e status fiscal
  • Conferência diária por loja contra o total fiscal do dia, com as diferenças listadas
  • Relatório mensal por CNPJ com imposto por tributo e carga tributária
  • Lista de revisão com itens rejeitados, cancelamentos atípicos e produtos sem cadastro fiscal

Onde ativar

Relatório fiscal mensal

Venda fiscal, imposto por tributo e carga tributária por CNPJ e mês, com a lista de diferenças contra o total do dia.

Lista diária de revisão

Itens em Requer revisão fiscal, rejeições da SEFAZ e produtos sem NCM ou CST, para a área fiscal tratar.

Agente de IA com escopo restrito

Responde sobre imposto e venda fiscal por loja sem expor dado de operador de caixa.

Quer construir?

O volume é grande e as chaves do PDV têm armadilhas. A regra de status depende do fiscal confirmar o significado de cada código, então comece conservador e refine. O detalhado traz as regras de negócio, as armadilhas e o teste de aceitação. Ou mande tudo direto para o seu agente com o MCP da Nekt.

Ver detalhado
O problema

O PDV grava o item vendido numa tabela, o imposto do item em outra, o cabeçalho da NFC-e e o retorno da SEFAZ em uma terceira, e o número do cupom recomeça depois de um tempo. As flags de cancelamento têm mais de dois valores e o código de retorno da SEFAZ nem sempre conta a história inteira. No ERP, a nota tem itens de kit sem CFOP, notas de remessa no meio das de venda e totais de imposto no cabeçalho. Quem cruza pelo número do cupom, conta todo cancelamento como perda e soma o imposto do cabeçalho em cada item entrega um relatório que o fiscal não consegue usar.

Como costuma ser feito, e a regra

Cada linha é um erro que já aconteceu na prática.

O jeito comumA regra
01
Cruzar item e cabeçalho por loja + número do cupom.
O item tem chave completa

No cupom, o grão é loja + PDV + número do cupom + data do movimento + sequencial do item. O número do cupom é um contador cíclico que recomeça por loja e PDV ao longo dos anos, e outros campos de evento repetem o mesmo ciclo. Valide a chave com contagem distinta na tabela inteira antes de usar. Na NF-e, o grão é chave de acesso + número do item. Toda deduplicação fica com o registro mais recente do log (maior NSU do evento).

02
Contar notas pelo número da nota ou por linhas de item.
A chave de acesso diz quem emitiu e o modelo

A chave de 44 dígitos traz a UF (posições 1 e 2), ano e mês (3 a 6), o CNPJ do emitente (7 a 20), o modelo (21 e 22: 55 para NF-e, 65 para NFC-e), a série (23 a 25) e o número (26 a 34). Use o CNPJ e o modelo da chave para contar notas distintas por estabelecimento e ano, e o CNPJ da loja no cadastro só como conferência.

03
Tratar a flag de cancelamento como sim ou não e confiar só no código de retorno.
Status fiscal conservador, em duas classes

Autorizado = cupom e item sem nenhuma marca de cancelamento e retorno da SEFAZ sem indício de rejeição no texto. Todo o resto vai para Requer revisão fiscal: cancelamento parcial, denegado, inutilizado, contingência e rejeição. A flag de cancelamento pode ter quatro valores e não é booleana, e o código de retorno de sucesso pode vir junto com texto de rejeição, então leia o texto. Guarde os campos brutos no fato para investigação e só abra novas classes quando o fiscal validar cada código.

04
Contar toda tentativa de cancelamento como cupom cancelado.
Três cancelamentos diferentes

Cupom inteiro cancelado no PDV (grão cupom), item cancelado dentro de um cupom válido (grão item) e tentativa de cancelar a NFC-e rejeitada pela SEFAZ por prazo legal (retorno 501, grão nota) são fatos diferentes. A maioria das tentativas rejeitadas é de cupons que continuaram válidos e são venda. Cada um vai para uma tabela ou coluna própria.

05
Somar todas as notas de saída como venda.
CFOP separa venda do que não é venda

Marque cada item com uma flag de CFOP de venda a partir de uma lista mantida com o fiscal. Remessa para armazém de marketplace (5.949), simples faturamento de entrega futura (5.922), transferência entre filiais (5.152) e bonificação (5.910) ficam fora da venda. Na entrega futura, conte uma das duas notas, nunca as duas: nos casos reais, a nota de simples faturamento fica fora e a de entrega (5.116, 5.117, 6.116, 6.117) entra.

06
Somar o valor total do documento ou todos os itens do kit.
Kit tem o CFOP no componente

Em pedidos e notas de kit, o item pai vem sem CFOP e os componentes carregam o CFOP e o valor. Somar todos os itens dobra o valor do kit. A venda fiscal soma só os itens com CFOP de venda.

07
Levar o total de imposto do cabeçalho para cada item.
Imposto vem do item, nunca da nota repetida

Use os valores de imposto do item: ICMS (com CST e base), PIS e COFINS (com CST e base), e, da Reforma, IBS estadual, IBS municipal, CBS e Imposto Seletivo, cada um com sua coluna e o CST de IBS e CBS. Os totais do cabeçalho da nota servem só para conferir: a soma dos itens tem de bater com eles. DIFAL fica em coluna própria, fora do ICMS geral.

08
Somar views do PDV direto e publicar sem conferir com o total do dia.
O total fiscal do dia é a autoridade

Por loja e dia, compare a soma dos itens autorizados com o total fiscal do dia do PDV (a redução Z). Diferenças pequenas são esperadas quando o desconto de item fica numa coluna separada do log de cupom. Antes de somar qualquer view do PDV, confira o grão: há views que repetem a mesma linha várias vezes, e uma diferença em múltiplo inteiro é sinal de linha duplicada no cruzamento.

09
Assumir a UF da matriz para todas as lojas e preencher NCM vazio com um padrão.
Loja e produto trazem o contexto fiscal

A dimensão de loja traz UF, CNPJ, inscrição estadual e regime tributário (CRT); a UF é necessária para separar IBS estadual de municipal. A dimensão de produto traz NCM, CEST, classificação e os CST de IBS, CBS e Imposto Seletivo, com uma linha por produto pela alteração mais recente. Produto vendido sem NCM ou CST vai para a lista de revisão, nunca para um padrão.

10
Casar todo produto não encontrado com a base de códigos de barras.
Correção de produto só na assinatura do defeito

Quando o PDV grava o código de barras no lugar do código interno do produto, resolva pelo de-para de automação da origem, e só quando a linha tem a assinatura exata do defeito (códigos de automação zerados) e existe correspondência. Marque o item com uma flag de produto corrigido. Qualquer outro produto sem cadastro continua nulo para revisão.

Como cada CFOP entra na venda fiscal

Lista inicial dos casos reais; o fiscal valida e completa.

5.101, 5.102, 6.101, 6.102Venda de produção ou revendacfop_de_venda = true
5.401, 5.405, 6.401, 6.404Venda com substituição tributáriacfop_de_venda = true
6.107, 6.108Venda interestadual a não contribuintecfop_de_venda = true
5.116, 5.117, 6.116, 6.117Entrega de venda futura, conta como vendacfop_de_venda = true
5.922Simples faturamento de entrega futura, foracfop_de_venda = false
5.949Remessa para armazém de marketplace, foracfop_de_venda = false
5.152Transferência entre filiais, foracfop_de_venda = false
5.910Bonificação ou brinde, foracfop_de_venda = false
Item pai de kit sem CFOPFora; o componente carrega a vendacfop nulo

Definições

Venda fiscal
soma de preço total menos desconto dos itens autorizados com CFOP de venda, por loja (CNPJ) e dia ou mês
ICMS do período
soma do ICMS dos itens autorizados com CFOP de venda, por CNPJ e mês; DIFAL em coluna separada
PIS e COFINS do período
soma do PIS e da COFINS dos itens autorizados com CFOP de venda, por CNPJ e mês
IBS e CBS
soma do IBS estadual, do IBS municipal e da CBS dos itens, cada um em sua coluna, por CNPJ e mês
Carga tributária
soma dos impostos do recorte / venda fiscal do recorte, recalculada a partir das somas
Notas distintas
contagem distinta da chave de acesso por CNPJ do emitente, modelo (55 ou 65) e período
Itens em revisão
itens com status Requer revisão fiscal / total de itens, por loja e dia
Diferença para o total do dia
venda fiscal dos itens autorizados menos o total fiscal do dia do PDV, por loja e dia

Armadilhas que já aconteceram

Itens de anos diferentes no mesmo cupom

A base cruzava itens e cabeçalhos por loja e número do cupom. Como o número recomeça, itens de cupons de anos diferentes foram juntados. Trocar por campos de evento não resolveu, porque eles reciclam do mesmo jeito.

Chave com PDV e data do movimento, validada por contagem distinta em toda a tabela.

Sucesso com rejeição no texto

Milhares de linhas traziam o código de retorno de sucesso junto com um texto de rejeição da SEFAZ. Classificar só pelo código colocava essas notas como autorizadas.

Leia o texto do retorno e mande qualquer indício de rejeição para revisão.

Cancelamento que não aconteceu

Tentativas de cancelar NFC-e fora do prazo legal, rejeitadas pela SEFAZ, foram contadas como cupons cancelados. Na maioria, o cupom seguia válido e a venda sumiu do relatório.

Separe a tentativa rejeitada do cancelamento efetivo.

Kit em dobro

O valor dos pedidos de kit entrava duas vezes, porque o item pai, sem CFOP, era somado junto com os componentes.

Some só itens com CFOP de venda.

Desconto multiplicado

Uma view de desconto por item do PDV repetia a mesma linha até cinco vezes, e a soma direta inflava o desconto em cerca de 2,5 vezes.

Deduplique pelo grão do item e confira com o total fiscal do dia.

Produto sem cadastro que existia

Num único dia e loja, o PDV gravou o código de barras no lugar do código interno em algumas centenas de itens, e produtos ativos apareceram como sem cadastro no relatório fiscal.

Corrija pelo de-para de automação só quando a linha tem a assinatura do defeito, e marque o item.

Teste de aceitação

O caso está pronto quando todos os itens passam.

Pacote para o agente

Cole no Claude, ChatGPT ou outro cliente com o MCP da Nekt conectado.

Markdown completo
Fiscal por item (varejo)
- Grão: item de cupom (loja + PDV + cupom + data + sequencial) ou item de NF-e (chave de acesso + item). O número do cupom recicla: nunca cruze sem PDV e data.
- Chave de acesso: posições 7 a 20 = CNPJ do emitente; 21 a 22 = modelo (55 NF-e, 65 NFC-e). Conte notas pela chave distinta.
- Status fiscal: 1 = Autorizado (sem cancelamento no cupom e no item e sem indício de rejeição no texto da SEFAZ); 99 = Requer revisão fiscal (todo o resto). Não decodifique os valores 1, 2 e 3 da flag de cancelamento sem validação do fiscal.
- Cancelamento de cupom, de item e tentativa rejeitada pela SEFAZ (retorno 501) são coisas diferentes. Tentativa rejeitada não é cancelamento.
- Venda fiscal = itens autorizados com cfop_de_venda = true. Remessa, transferência, bonificação e simples faturamento ficam fora. Item pai de kit não tem CFOP e não soma.
- Imposto vem do item (ICMS, PIS, COFINS, IBS estadual, IBS municipal, CBS, IS). Nunca leve o total do cabeçalho para o item. DIFAL separado.
- Total fiscal do dia (redução Z) é a referência de valor por loja e dia.
- Dado de cancelamento identifica o operador do caixa: não exponha fora do escopo autorizado.
Exceções por cliente:
- <cliente>: lista de CFOPs de venda validada em <data>: <lista>.
- <cliente>: histórico anterior a <data> sem produto no log do PDV; usar <fonte alternativa>.
- <cliente>: canal <marketplace> faturado em NF-e série <série>.

Variações

Notas de entrada

NF-e e CT-e de fornecedores, via conector de documentos fiscais, para crédito de ICMS, custo de frete e conferência de compras.

Recuperação de ST

Contagem de chaves distintas e itens com substituição tributária por CNPJ e ano, como base temporária para o pedido de recuperação.

Margem com imposto

Lucro bruto por item = venda menos custo menos ICMS, PIS e COFINS do item, como no resultado de peças e serviços de pós-venda.