Tabela INV1 no SAP Business One (Nota fiscal de saída (linhas))

INV1 é a tabela do SAP Business One que guarda as linhas das notas fiscais de saída: item, quantidade, preço, total da linha e depósito. Ela não tem dados de cabeçalho próprios, então é relacionada com a OINV por DocEntry para obter datas, cliente e status.

Campos-chave da INV1

CampoO que contém
DocEntryChave da nota fiscal. Relaciona com OINV.DocEntry.
LineNumNúmero da linha dentro da nota fiscal, começa em 0.
ItemCodeItem vendido. Relaciona com OITM.ItemCode. Vazio em notas de serviço.
DscriptionDescrição da linha (escrita com um i só e sem e depois do s).
QuantityQuantidade na unidade de venda.
PricePreço unitário após o desconto da linha.
PriceBefDiPreço unitário antes do desconto da linha.
LineTotalValor da linha em moeda local, antes do imposto e antes do desconto do cabeçalho.
WhsCodeDepósito de onde saiu o estoque. Relaciona com OWHS.WhsCode.
SlpCodeVendedor da linha.
BaseType / BaseEntry / BaseLineDocumento de origem do qual a linha foi copiada (por exemplo 15 = entrega, 17 = pedido de venda).

Como a INV1 se relaciona com outras tabelas

INV1 é a tabela de linhas da OINV. Cada linha pertence a exatamente uma nota fiscal por meio do DocEntry, e DocEntry + LineNum é a chave única de uma linha. Datas, cliente, status de cancelamento e desconto do cabeçalho ficam na OINV, por isso quase toda consulta sobre a INV1 também faz join com a OINV.

Joins mais comuns

  • INV1 T1 INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry (cabeçalho)
  • INV1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (cadastro de itens)
  • INV1 T1 LEFT JOIN OWHS T3 ON T1.WhsCode = T3.WhsCode (depósito)

Quando usar a tabela INV1

Use a INV1 para tudo que for por item: mais vendidos, itens de baixo giro, vendas por grupo de itens ou por depósito e quantidades vendidas em um período. Para valores, lembre-se do desconto do cabeçalho; para quantidades, as linhas são a fonte correta.

Consulta de exemplo: quantidade e valor líquido vendidos por item

SQL Server

SELECT T1.ItemCode, T1.Dscription, SUM(T1.Quantity) AS QtySold,
  SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) AS NetValue
FROM OINV T0
INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T0.DocDate >= '20260101'
GROUP BY T1.ItemCode, T1.Dscription
ORDER BY NetValue DESC

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T1."ItemCode", T1."Dscription", SUM(T1."Quantity") AS "QtySold",
  SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0)) AS "NetValue"
FROM OINV T0
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N' AND T0."DocDate" >= '20260101'
GROUP BY T1."ItemCode", T1."Dscription"
ORDER BY "NetValue" DESC

Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.

Erro comum: Somar LineTotal infla as vendas

LineTotal é anterior ao desconto do cabeçalho registrado em OINV.DiscPrcnt. Se os seus usuários dão descontos no cabeçalho, SUM(LineTotal) fica maior que o relatório de análise de vendas. Multiplique por (1 - T0.DiscPrcnt / 100) como na consulta acima e subtraia as linhas das devoluções de nota fiscal de saída (RIN1) com o mesmo fator. Veja Corrigir a diferença causada pelo desconto do cabeçalho.

Consultas prontas que usam a INV1 (em inglês)

Tabelas relacionadas

OINV (Nota fiscal de saída (cabeçalho)) · ORIN (Devolução de nota fiscal de saída (cabeçalho)) · OITM (Itens (cadastro de itens)) · OITW (Estoque do item por depósito) · pesquisar todas as tabelas do SAP Business One

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

Pronto para começar?

Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.