Tabelle OINV in SAP Business One (Ausgangsrechnung (Kopf))

OINV ist die Tabelle in SAP Business One, in der der Kopf jeder Ausgangsrechnung gespeichert wird: Kunde, Datumsangaben, Summen, Steuer, bereits bezahlter Betrag und Status. Die Positionen liegen in INV1, verknüpft über DocEntry, der Objekttyp ist 13.

Wichtige Felder der Tabelle OINV

FeldInhalt
DocEntryInterner Schlüssel. Verknüpft mit INV1.DocEntry und wird von jeder Belegverknüpfung verwendet.
DocNumRechnungsnummer, die der Anwender sieht. Eindeutig pro Nummernkreis, nicht über die ganze Tabelle.
DocDateBuchungsdatum. Verwenden Sie es für Umsatzberichte nach Zeitraum.
DocDueDateFälligkeitsdatum, berechnet aus den Zahlungsbedingungen. Grundlage für die Altersstrukturanalyse.
CardCodeKundennummer. Verknüpft mit OCRD.CardCode.
DocTotalGesamtbetrag inklusive Steuer und Fracht, nach Abzug des Belegrabatts.
VatSumSteuerbetrag. DocTotal - VatSum ergibt den Nettobetrag.
PaidToDateBereits bezahlter Betrag. DocTotal - PaidToDate ist der offene Saldo.
DiscPrcntBelegrabatt in Prozent. Nicht in INV1.LineTotal enthalten.
DocStatusO = offen, C = geschlossen (vollständig bezahlt oder manuell geschlossen).
CANCELEDN = normal, Y = storniert, C = der Stornobeleg selbst.
SlpCodeVertriebsmitarbeiter. Verknüpft mit OSLP.SlpCode.

Wie OINV mit anderen Tabellen zusammenhängt

OINV ist eine Kopftabelle. Jede Rechnung hat eine Zeile in OINV und eine Zeile pro Artikel- oder Serviceposition in INV1, beide mit demselben DocEntry. Fracht steht in INV3, Quellensteuer in INV5 und Raten in INV6. Wird eine Rechnung aus einer Lieferung oder einem Kundenauftrag kopiert, wird die Verknüpfung in den Positionen gespeichert (INV1.BaseType, BaseEntry, BaseLine), nicht im Belegkopf.

Typische Joins

  • OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry (Positionen)
  • OINV T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (Kundenstamm)
  • OINV T0 LEFT JOIN OSLP T3 ON T0.SlpCode = T3.SlpCode (Vertriebsmitarbeiter)
  • OINV T0 LEFT JOIN OUSR T4 ON T0.UserSign = T4.USERID (Benutzer, der den Beleg angelegt hat)

Wann Sie die Tabelle OINV verwenden

Fast jeder Bericht zu Umsatz, Forderungseinzug und Provisionen beginnt bei OINV: Umsatz pro Kunde oder Zeitraum, offene Rechnungen, überfällige Rechnungen und die Altersstruktur der Forderungen. Für den Nettoumsatz ziehen Sie die Ausgangsgutschriften ab. Sie liegen in ORIN mit denselben Spaltennamen, daher funktioniert dieselbe Abfrage mit einem UNION ALL.

Rechnungen legen Sie aus Code über die DI API (Documents-Objekt, oInvoices) oder den Service Layer (Invoices) an, niemals per INSERT in OINV: SAP unterstützt keine direkten Schreibzugriffe auf seine Tabellen. Schlägt Add() fehl, verraten Ihnen Code und Text aus GetLastError den Grund. Siehe DI-API-Fehlercodes (-5002, -1029, -2028 und weitere).

Beispielabfrage: Offene Ausgangsrechnungen mit Saldo

SQL Server

SELECT T0.DocNum, T0.DocDate, T0.DocDueDate, T0.CardCode, T0.CardName,
  T0.DocTotal, T0.PaidToDate, T0.DocTotal - T0.PaidToDate AS OpenAmount
FROM OINV T0
WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N'
ORDER BY T0.DocDueDate

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T0."DocNum", T0."DocDate", T0."DocDueDate", T0."CardCode", T0."CardName",
  T0."DocTotal", T0."PaidToDate", T0."DocTotal" - T0."PaidToDate" AS "OpenAmount"
FROM OINV T0
WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N'
ORDER BY T0."DocDueDate"

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: DocTotal gegenüber der Summe von INV1.LineTotal

DocTotal enthält bereits den Belegrabatt (DiscPrcnt), die Steuer und die Fracht. INV1.LineTotal enthält den Belegrabatt nicht, daher ist die Summe der Positionen höher als die Nettorechnung, sobald ein Belegrabatt verwendet wird. Rechnen Sie bei Berichten auf Positionsebene mit dem Faktor LineTotal * (1 - DiscPrcnt / 100) und filtern Sie auf CANCELED = 'N', damit stornierte Rechnungen und ihre Stornobelege nicht doppelt zählen. Siehe Warum Umsatzsummen in SAP B1 nicht übereinstimmen (Belegrabatt).

Fertige Abfragen, die OINV verwenden

Verwandte Tabellen

INV1 (Ausgangsrechnung (Positionen)) · ORIN (Ausgangsgutschrift (Kopf)) · OCRD (Geschäftspartner) · ORDR (Kundenauftrag (Kopf)) · ODLN (Lieferung (Kopf)) · 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.