Tabelle INV1 in SAP Business One (Ausgangsrechnung (Positionen))
INV1 ist die Tabelle in SAP Business One, in der die Positionen der Ausgangsrechnungen gespeichert werden: Artikel, Menge, Preis, Zeilenbetrag und Lager. Sie enthält selbst keine Kopfdaten, daher verknüpfen Sie sie über DocEntry mit OINV, um Datum, Kunde und Status zu erhalten.
Wichtige Felder der Tabelle INV1
| Feld | Inhalt |
|---|---|
DocEntry | Schlüssel der Rechnung. Verknüpft mit OINV.DocEntry. |
LineNum | Zeilennummer innerhalb der Rechnung, beginnend bei 0. |
ItemCode | Verkaufter Artikel. Verknüpft mit OITM.ItemCode. Bei Servicerechnungen leer. |
Dscription | Positionsbeschreibung (so geschrieben: mit einem i und ohne e nach dem s). |
Quantity | Menge in der Verkaufsmengeneinheit. |
Price | Stückpreis nach Zeilenrabatt. |
PriceBefDi | Stückpreis vor Zeilenrabatt. |
LineTotal | Zeilenbetrag in Hauswährung, vor Steuer und vor dem Belegrabatt. |
WhsCode | Lager, aus dem die Ware abging. Verknüpft mit OWHS.WhsCode. |
SlpCode | Vertriebsmitarbeiter der Position. |
BaseType / BaseEntry / BaseLine | Basisbeleg, aus dem die Position kopiert wurde (zum Beispiel 15 = Lieferung, 17 = Kundenauftrag). |
Wie INV1 mit anderen Tabellen zusammenhängt
INV1 ist die Positionstabelle von OINV. Jede Zeile gehört über DocEntry zu genau einer Rechnung, und DocEntry + LineNum ist der eindeutige Schlüssel einer Position. Datum, Kunde, Stornostatus und Belegrabatt stehen in OINV, daher verknüpft fast jede INV1-Abfrage auch OINV.
Typische Joins
INV1 T1 INNER JOIN OINV T0 ON T1.DocEntry = T0.DocEntry (Belegkopf)INV1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (Artikelstamm)INV1 T1 LEFT JOIN OWHS T3 ON T1.WhsCode = T3.WhsCode (Lager)
Wann Sie die Tabelle INV1 verwenden
Verwenden Sie INV1 für alles, was pro Artikel ausgewertet wird: Topseller, Ladenhüter, Umsatz nach Artikelgruppe oder Lager und verkaufte Mengen in einem Zeitraum. Bei Werten denken Sie an den Belegrabatt, bei Mengen sind die Positionen die richtige Quelle.
Beispielabfrage: Verkaufte Menge und Nettowert pro Artikel
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 (Spaltennamen in doppelten Anführungszeichen)
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
Fügen Sie eine der beiden Versionen unter Extras → Abfragen → Abfragegenerator ein. Sie brauchen den anderen Dialekt für Ihre eigene Abfrage? Nutzen Sie den SQL-zu-HANA-Konverter.
Typischer Fallstrick: Die Summe von LineTotal weist zu viel Umsatz aus
LineTotal ist der Betrag vor dem Belegrabatt aus OINV.DiscPrcnt. Gewähren Ihre Anwender Rabatte im Belegkopf, ist SUM(LineTotal) höher als im Bericht Verkaufsanalyse. Multiplizieren Sie wie in der Abfrage oben mit (1 - T0.DiscPrcnt / 100) und ziehen Sie die Positionen der Ausgangsgutschriften (RIN1) mit demselben Faktor ab. Siehe Abweichung durch den Belegrabatt beheben.
Fertige Abfragen, die INV1 verwenden
- Top 20 der meistverkauften Artikel: Die umsatzstärksten Artikel nach Umsatzwert, mit verkaufter Menge, für einen Zeitraum.
- Langsamdreher (90 Tage ohne Verkauf): Artikel mit Lagerbestand, die in den letzten 90 Tagen nicht fakturiert wurden.
Verwandte Tabellen
OINV (Ausgangsrechnung (Kopf)) · ORIN (Ausgangsgutschrift (Kopf)) · OITM (Artikel (Artikelstamm)) · OITW (Artikelbestand pro Lager) · alle SAP-Business-One-Tabellen durchsuchen
Quellen: Dokumentation und SDK zu SAP Business One (Referenz der DI-API-Datenbanktabellen), SAP Help Portal.
Bereit für den Start?
Sagen Sie uns, was Sie brauchen. Sie erhalten eine klare technische Antwort, einen festen Leistungsumfang und einen Preis, in der Regel innerhalb von 24 Stunden.
