Ihr Daten-Template für die Debitorenbuchhaltung
Ihr Daten-Template für die Debitorenbuchhaltung
- Umfassende Auswahl empfohlener Attribute für die Analyse der Debitorenbuchhaltung
- Wichtige Prozessaktivitäten und Meilensteine zur Überwachung
- Systemspezifische Anleitung zur Datenextraktion aus Oracle Fusion Financials
Attribute der Debitorenbuchhaltung
| Name | Beschreibung | ||
|---|---|---|---|
| Aktivitätsname ActivityName | Das konkrete Ereignis oder die Aktion im Forderungsmanagementprozess. | ||
| Beschreibung Dieses Attribut beschreibt den ausgeführten Prozessschritt, etwa das Erstellen einer Rechnung, das Buchen einer Zahlung oder das Eröffnen eines Streitfalls. Es bestimmt den Ablauf in der Prozesslandkarte und ermöglicht die Visualisierung der Ereignisfolge. Analysten verwenden dieses Feld, um Prozessvarianten, Schleifen und Engpässe zu erkennen. Es ist wichtig, um die Einhaltung von Standardvorgehensweisen zu prüfen und die Häufigkeit bestimmter Ereignisse wie Nacharbeiten oder manueller Eingriffe zu berechnen. Warum das wichtig ist Erforderlich, um den Prozessablauf festzulegen und die Ereignisfolge zu visualisieren. Woher beziehen Abgeleitet aus Transaktionshistorientabellen (z. B. AR_PAYMENT_SCHEDULES_ALL, RA_CUST_TRX_LINE_GL_DIST_ALL). Beispiele Rechnung erstelltZahlungserinnerung versandtTeilzahlung gebuchtStreitfall eröffnet | |||
| Ereignis-Timestamp EventStartDateTime | Das genaue Datum und die Uhrzeit, zu denen eine Aktivität stattgefunden hat. | ||
| Beschreibung Dieses Attribut erfasst den genauen Zeitpunkt, zu dem eine Aktivität im System stattgefunden hat. Es dient dazu, Ereignisse chronologisch zu ordnen und bildet die Grundlage für alle zeitbezogenen Berechnungen im Process Mining. Anhand der Timestamps kann das Unternehmen die Durchlaufzeiten zwischen Aktivitäten berechnen, etwa den Zeitraum zwischen Rechnungserstellung und Versand. Das ist entscheidend für die Messung von KPIs wie Days Sales Outstanding und für die Erkennung zeitlicher Muster im Zahlungsverhalten. Warum das wichtig ist Grundlage für die Berechnung von Dauer, Durchlaufzeiten und Zykluszeiten. Woher beziehen Oracle Fusion Financials: Spalten CREATION_DATE oder LAST_UPDATE_DATE in verschiedenen Transaktionstabellen. Beispiele 2023-10-15T08:30:00Z2023-10-16T14:45:12Z2023-11-01T09:00:00Z | |||
| Rechnungsnummer InvoiceNumber | Die eindeutige Kennung, die der Rechnungstransaktion in Oracle Fusion zugewiesen wird. | ||
| Beschreibung Dieses Attribut dient als eindeutiger Schlüssel zur Identifizierung finanzieller Forderungen im Modul Accounts Receivable. Es verknüpft alle nachfolgenden Aktivitäten, etwa Anpassungen, Streitfälle und Zahlungen, mit der ursprünglichen Verkaufstransaktion. In der Process-Mining-Analyse dient dieses Attribut als Case-ID. Damit können Analysten den gesamten Lebenszyklus einer Forderung vom Anlegen bis zum vollständigen Ausgleich oder zur Abschreibung nachvollziehen. So lassen sich Durchlaufzeiten und Prozessvarianten berechnen. Warum das wichtig ist Es ist die grundlegende Analyseeinheit, um den Lebenszyklus vom Kredit bis zum Zahlungseingang nachzuverfolgen. Woher beziehen Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.TRX_NUMBER Beispiele INV-2023-00110056789AR-99887755002211 | |||
| Letzte Datenaktualisierung LastDataUpdate | Der Timestamp der letzten Aktualisierung der Daten im Mining-Tool. | ||
| Beschreibung Dieses Attribut zeigt an, wann der Datensatz zuletzt mit dem Oracle-Quellsystem synchronisiert wurde. Es hilft Benutzern einzuschätzen, wie aktuell die Analyse ist und ob die Erkenntnisse den derzeitigen Betriebszustand widerspiegeln. Die Überwachung dieses Feldes ist wichtig, damit Dashboards aktuelle Informationen anzeigen, insbesondere bei der operativen Überwachung offener Streitfälle oder nicht zugeordneter Zahlungseingänge. Warum das wichtig ist Gibt Aufschluss über Aktualität und Zuverlässigkeit der Daten. Woher beziehen Systemzeit zum Zeitpunkt der Extraktion. Beispiele 2023-11-15T23:59:59Z2023-11-16T00:00:00Z | |||
| Quellsystem SourceSystem | Das führende System, aus dem die Daten stammen. | ||
| Beschreibung Dieses Attribut gibt an, aus welcher Softwareumgebung die Prozessdaten extrahiert wurden. In diesem Fall bestätigt es, dass die Daten aus Oracle Fusion Financials stammen. Bei einer Extraktion aus nur einem System ist der Wert häufig statisch. Werden jedoch Daten aus mehreren ERP-Instanzen zusammengeführt oder Tools von Drittanbietern für den Forderungseinzug integriert, wird das Attribut besonders wichtig. Es gewährleistet die Datenherkunft und Nachvollziehbarkeit in Prozesslandschaften mit mehreren Systemen. Warum das wichtig ist Stellt die Datenherkunft sicher und unterscheidet zwischen verschiedenen ERP-Instanzen. Woher beziehen Bei der Extraktion fest codiert oder in der Datenpipeline konfiguriert. Beispiele Oracle Fusion FinancialsOracle Cloud ERP - USAOracle Cloud ERP - EMEA | |||
| Automatisiert IsAutomated | Kennzeichnet, ob die Aktivität ohne menschliches Eingreifen ausgeführt wurde. | ||
| Beschreibung Dieses boolesche Attribut gibt an, ob ein Systemprozess, zum Beispiel AutoInvoice oder AutoLockbox, oder ein Benutzer die Aktivität ausgeführt hat. Es ist die zentrale Grundlage für die Kennzahl „Automatisierungsgrad der Zahlungseingangsverarbeitung“. Anhand des Verhältnisses automatisierter zu manuellen Aktivitäten im Zeitverlauf kann das Unternehmen den Erfolg von Initiativen zur digitalen Transformation überprüfen und Prozessschritte ermitteln, die weiterhin manuell ausgeführt werden. Warum das wichtig ist Zentrale Kennzahl zur Messung der digitalen Transformation und Effizienz. Woher beziehen Berechnete Logik auf Grundlage von UserName, zum Beispiel: Wenn User == 'BATCH_USER', dann true. Beispiele truefalse | |||
| Benutzername UserName | Der Systembenutzer, der die Aktivität ausgeführt hat. | ||
| Beschreibung Dieses Attribut erfasst die Anmelde-ID oder den Namen der Person, die eine bestimmte Aktivität ausgeführt hat, zum Beispiel eine Rechnung gebucht oder einen Kontoauszug abgeglichen hat. Es wird dem generischen Feld „Benutzer“ zugeordnet. Diese Daten sind für Compliance-Prüfungen und den Dashboard „Durchsatz der Inkassomitarbeitenden“ wichtig. Sie ermöglichen es, maschinell ausgeführte Aktionen, die häufig einem Benutzer namens „System“ zugeordnet sind, von Aktionen durch Mitarbeitende zu unterscheiden und unterstützen so die Automatisierungsanalyse. Warum das wichtig ist Ermöglicht die Leistungsanalyse auf Benutzerebene und die Prüfung der Funktionstrennung. Woher beziehen Oracle Fusion Financials: CREATED_BY- oder LAST_UPDATED_BY-Spalten, verknüpft mit Benutzertabellen. Beispiele Systemadministratorjsmithfinance_batch_job | |||
| Fälligkeitsdatum DueDate | Das Datum, bis zu dem die Zahlung eingehen soll. | ||
| Beschreibung Dieses Attribut gibt die Zahlungsfrist an, die sich aus Rechnungsdatum und Zahlungsbedingungen berechnet. Es dient als Bezugspunkt, um festzustellen, ob eine Zahlung verspätet ist. Die Kennzahl „Abweichung beim Zeitpunkt der Zahlungserinnerung“ misst, wie frühzeitig das Team im Verhältnis zur Frist handelt. Das Fälligkeitsdatum bestimmt außerdem, ob Forderungen in Berichten zur Fälligkeitsstruktur als aktuell oder überfällig eingestuft werden. Warum das wichtig ist Die maßgebliche Grundlage für die Bewertung von Zahlungsverzug und fristgerechten Zahlungen. Woher beziehen Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DUE_DATE Beispiele 2023-11-302023-12-152024-01-01 | |||
| Geschäftseinheit BusinessUnit | Die operative Einheit innerhalb der Organisation, die für die Rechnung verantwortlich ist. | ||
| Beschreibung Dieses Attribut entspricht der Organization ID in Oracle Fusion und bezeichnet die Geschäftseinheit oder Abteilung, der die Forderung zugeordnet ist. Damit lässt sich die Prozessleistung in verschiedenen Unternehmensbereichen vergleichen. Ein Vergleich von KPIs wie der Klärungszeit von Streitfällen oder den Days Sales Outstanding zwischen Geschäftseinheiten hilft der Unternehmensleitung, leistungsstarke Teams zu erkennen und bewährte Vorgehensweisen zu vereinheitlichen. Außerdem werden Einheiten sichtbar, die zusätzliche Ressourcen oder eine Neugestaltung ihrer Prozesse benötigen. Warum das wichtig ist Wichtige Dimension für den Vergleich von Organisationseinheiten und ihrer Leistung. Woher beziehen Oracle Fusion Financials: HR_ORGANIZATION_UNITS.NAME, verknüpft über ORG_ID. Beispiele Vertrieb Ostküste USADienstleistungen EMEAFertigung APAC | |||
| Kundenname CustomerName | Der Name des Unternehmens, dem die Transaktion in Rechnung gestellt wird. | ||
| Beschreibung Dieses Attribut identifiziert den Kunden, der der Rechnung zugeordnet ist. Es ist grundlegend für die Analyse des Zahlungsverhaltens, der Streitfallhäufigkeit und der Wirksamkeit des Forderungseinzugs auf Kundenebene. Analysten verwenden dieses Feld, um Kunden zu ermitteln, die häufig verspätet zahlen oder Streitfälle melden. Diese Erkenntnis unterstützt das Dashboard 'Analyse des Zahlungsverhaltens von Kunden' und hilft dabei, Kreditbedingungen und Einziehungsstrategien auf einzelne Kundenprofile abzustimmen. Warum das wichtig ist Unverzichtbar für kundenbezogene Analysen und die Bewertung von Risiken. Woher beziehen Oracle Fusion Financials: HZ_PARTIES.PARTY_NAME, verknüpft über BILL_TO_CUSTOMER_ID. Beispiele Acme CorpGlobex CorporationSoylent Corp | |||
| Kundensegment CustomerSegment | Die Einordnung des Kunden nach Größe, Branche oder Risiko. | ||
| Beschreibung Dieses Attribut ordnet Kunden Gruppen wie strategisch, Großunternehmen, KMU oder hohes Risiko zu. Häufig wird es aus der Kundenklasse oder Profilklasse in Oracle Fusion abgeleitet. Mit diesem Attribut lassen sich Prozessvarianten in verschiedenen Marktsegmenten analysieren. So können Sie beispielsweise prüfen, ob strategische Kunden den vorgesehenen persönlichen Service erhalten oder Kunden mit hohem Risiko im Hinblick auf die Einhaltung von Zahlungsbedingungen eng überwacht werden. Warum das wichtig ist Ermöglicht eine segmentierte Analyse von Einziehungsstrategien und Risiken. Woher beziehen Oracle Fusion Financials: HZ_CUSTOMER_PROFILES.PROFILE_CLASS_ID. Beispiele GroßunternehmenKleinunternehmenÖffentliche VerwaltungHohes Risiko | |||
| Name des Forderungsmanagers CollectorName | Der Name des Mitarbeitenden oder der zuständigen Person im Forderungseinzug, der bzw. die der Rechnung zugeordnet ist. | ||
| Beschreibung Dieses Attribut identifiziert den Mitarbeitenden oder das Teammitglied, das für den Einzug der Zahlung zur Rechnung verantwortlich ist. Es ist die zentrale Dimension für das Dashboard 'Leistung im Forderungseinzug'. Die Daten in diesem Feld ermöglichen es dem Unternehmen, die Produktivität je Mitarbeitendem zu messen, Schulungsbedarf zu erkennen und Arbeitslasten auszugleichen. Sie fördern die Verantwortlichkeit und helfen dabei, die Einziehungsmaßnahmen im Finanzteam zu standardisieren. Warum das wichtig ist Wichtig für die Analyse der Ressourcenleistung und den Ausgleich der Arbeitslast. Woher beziehen Oracle Fusion Financials: AR_COLLECTORS.NAME, dem Kundenprofil zugeordnet. Beispiele John SmithInkassoteam AJane Doe | |||
| Rechnungsbetrag InvoiceAmount | Der Gesamtbetrag der Rechnung. | ||
| Beschreibung Dieses Attribut gibt den ursprünglichen Rechnungsbetrag wieder. Es dient in vielen Analysen als zentrale Gewichtungsgröße, damit das Unternehmen Transaktionen mit hohem Wert gegenüber solchen mit geringem Wert priorisieren kann. In der Ansicht 'Nicht zugeordnete Gutschriften und Erlösschmälerungen' hilft dieses Feld, die finanziellen Auswirkungen ungeklärter Positionen zu beziffern. Außerdem wird es zur Berechnung der nach Rechnungswert gewichteten Days Sales Outstanding verwendet und ermöglicht so eine stärker finanzorientierte Sicht auf die Prozesseffizienz. Warum das wichtig ist Ergänzt die Analyse um den finanziellen Wert und unterstützt eine wertorientierte Priorisierung. Woher beziehen Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.AMOUNT_DUE_ORIGINAL Beispiele 1500.00250.5010000.00 | |||
| Transaktionsart TransactionType | Die Klassifizierung des Forderungsbelegs (Rechnung, Gutschrift, Belastungsanzeige). | ||
| Beschreibung Dieses Attribut unterscheidet verschiedene Arten von Finanzbelegen. Häufige Werte sind Rechnung, Gutschrift und Belastungsanzeige. Diese Unterscheidung ist wichtig für das Dashboard 'Gutschriftenvolumen und Nacharbeit'. Durch Filterung nach diesem Attribut können Analysten Nacharbeitsschleifen durch Gutschriften isolieren oder gezielt den regulären Rechnungsprozess untersuchen. So lässt sich die Zusammensetzung des Arbeitsaufkommens im Forderungsmanagement besser verstehen. Warum das wichtig ist Unterscheidet reguläre Rechnungen von Anpassungen und Korrekturen. Woher beziehen Oracle Fusion Financials: RA_CUST_TRX_TYPES_ALL.NAME Beispiele RechnungGutschriftBelastungsanzeigeRückbelastung | |||
| Erstellungsquelle CreationSource | Gibt an, woher die Rechnung stammt und ob sie manuell erstellt oder importiert wurde. | ||
| Beschreibung Dieses Attribut zeigt, wie die Rechnung in das Oracle-System gelangt ist, zum Beispiel über „Manuelle Eingabe“, „AutoInvoice“ oder bestimmte externe Datenfeeds. Es dient als Näherungswert für das generische Attribut „Kanal“. Für den Dashboard „Automatisierungsmonitor für die Zahlungseingangsverarbeitung“ ist dieses Attribut besonders wichtig. Es hilft dabei, vollständig digitale Prozesse von solchen zu unterscheiden, die eine manuelle Einrichtung erfordern. Ein hohes Volumen an Rechnungen mit der Quelle „Manuelle Eingabe“ kann auf fehlende vorgelagerte Integrationen oder Mängel im System hinweisen. Warum das wichtig ist Zeigt den Grad der vorgelagerten Automatisierung und die Herkunft der Daten. Woher beziehen Oracle Fusion Financials: RA_BATCH_SOURCES_ALL.NAME Beispiele AutoInvoiceManuellProjektimplementierungAuftragsverwaltung | |||
| Nacharbeit IsRework | Kennzeichnet, ob die Rechnung Korrekturschleifen oder Streitfälle durchlaufen hat. | ||
| Beschreibung Dieses boolesche Attribut zeigt an, ob bei einer Rechnung Aktivitäten zur Fehlerkorrektur aufgetreten sind, etwa „Gutschrift ausgestellt“ oder „Rechnung angepasst“. Es unterstützt den Dashboard „Gutschriftenvolumen und Nacharbeit“. Mit der Kennzeichnung von Nacharbeitsfällen lassen sich Prozesse außerhalb des Happy Path von problematischen Abläufen unterscheiden. Eine hohe Nacharbeitsquote ist ein Frühindikator für Probleme mit der Datenqualität in Stammdaten oder bei der Erfassung von Kundenaufträgen. Warum das wichtig ist Macht Verschwendung und Ineffizienz im Prozessablauf sichtbar. Woher beziehen Berechnet: true, wenn der Case „Gutschrift ausgestellt“ oder „Streitfall eröffnet“ enthält. Beispiele truefalse | |||
| Region Region | Geografische Region der Geschäftseinheit oder des Kunden. | ||
| Beschreibung Dieses Attribut ordnet die Transaktion einer größeren geografischen Region zu, zum Beispiel Nordamerika, EMEA oder APAC. Es eignet sich für Berichte auf Führungsebene und den Dashboard „Trends bei DSO und Zahlungseingangszyklus“. Die regionale Analyse berücksichtigt Unterschiede im Zahlungsverhalten, etwa längere übliche Zahlungsziele in Südeuropa als in den USA. So lassen sich globale Kennzahlen im jeweiligen lokalen Kontext richtig interpretieren. Warum das wichtig ist Ermöglicht eine geografische Segmentierung für globale Berichte auf hoher Ebene. Woher beziehen Oracle Fusion Financials: abgeleitet aus der Geschäftseinheit oder der Kundenadresse. Beispiele NordamerikaEMEAAPACLATAM | |||
| Stichtag für Skontoberechtigung DiscountEligibilityDate | Der letzte Tag, an dem ein Kunde zahlen kann, um Skonto für eine frühzeitige Zahlung zu erhalten. | ||
| Beschreibung Dieses Attribut gibt die Frist an, bis zu der der Kunde Zahlungsbedingungen wie „2 % Skonto bei Zahlung innerhalb von 10 Tagen, zahlbar innerhalb von 30 Tagen“ in Anspruch nehmen kann. Es wird für den Dashboard „Analyse von Skonto bei frühzeitiger Zahlung“ benötigt. Der Abgleich der Zahlungen mit diesem Datum zeigt, wie häufig Kunden Skonto für frühzeitige Zahlungen in Anspruch nehmen. So kann das Unternehmen beurteilen, ob die Skontostrategie den Zahlungseingang tatsächlich beschleunigt oder von den Kunden kaum genutzt wird. Warum das wichtig ist Unterstützt die Analyse der Wirksamkeit von Anreizen und der Beschleunigung des Zahlungseingangs. Woher beziehen Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DISCOUNT_DATE Beispiele 2023-11-102023-12-05 | |||
| Streitgrund DisputeReason | Die Kategorie oder der Grundcode, der beim Eröffnen eines Streitfalls zugewiesen wird. | ||
| Beschreibung Dieses Attribut erfasst die Begründung, die bei der Aktivität „Streitfall eröffnet“ angegeben wird. Häufige Werte sind beispielsweise „Preisfehler“, „Mengenabweichung“ oder „Ware beschädigt“. Die Analyse dieses Attributs im Dashboard „Lebenszyklus von Streitfällen und Engpässe“ hilft, die Ursachen für Zahlungsverzögerungen zu ermitteln. Tritt der Grund „Preisfehler“ häufig auf, sollte das Unternehmen den vorgelagerten Prozess zur Angebotserstellung im Vertrieb untersuchen und nicht nur den Inkassoprozess. Warum das wichtig ist Wichtig für die Ursachenanalyse bei Zahlungsverzögerungen und Nacharbeit. Woher beziehen Oracle Fusion Financials: RA_CM_REQUESTS.REASON_CODE oder AR_DISPUTE_HISTORY. Beispiele PreisstreitfallSteuerfehlerWare nicht erhaltenDoppelte Rechnungsstellung | |||
| Währungscode CurrencyCode | Die Währung, in der der Rechnungsbetrag angegeben ist. | ||
| Beschreibung Dieses Attribut gibt die Währung (z. B. USD, EUR) der Finanzbeträge an. Es ist erforderlich, um den Rechnungsbetrag korrekt zu interpretieren und gegebenenfalls in eine globale Berichtswährung umzurechnen. Für global tätige Unternehmen ermöglicht dieses Attribut den Vergleich der Einziehungsleistung in verschiedenen Wirtschaftsregionen. Außerdem können Finanzteams Wechselkurseffekte von der operativen Prozessleistung trennen. Warum das wichtig ist Ordnet Finanzbeträge in Umgebungen mit mehreren Währungen ein. Woher beziehen Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.INVOICE_CURRENCY_CODE Beispiele USDEURGBPJPY | |||
| Zahlungsbedingungen PaymentTerms | Die vereinbarten Zahlungsbedingungen, zum Beispiel zahlbar innerhalb von 30 Tagen. | ||
| Beschreibung Dieses Attribut legt den vertraglich vereinbarten Zahlungszeitraum fest. Es dient zur Berechnung des Fälligkeitsdatums und ist für den Dashboard „Wirksamkeit der Inkassostrategie“ erforderlich. Unterschiedliche Zahlungsbedingungen können erklären, warum sich die Außenstandsdauer (DSO) zwischen Kunden unterscheidet. Mit diesem Attribut können Analysten Leistungsdaten vergleichbar machen. So wird ein Kunde mit einem Zahlungsziel von 60 Tagen nicht fälschlich als langsamer Zahler eingestuft, wenn man ihn mit einem Kunden mit einem Zahlungsziel von 30 Tagen vergleicht. Warum das wichtig ist Setzt die Zahlungsgeschwindigkeit in den Kontext der vertraglichen Vereinbarungen. Woher beziehen Oracle Fusion Financials: RA_TERMS.NAME Beispiele Zahlbar innerhalb von 30 TagenSofort2 % Skonto bei Zahlung innerhalb von 10 Tagen, zahlbar innerhalb von 30 TagenZahlbar innerhalb von 60 Tagen | |||
Aktivitäten der Debitorenbuchhaltung
| Aktivität | Beschreibung | ||
|---|---|---|---|
| Rechnung ausgeglichen | Endzustand, in dem die Rechnung im System geschlossen ist. In der Regel ist der Saldo durch eine Zahlung, Gutschrift oder Anpassung auf null gesunken. | ||
| Warum das wichtig ist Der Timestamp dieses Ereignisses dient zur Berechnung der Days Sales Outstanding (DSO). Er kennzeichnet das Ende der Prozessinstanz. Woher beziehen Erkannt, wenn sich STATUS in AR_PAYMENT_SCHEDULES_ALL zu 'CL' (Closed) ändert. Erfassung Statusfeld vorher und nachher vergleichen Ereignistyp inferred | |||
| Rechnung erstellt | Diese Aktivität kennzeichnet die erstmalige Erstellung des Rechnungssatzes im System. Erfasst wird der Timestamp, zu dem der Transaktionskopf erstmals in den Oracle-Receivables-Tabellen gespeichert wird. | ||
| Warum das wichtig ist Legt den Beginn des Prozesslebenszyklus und die Grundlage für die Berechnung des Forderungsalters fest. Unverzichtbar für die Berechnung der gesamten Durchlaufzeit und der Zeit bis zum Versand. Woher beziehen Abgeleitet aus der Tabelle RA_CUSTOMER_TRX_ALL anhand der Spalte CREATION_DATE oder TRX_DATE. Erfassung Erfasst, wenn der Transaktionsdatensatz eingefügt wird Ereignistyp explicit | |||
| Rechnung fertiggestellt | Zeigt an, dass die Rechnungserstellung abgeschlossen und die Rechnung zur Verarbeitung, zum Druck und zur Buchung bereit ist. Dies geschieht, wenn sich der Transaktionsstatus von unvollständig zu vollständig ändert. | ||
| Warum das wichtig ist Unterscheidet zwischen der Entwurfszeit und der Verarbeitungszeit. Verzögerungen an dieser Stelle weisen auf Engpässe bei der internen Rechnungserstellung hin. Woher beziehen Erkannt, wenn COMPLETE_FLAG in RA_CUSTOMER_TRX_ALL auf 'Y' wechselt. Erfassung Statusfeld vorher und nachher vergleichen Ereignistyp inferred | |||
| Rechnung versandt | Bezeichnet die Übermittlung der Rechnung an den Kunden per Post, E-Mail oder XML. Damit wird die Übergabe vom Unternehmen an den Kunden erfasst. | ||
| Warum das wichtig ist Wichtig für die Messung der Rechnungsversandleistung. Die Zeitspanne zwischen Erstellung und Versand verzögert unmittelbar den Forderungseinzug. Woher beziehen Abgeleitet aus PRINTING_ORIGINAL_DATE in RA_CUSTOMER_TRX_ALL oder aus bestimmten Protokollen im Oracle Collaboration Messaging Framework, wenn XML verwendet wird. Erfassung Statusfeld vorher und nachher vergleichen Ereignistyp inferred | |||
| Teilzahlung gebucht | Tritt ein, wenn eine Zahlung auf die Rechnung angerechnet wird, der Betrag jedoch unter dem gesamten offenen Saldo liegt. Die Rechnung bleibt mit einem verringerten Saldo offen. | ||
| Warum das wichtig ist Eine hohe Häufigkeit weist auf ein fragmentiertes Zahlungsverhalten hin (KPI für die Häufigkeit von Teilzahlungen) und erhöht den Abstimmungsaufwand. Woher beziehen Stammt aus AR_RECEIVABLE_APPLICATIONS_ALL, wenn STATUS = 'APP' und AMOUNT_APPLIED < AMOUNT_DUE_REMAINING gilt. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Vollständige Zahlung eingegangen | Tritt ein, wenn eine Zahlung den Rechnungssaldo auf null reduziert. Dies ist das zentrale Erfolgskriterium für den Forderungseinzug. | ||
| Warum das wichtig ist Wichtig für die Analyse von Skontozahlungen. Anhand des Zeitpunkts lässt sich feststellen, ob die Zahlung innerhalb der Skontofrist eingegangen ist. Woher beziehen Stammt aus AR_RECEIVABLE_APPLICATIONS_ALL, wenn STATUS = 'APP' gilt und AMOUNT_DUE_REMAINING anschließend 0 beträgt. Erfassung Durch Vergleich der Felder X und Y ableiten Ereignistyp calculated | |||
| Gutschrift ausgestellt | Erfasst die Erstellung einer Gutschrift, die auf die Rechnung angerechnet wird. Sie verringert den offenen Betrag, häufig als Reaktion auf einen Streitfall oder eine Rücksendung. | ||
| Warum das wichtig ist Erfasst die Nacharbeitsquote bei Gutschriften und Erlösschmälerungen. Häufige Gutschriften weisen auf systematische Fehler bei der Rechnungsstellung hin. Woher beziehen Stammt aus RA_CUSTOMER_TRX_ALL, wenn TRX_TYPE den Wert Credit Memo hat und RELATED_CUSTOMER_TRX_ID mit der Rechnung übereinstimmt. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Kontoauszug abgeglichen | Zeigt an, dass die auf die Rechnung angerechnete Zahlung mit einer Position auf dem Kontoauszug abgeglichen wurde. Damit ist bestätigt, dass das Geld tatsächlich auf dem Bankkonto eingegangen ist. | ||
| Warum das wichtig ist Misst die Automatisierung der Zahlungseingangszuordnung. Die Zeitspanne zwischen Zahlungsbuchung und Bankabgleich entspricht noch nicht bestätigten Zahlungseingängen. Woher beziehen Über die Abstimmungsreferenz aus AR_CASH_RECEIPTS_ALL mit CE_STATEMENT_LINES (Cash Management) verknüpft. Erfassung Statusfeld vorher und nachher vergleichen Ereignistyp inferred | |||
| Rechnung abgeschrieben | Eine besondere Art der Anpassung: Der verbleibende Saldo gilt als uneinbringlich und wird als Forderungsausfall abgeschrieben. Dies ist ein negativer Endzustand. | ||
| Warum das wichtig ist Wichtig für die Überwachung der finanziellen Gesundheit. So lässt sich die operative Effizienz (Zahlungsgeschwindigkeit) von Problemen mit der Kreditwürdigkeit unterscheiden. Woher beziehen Stammt aus AR_ADJUSTMENTS_ALL, wenn die Anpassungsart als 'Write-off' klassifiziert oder einem Forderungsausfallkonto zugeordnet ist. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Rechnung angepasst | Erfasst manuelle Anpassungen des Rechnungssaldos, etwa geringfügige Abschreibungen oder Währungsanpassungen, die sich von Gutschriften unterscheiden. | ||
| Warum das wichtig ist Hilft, Erlösschmälerungen und nicht standardisierte Prozesspfade zu erkennen, bei denen Salden ohne Zahlung ausgeglichen werden. Woher beziehen Stammt aus der Tabelle AR_ADJUSTMENTS_ALL, die mit der Rechnung verknüpft ist. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Rechnung im Hauptbuch gebucht | Erfasst, wann die Buchungen zur Rechnung abgeschlossen und in das Hauptbuch übertragen werden. Dies unterstützt die Einhaltung finanzieller Vorgaben und die Vorbereitung des Periodenabschlusses. | ||
| Warum das wichtig ist Verzögerungen wirken sich zwar nicht auf die Kundensicht aus, beeinträchtigen aber den Finanzabschluss und die fristgerechte Berichterstattung. Woher beziehen Abgeleitet aus GL_DATE in der Tabelle RA_CUST_TRX_LINE_GL_DIST_ALL. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Streitfall eröffnet | Kennzeichnet den Beginn eines formellen Streitfalls zur Rechnung. Die regulären Einziehungsmaßnahmen werden ausgesetzt, während der Sachverhalt geprüft wird. | ||
| Warum das wichtig ist Wichtiger Hinweis auf Engpässe. Eine hohe Streitfallquote deutet auf vorgelagerte Qualitätsprobleme bei der Leistungserbringung oder der Rechnungsgenauigkeit hin. Woher beziehen Erkannt anhand von Datensätzen in RA_CM_REQUESTS_ALL oder bestimmten Workflows für Gutschriftsanträge, die mit der Rechnung verknüpft sind. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Streitfall geklärt | Kennzeichnet den Abschluss der Streitfallprüfung. Das Ergebnis kann die Genehmigung einer Gutschrift (berechtigter Streitfall) oder die Ablehnung des Antrags (unberechtigter Streitfall) sein. | ||
| Warum das wichtig ist Erforderlich für die Berechnung der durchschnittlichen Klärungszeit von Streitfällen. Lange Klärungszeiten beeinträchtigen die Kundenzufriedenheit und die Days Sales Outstanding. Woher beziehen Abgeleitet aus der Statusänderung zu 'APPROVED' oder 'REJECTED' in RA_CM_REQUESTS_ALL. Erfassung Statusfeld vorher und nachher vergleichen Ereignistyp inferred | |||
| Zahlungserinnerung versandt | Erfasst den Versand eines Mahnschreibens oder einer Zahlungserinnerung an den Kunden. Dieses Ereignis wird vom Modul Advanced Collections erzeugt. | ||
| Warum das wichtig ist Wichtig für die Analyse der Wirksamkeit der Einziehungsstrategie. Der Abgleich mit Zahlungseingängen zeigt, mit welchen Erinnerungsstrategien Forderungen am schnellsten beglichen werden. Woher beziehen In den Tabellen IEX_DUNNING oder IEX_STRATEGY_WORK_ITEMS zum Kundenkonto zu finden. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
| Zahlungszusage eingegangen | Erfasst die Zusage des Kunden, einen bestimmten Betrag bis zu einem festgelegten Datum zu zahlen. In der Regel trägt ein Mitarbeitender im Forderungseinzug die Zusage während eines Kundengesprächs manuell ein. | ||
| Warum das wichtig ist Wichtig für die Analyse des Zahlungsverhaltens von Kunden. Nicht eingehaltene Zusagen weisen auf ein hohes Kreditrisiko und mögliche künftige Forderungsausfälle hin. Woher beziehen Stammt aus der Tabelle IEX_PROMISE_DETAILS im Collections-Modul. Erfassung Erfasst, wenn Transaktion X ausgeführt wird Ereignistyp explicit | |||
Anleitungen zur Datenextraktion
Schritte
Öffnen Sie die Oracle BI Cloud Connector (BICC) Console. Navigieren Sie zum Bereich Manage Offerings and Data Stores.
Richten Sie die Speicherverbindung ein. Stellen Sie sicher, dass eine gültige Verbindung zu Oracle Universal Content Management (UCM) oder einem externen Object Storage wie OCI Object Storage besteht. Dort werden die extrahierten CSV- oder Parquet-Dateien abgelegt.
Wählen Sie das Financials-Angebot aus. Suchen Sie das Financials-Angebot, um auf die View Objects für die Debitorenbuchhaltung zuzugreifen.
Wählen und konfigurieren Sie View Objects (VOs). Wählen Sie die benötigten Public View Objects (PVOs) aus, um das Event Log zu erstellen. Dazu gehören:
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionHeaderExtractPVO (Rechnungsköpfe)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionLineExtractPVO (Rechnungspositionen)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.ReceiptApplicationExtractPVO (Zahlungen und Gutschriftenzuordnungen)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.AdjustmentExtractPVO (Anpassungen und Forderungsabschreibungen)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.PromiseDetailExtractPVO (Zahlungszusagen)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.StrategyWorkItemExtractPVO (Mahnungen und Zahlungserinnerungen)
Legen Sie Filterkriterien fest. Richten Sie unter Manage Extract Schedules oder in der PVO-Konfiguration einen Filter für CreationDate oder LastUpdateDate ein, um Daten für den gewünschten Analysezeitraum zu extrahieren, zum Beispiel für die letzten 12 Monate.
Planen Sie die Extraktion. Richten Sie einen täglichen Job ein. Wählen Sie nach dem ersten vollständigen Ladevorgang Incremental Load, damit anschließend nur geänderte Daten abgerufen werden.
Laden Sie die Dateien herunter und übernehmen Sie die Daten. Verwenden Sie ein automatisiertes Skript oder Integrationstool, um die Dateien aus UCM oder Object Storage abzurufen und in die Staging-Tabellen Ihres Data Warehouse zu laden, zum Beispiel STG_AR_TRX_HEADER und STG_AR_APPLICATIONS.
Wenden Sie die Transformationslogik an. Führen Sie das im Abschnitt Query bereitgestellte SQL-Skript für Ihre Staging-Tabellen aus, um die relationalen Daten in das Format des ProcessMind-Event-Logs zu überführen.
Prüfen Sie die Datentypen. Stellen Sie sicher, dass Datumsfelder in Datetime-Objekte umgewandelt werden und numerische Beträge bei der Transformation korrekt mit Dezimalstellen verarbeitet werden.
Exportieren Sie die Daten als CSV oder Parquet. Exportieren Sie das fertige Ergebnis aus Ihrem Data Warehouse in eine einzelne Datei.
Laden Sie die Datei in ProcessMind hoch. Ordnen Sie InvoiceNumber der Case-ID, ActivityName der Aktivität und EventStartDateTime dem Timestamp zu.
Konfiguration
- Empfohlene Extraktionshäufigkeit: täglich (inkrementell), damit aktuelle Statusänderungen erfasst werden.
- Erster Ladevorgang: Wählen Sie beim ersten Durchlauf „Full Extract“ und wechseln Sie anschließend zu „Incremental“, basierend auf Last Update Date.
- Wichtige PVOs: TransactionHeaderExtractPVO, ReceiptApplicationExtractPVO, AdjustmentExtractPVO, StrategyWorkItemExtractPVO.
- Datumsfilter: Begrenzen Sie das Datenvolumen mit Filtern wie CreationDate >= '202X-01-01'.
- Abrufgröße: Standardmäßig meist 50000 Zeilen. Passen Sie den Wert bei einem UCM-Download an die verfügbare Netzwerkbandbreite an.
- Primärschlüssel: Stellen Sie sicher, dass Ihr nachgelagertes Data Warehouse Upserts anhand der PVO-Primärschlüssel verarbeitet, üblicherweise CustomerTrxId, ReceivableApplicationId usw. So vermeiden Sie doppelte Zeilen.
- Audit-Verlauf: Standard-PVOs in BICC erfassen den aktuellen Status. Für genaue historische Timestamps von Statusänderungen wie „Streitfall eröffnet“ müssen Sie gegebenenfalls Audit Policies in Fusion aktivieren und Audit View Objects extrahieren, sofern die Transaktionstabellen den Verlauf nicht speichern.
Beispielabfrage sql
/*
Transformation Script for Oracle BICC Data
Assumes raw BICC PVO CSVs are loaded into a SQL Staging Area with tables named:
- STG_AR_TRX_HEADER (TransactionHeaderExtractPVO)
- STG_AR_APPLICATIONS (ReceiptApplicationExtractPVO)
- STG_AR_ADJUSTMENTS (AdjustmentExtractPVO)
- STG_IEX_PROMISES (PromiseDetailExtractPVO)
- STG_IEX_STRATEGY (StrategyWorkItemExtractPVO)
- STG_CE_STMTS (BankStatementLineExtractPVO - Optional/Advanced)
*/
WITH Base_Log AS (
/* 1. Invoice Created */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Created' AS ActivityName,
CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
(Quantity * UnitSellingPrice) AS InvoiceAmount,
TrxClass AS TransactionType,
CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE TrxClass IN ('INV', 'DM')
UNION ALL
/* 2. Invoice Completed */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
TrxDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE CompleteFlag = 'Y'
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 3. Invoice Dispatched */
/* Using PrintingOriginalDate as proxy for dispatch */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
PrintingOriginalDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE PrintingOriginalDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
GlDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
'System' AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE GlDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 5. Payment Reminder Sent */
/* Links via Customer or Account, mapped back to Trx via Collections Strategy logic */
/* Simplified join assumption based on Trx Id availability in Work Item */
SELECT
H.TrxNumber AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
W.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
H.TrxClass AS TransactionType,
W.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_IEX_STRATEGY W
JOIN STG_AR_TRX_HEADER H ON W.ObjectPk1 = H.CustomerTrxId
WHERE W.WorkItemTemplateName LIKE '%Reminder%'
UNION ALL
/* 6. Promise to Pay Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
P.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
P.PromiseAmount AS InvoiceAmount,
H.TrxClass AS TransactionType,
P.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_IEX_PROMISES P
JOIN STG_AR_TRX_HEADER H ON P.CustTrxId = H.CustomerTrxId
UNION ALL
/* 7. Dispute Case Opened */
/* Triggered when dispute amount is updated/created */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
DisputeDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL
UNION ALL
/* 8. Dispute Resolved */
/* Approximated by update date when dispute amount returns to 0 after being positive */
/* Note: Accurate dispute history requires Audit Trail extraction. This is a best-effort proxy based on header state. */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL AND DisputeAmount = 0
UNION ALL
/* 9. Credit Memo Issued (Applied) */
SELECT
H.TrxNumber AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CM' -- Credit Memo application
UNION ALL
/* 10. Partial Payment Posted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Partial Payment Posted' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND (H.AmountDueRemaining > 0) -- Invoice still has balance
UNION ALL
/* 11. Full Payment Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Full Payment Received' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND H.AmountDueRemaining = 0 -- Invoice fully paid
UNION ALL
/* 12. Bank Statement Matched */
/* Requires joining Receipt Application -> Cash Receipt -> Bank Statement Line */
/* Placeholder logic assuming availability of Bank Statement PVO data */
SELECT
H.TrxNumber AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
BSL.StatementDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
BSL.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
BSL.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
-- Join to Receipt then to Bank Stmt would happen here
JOIN STG_CE_STMTS BSL ON APP.CashReceiptId = BSL.ReferenceId -- Simplified Join
WHERE APP.ApplicationType = 'CASH'
UNION ALL
/* 13. Invoice Adjusted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Adjusted' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType != 'WRITE_OFF'
UNION ALL
/* 14. Invoice Written Off */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Written Off' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType = 'WRITE_OFF'
UNION ALL
/* 15. Invoice Cleared */
/* The moment the invoice balance hits 0 */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE AmountDueRemaining = 0
)
SELECT
InvoiceNumber,
ActivityName,
EventStartDateTime,
SourceSystem,
GETDATE() AS LastDataUpdate,
BusinessUnit,
CustomerName,
Currency,
InvoiceAmount,
TransactionType,
UserName,
IsAutomated
FROM Base_Log
WHERE EventStartDateTime IS NOT NULL
ORDER BY InvoiceNumber, EventStartDateTime Schritte
Melden Sie sich bei Oracle Fusion Applications an: Navigieren Sie zu Tools > Reports and Analytics. Klicken Sie auf Browse Catalog, um die Oracle-BI-Publisher-Oberfläche zu öffnen.
Erstellen Sie ein Datenmodell: Klicken Sie oben links auf New und wählen Sie Data Model. In diesem Container legen Sie die SQL-Extraktionslogik fest.
Definieren Sie einen SQL-Datensatz: Klicken Sie im Baum Data Model links auf Data Sets und wählen Sie dann New Data Set > SQL Query.
Konfigurieren Sie die Datenquelle: Geben Sie dem Datensatz einen Namen, zum Beispiel
ProcessMining_AR. Wählen SieApplicationDB_FSCM(Financials Supply Chain Management) als Datenquelle. Damit erhalten Sie Zugriff auf die erforderlichen AR- und RA-Tabellen.Fügen Sie die Abfrage ein: Kopieren Sie das vollständige SQL-Skript aus dem nachfolgenden Abschnitt Query und fügen Sie es in das Textfeld SQL Query ein. Ändern Sie die Kernlogik nur, wenn Sie bestimmte Flexfields (DFFs) umbenennen müssen.
Legen Sie Parameter fest: Die Abfrage enthält den Platzhalter
:p_start_date, um nach dem Erstellungsdatum der Transaktion zu filtern. Erstellen Sie im Tab Parameters des Datenmodells einen neuen Parameter namensp_start_date, wählen Sie als Datentyp Date und legen Sie einen Standardwert fest, zum Beispiel01-01-2023.Zeigen Sie die Daten an: Klicken Sie auf den Tab Data, geben Sie ein gültiges Datum für den Parameter ein und klicken Sie auf View. Prüfen Sie, ob die Ausgabe Zeilen mit Spalten wie
InvoiceNumber,ActivityNameundEventStartDateTimeenthält.Speichern Sie das Datenmodell: Speichern Sie das Objekt unter Shared Folders > Benutzerdefiniert, zum Beispiel unter
/Shared Folders/Custom/ProcessMining/AR_Extract_DM.Planen Sie den Export: Klicken Sie für den Export großer Datenmengen auf Create Report und verwenden Sie dieses Datenmodell. Prüfen Sie im Report-Editor, ob das Layout eine einfache Tabelle ist, und speichern Sie den Report. Führen Sie ihn anschließend über den Scheduler aus und geben Sie die Daten als CSV oder XML aus.
Formatieren Sie die Ausgabe: Laden Sie die Ausgabedatei herunter. Achten Sie bei CSV-Dateien auf ein einheitliches Datumsformat, vorzugsweise ISO 8601. Laden Sie die Datei in ProcessMind hoch und ordnen Sie
InvoiceNumberder Case-ID,ActivityNameder Aktivität undEventStartDateTimedem Timestamp zu.
Konfiguration
- Datenquelle: Verwenden Sie
ApplicationDB_FSCM, um auf die Financials-Tabellen zuzugreifen. - Datumsfilter: Die Abfrage verwendet
ra_customer_trx_all.creation_date >= :p_start_date. Konfigurieren Sie den Filter für einen rollierenden Zeitraum, zum Beispiel die letzten 12 Monate. - Leistung: Bei Datensätzen mit mehr als 100,000 Rechnungen können Sie beim Testen ein
ROWNUM-Limit hinzufügen oder die Daten monatsweise extrahieren. - Filter für Geschäftseinheiten: Wenn Ihre Organisation mehrere Geschäftseinheiten umfasst und Sie nur eine davon benötigen, entfernen Sie den Kommentar vor der Zeile
AND trx.org_id = ...in denWhere-Klauseln. - Benutzernamen: Die Abfrage löst die Benutzer-IDs aus
CREATED_BYmithilfe vonFND_USERin Benutzernamen auf. Stellen Sie sicher, dass das Extraktionskonto Leseberechtigung fürFND_USERhat. - Advanced Collections: Die Aktivitäten „Zahlungserinnerung gesendet“ und „Zahlungszusage eingegangen“ verwenden Tabellen aus dem Modul IEX (Advanced Collections). Wenn Sie dieses Modul nicht einsetzen, liefern diese Abfrageabschnitte keine Zeilen.
Beispielabfrage sql
/* 1. Invoice Created */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Created' AS ActivityName,
trx.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 2. Invoice Completed */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
trx.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
trx.complete_flag = 'Y'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 3. Invoice Dispatched */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
COALESCE(trx.printing_original_date, trx.printing_last_printed, trx.last_update_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
(trx.printing_original_date IS NOT NULL OR trx.printing_count > 0)
AND trx.creation_date >= :p_start_date
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
MAX(dist.gl_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_line_gl_dist_all dist ON trx.customer_trx_id = dist.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
WHERE
dist.account_class = 'REC'
AND dist.posting_control_id != -3
AND trx.creation_date >= :p_start_date
GROUP BY
trx.trx_number,
hou.name,
party.party_name,
trx.invoice_currency_code,
ps.amount_due_original,
type.name
UNION ALL
/* 5. Payment Reminder Sent (Advanced Collections) */
SELECT
trx.trx_number AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
dun.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
iex_dunning_transactions dun
JOIN ar_payment_schedules_all ps ON dun.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON dun.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 6. Promise to Pay Received */
SELECT
trx.trx_number AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
pp.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
iex_promise_details pp
JOIN ar_payment_schedules_all ps ON pp.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON pp.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 7. Dispute Case Opened */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
req.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 8. Dispute Resolved */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
req.last_update_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.last_updated_by = u.user_id
WHERE
req.status_code IN ('APPROVED', 'REJECTED')
AND trx.creation_date >= :p_start_date
UNION ALL
/* 9. Credit Memo Issued */
SELECT
trx.trx_number AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
cm.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all cm
JOIN ra_customer_trx_all trx ON cm.previous_customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON cm.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 10 & 11. Partial and Full Payment */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN ps.status = 'CL' AND app.amount_applied = app.amount_applied_from THEN 'Full Payment Received'
WHEN ps.status = 'CL' AND ps.amount_due_remaining = 0 AND app.application_rule = '60' THEN 'Full Payment Received'
ELSE 'Partial Payment Posted'
END AS ActivityName,
app.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_receivable_applications_all app
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON app.created_by = u.user_id
WHERE
app.status = 'APP'
AND app.application_type = 'CASH'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 12. Bank Statement Matched */
SELECT
trx.trx_number AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
recon.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ce_statement_reconcils_all recon
JOIN ar_cash_receipt_history_all crh ON recon.reference_id = crh.cash_receipt_history_id
JOIN ar_cash_receipts_all cr ON crh.cash_receipt_id = cr.cash_receipt_id
JOIN ar_receivable_applications_all app ON cr.cash_receipt_id = app.cash_receipt_id
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON recon.created_by = u.user_id
WHERE
recon.status_flag = 'M'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 13 & 14. Invoice Adjusted and Written Off */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN adj.adjustment_type = 'W' THEN 'Invoice Written Off'
ELSE 'Invoice Adjusted'
END AS ActivityName,
adj.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_adjustments_all adj
JOIN ar_payment_schedules_all ps ON adj.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON adj.created_by = u.user_id
WHERE
adj.status = 'A'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 15. Invoice Cleared (Final Close) */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
ps.gl_date_closed AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ar_payment_schedules_all ps
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
WHERE
ps.status = 'CL'
AND ps.gl_date_closed IS NOT NULL
AND trx.creation_date >= :p_start_date Möchten Sie loslegen?
Wandeln Sie Ihre Finanzdaten in konkrete Erkenntnisse um, indem Sie dieses Template auf Ihre Oracle-Fusion-Umgebung anwenden. Unser Team unterstützt Sie dabei, Ihre spezifische Geschäftslogik den hier beschriebenen Standards zuzuordnen.
Beschleunigen Sie noch heute den Forderungseinzug
Senken Sie den DSO um 15 bis 20 Tage und schließen Sie Liquiditätslücken.
Keine Kreditkarte erforderlich. In 5 Minuten eingerichtet.