Altersstrukturanalyse der Forderungen (Debitoren)
Offener Rechnungsbetrag pro Kunde in den Stufen 0–30, 31–60, 61–90 und über 90 Tage, bezogen auf das Fälligkeitsdatum.
Tool
SELECT T0.CardCode, T0.CardName, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) <= 30 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Days0to30, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) BETWEEN 31 AND 60 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Days31to60, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) BETWEEN 61 AND 90 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Days61to90, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) > 90 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Over90, SUM(T0.DocTotal - T0.PaidToDate) AS TotalOpen FROM OINV T0 WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N' GROUP BY T0.CardCode, T0.CardName ORDER BY TotalOpen DESC
SELECT T0."CardCode", T0."CardName", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) <= 30 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Days0to30", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) BETWEEN 31 AND 60 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Days31to60", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) BETWEEN 61 AND 90 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Days61to90", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) > 90 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Over90", SUM(T0."DocTotal" - T0."PaidToDate") AS "TotalOpen" FROM OINV T0 WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N' GROUP BY T0."CardCode", T0."CardName" ORDER BY "TotalOpen" DESC
Welche Frage diese Abfrage beantwortet
Das Debitorenmanagement erstellt die wöchentliche Mahnliste, und der CFO möchte wissen, wie viel Kundengeld seit mehr als 60 oder 90 Tagen aussteht. Die Abfrage teilt den offenen Rechnungssaldo jedes Kunden nach Fälligkeitsdatum in Altersstufen auf.
Beispielausgabe
Beispielwerte zur Veranschaulichung. Die Spalten sind bei Ihnen dieselben, die Zahlen stammen aus Ihrem Mandanten.
| CardCode | CardName | Days0to30 | Days31to60 | Days61to90 | Over90 | TotalOpen |
|---|---|---|---|---|---|---|
| C20000 | Acme Trading | 12400 | 5300 | 0 | 2100 | 19800 |
| C30000 | Northwind Retail | 8750 | 0 | 3200 | 0 | 11950 |
| C40000 | Blue Harbor Foods | 2500 | 1800 | 0 | 4600 | 8900 |
| C50000 | Summit Supplies | 0 | 0 | 0 | 3150 | 3150 |
SQL Server und SAP HANA im Vergleich
Jedes DATEDIFF(day, T0.DocDueDate, GETDATE()) wird zu DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP). Die Reihenfolge der Argumente ist dieselbe (Beginn, Ende), ein positives Ergebnis bedeutet also weiterhin „überfällig“, und die Grenzen der Stufen ändern sich nicht.
Häufige Fehler und Lösungen
- Die Summen stimmen nicht mit dem Standardbericht zur Altersstruktur der Kundenforderungen überein: Diese Abfrage liest nur offene Ausgangsrechnungen. Offene Gutschriften, Anzahlungen und Akontozahlungen werden nicht abgezogen, daher kann der Standardbericht niedriger sein.
- Noch nicht fällige Rechnungen landen in der Stufe 0–30: Noch nicht fällige Rechnungen ergeben eine negative Tageszahl, die <= 30 erfüllt. Ergänzen Sie eine eigene Stufe NotDue (Tage <= 0), wenn Sie diese getrennt ausweisen möchten.
- Beträge wirken bei Fremdwährungskunden falsch: DocTotal und PaidToDate sind in Hauswährung. Verwenden Sie DocTotalFC - PaidFC, um in der Belegwährung zu analysieren.
Verwandte Abfragen
Tabellenreferenz: Tabelle OINV (Ausgangsrechnung (Kopf))
Drei Schritte, ohne Anmeldung
Die passende Version kopieren
Nutzen Sie den Tab SQL Server für MS-SQL-Datenbanken und den Tab HANA für SAP B1 auf HANA.
Abfragegenerator öffnen
Öffnen Sie in SAP Business One Extras → Abfragen → Abfragegenerator, fügen Sie die Abfrage ein und klicken Sie auf Ausführen.
Speichern und teilen
Klicken Sie auf Sichern, wählen Sie eine Kategorie und geben Sie der Abfrage einen Namen. Ihr Team kann sie dann über den Abfrage-Manager ausführen.
Fragen zu diesem Tool
Wie führe ich die Abfrage „Altersstrukturanalyse der Forderungen (Debitoren)“ in SAP Business One aus?
Kopieren Sie die Version, die zu Ihrer Datenbank passt, öffnen Sie Extras → Abfragen → Abfragegenerator, fügen Sie sie in das SQL-Feld ein und klicken Sie auf Ausführen. Speichern Sie die Abfrage, um sie später wiederzuverwenden.
Welche Tabellen verwendet diese Abfrage?
Sie liest OINV aus dem Standardschema von SAP Business One. Benutzerdefinierte Felder sind nicht erforderlich.
Lässt sich daraus ein Dashboard oder eine Warnung machen?
Ja. Wir machen aus Abfragen Crystal Reports, Excel-Berichte, die sich selbst aktualisieren, SAP-B1-Warnungen oder WhatsApp-Nachrichten für Führungskräfte.
Für SAP-Business-One-Teams entwickelt
Brauchen Sie das direkt in SAP Business One?
Wir entwickeln Add-ons, Berichte und Integrationen für SAP B1 auf SQL Server und HANA. Beschreiben Sie Ihren Bedarf und erhalten Sie einen Festpreis, meist innerhalb von 24 Stunden.
