Uw Credit Management & Collections Data Template
Uw Credit Management & Collections Data Template
- Aanbevolen attributen voor uitgebreide analyse
- Belangrijkste activities om te volgen voor proces discovery
- Stapsgewijze begeleiding bij data-extractie
Credit Management & Collections Attributen
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de specifieke business event of task die op een bepaald moment binnen het credit management process plaatsvond. | ||
| Omschrijving Dit attribute beschrijft een enkele step in de invoice lifecycle, zoals 'Invoice Generated', 'Dunning Procedure Initiated' of 'Payment Received'. Elke activity vertegenwoordigt een distinct event dat de case vooruit beweegt. Het analyseren van de sequence en frequency van activities is de core van process mining. Het helpt de daadwerkelijke process flow te onthullen, bottlenecks te identificeren waar cases vastlopen, rework loops te detecteren waar activities worden herhaald, en het daadwerkelijke process te vergelijken met het designed of ideal process. De Activity Name is fundamenteel voor het bouwen van process maps en het berekenen van transition times tussen steps. Het belang Dit attribute definieert de steps in de process map, waardoor de visualization en analysis van de invoice lifecycle van start tot finish mogelijk is. Vindplaats Dit is een conceptual field afgeleid van verschillende business events binnen Oracle Fusion Financials, vaak geconstrueerd door transaction statuses, event dates of specifieke actions te mappen van modules zoals Receivables (AR) en Advanced Collections. Voorbeelden Factuur OpgesteldAanmaningsprocedure geïnitieerdBetaling OntvangenGeschil geregistreerd | |||
| Factuurnummer InvoiceNumber | De unieke identifier voor elke customer invoice, dienend als de primary case identifier voor het credit management process. | ||
| Omschrijving De Invoice Number is de centrale key die alle events en activities met betrekking tot een enkele receivable verbindt, van de aanmaak tot de uiteindelijke settlement of write-off. Het maakt een complete, end-to-end view van de invoice lifecycle mogelijk. In process mining analysis wordt dit attribute gebruikt om de journey van elke invoice te reconstrueren. Door alle gerelateerde activities onder één Invoice Number te groeperen, kunnen analisten process flows visualiseren, common en deviant paths identificeren en cycle times meten voor het hele process of specifieke stages, zoals dispute resolution of payment posting. Het belang Dit is de essential Case ID die alle gerelateerde process steps verbindt, waardoor de reconstruction en analysis van elke invoice's journey van issuance tot closure mogelijk is. Vindplaats Deze identifier is meestal te vinden in de tabel RA_CUSTOMER_TRX_ALL als TRX_NUMBER binnen Oracle Fusion Financials. Voorbeelden INV-1005679884321AR-2023-04-112 | |||
| Tijdstip Gebeurtenis EventTime | De precieze datum en tijd waarop de activity plaatsvond, dienend als de event's timestamp. | ||
| Omschrijving De Event Time, of timestamp, registreert het exacte moment dat een activity plaatsvond. Het is essentieel voor het chronologisch ordenen van events om een accurate process flow op te bouwen. Zonder accurate timestamps kan de sequence of events niet correct worden bepaald. In analysis wordt dit attribute gebruikt om durations en cycle times tussen activities te berekenen, wat critical is voor performance measurement. Het wordt bijvoorbeeld gebruikt om KPIs zoals Dispute Resolution Cycle Time of Invoice Payment Cycle Time te berekenen. Het maakt ook de analysis van process performance trends over verschillende time periods mogelijk. Het belang Deze timestamp is essentieel voor het ordenen van events, het berekenen van cycle times en durations, en het analyseren van process performance over tijd. Vindplaats Afgeleid van verschillende datumvelden in Oracle Fusion Financials-tabellen, zoals TRX_DATE in RA_CUSTOMER_TRX_ALL voor factuurcreatie of de creatiedatum van een collection action. Voorbeelden 2023-04-15T10:00:00Z2023-05-01T14:30:00Z2023-05-20T09:15:22Z | |||
| Bronsysteem SourceSystem | Het systeem waaruit de data afkomstig is. | ||
| Omschrijving Dit attribute identificeert de source application waar de event data werd vastgelegd. In een complex IT landscape kunnen meerdere systems betrokken zijn bij een enkele end-to-end process. Het specificeren van het source system is belangrijk voor data governance, troubleshooting en het begrijpen van de context van de data. Het helpt events van verschillende systems te differentiëren als ze worden gecombineerd tot een enkele process view, waardoor data lineage duidelijk wordt. Het belang Biedt duidelijkheid over de data origin, wat cruciaal is voor data validation, governance en het begrijpen van de technological context van het process. Vindplaats Dit is doorgaans een static value die wordt toegevoegd tijdens data extraction om de origin van de records te identificeren. Voorbeelden Oracle Fusion FinancialsOracle AROracle Collections | |||
| Laatste data-update LastDataUpdate | De timestamp die aangeeft wanneer de data voor dit event voor het laatst is vernieuwd of geëxtraheerd uit het bronsysteem. | ||
| Omschrijving Dit attribute markeert de datum en tijd van de meest recente data extraction. Het is een metadata field dat geen deel uitmaakt van het business process zelf maar cruciaal is voor het begrijpen van de freshness van de data die wordt geanalyseerd. Analysts gebruiken deze timestamp om te bevestigen dat zij werken met up-to-date information en om de cutoff point voor de data te begrijpen. Het is essentieel voor data governance en voor het beheren van user expectations over data currency in dashboards en reports. Het belang Geeft de actualiteit van de data aan, waardoor analisten en stakeholders op de hoogte zijn van de tijdigheid en relevantie van de data. Vindplaats Deze value wordt gegenereerd en gestempeld op elke record tijdens het data extraction and loading (ETL) process. Voorbeelden 2023-10-27T02:00:00Z2023-10-28T02:00:00Z | |||
| Aanmaningsniveau DunningLevel | De stage of het level van de dunning procedure die is toegepast op de invoice. | ||
| Omschrijving Dunning Level geeft de intensiteit van de incassoherinnering aan, die doorgaans in de loop van de tijd escaleert. Bijvoorbeeld, Level 1 kan een vriendelijke e-mailherinnering zijn, terwijl Level 3 een formele brief of een telefoongesprek kan zijn. Het analyseren van het proces per Dunning Level helpt de effectiviteit van de aanmaningsstrategie te beoordelen. Het Dunning Effectiveness Dashboard gebruikt deze attribute om conversiepercentages van elke dunning step naar betaling te visualiseren. Dit stelt de business in staat om te bepalen welke dunning actions het meest effectief zijn en om de timing en inhoud van herinneringen te optimaliseren om incasso's te maximaliseren. Het belang Trackt de escalation stage van collection efforts, wat critical is voor het evaluating van de effectiveness van de dunning strategy. Vindplaats Deze data wordt beheerd binnen de Oracle Advanced Collections module. Het kan worden gevonden in tables gerelateerd aan dunning history, zoals IEX_DUNNINGS. Voorbeelden Niveau 1: HerinneringNiveau 2: WaarschuwingNiveau 3: Laatste aanmaning | |||
| Factuurbedrag InvoiceAmount | Het totale factuurbedrag. | ||
| Omschrijving De Invoice Amount vertegenwoordigt de totale waarde van de goederen of services die aan de customer zijn gefactureerd. Dit is een critical financial attribute voor het begrijpen van de monetaire impact van het process. In analysis wordt Invoice Amount gebruikt om collection efforts te prioriteren, met een focus op high-value overdue invoices. Het wordt ook gebruikt om payment behaviors te analyseren op basis van transaction value en om de financial impact van write-offs te berekenen. Dashboards zoals de Invoice Write-Off Rate Analysis zijn afhankelijk van deze value om de omvang van financial losses te beoordelen. Het belang Biedt financiële context aan het process, waardoor prioritization van high-value invoices en analysis van de monetaire impact van process inefficiencies mogelijk is. Vindplaats Deze informatie kan worden afgeleid uit de tabel AR_PAYMENT_SCHEDULES_ALL, waarin het openstaande bedrag voor een factuur wordt opgeslagen. Voorbeelden 5000.001250.75250000.00 | |||
| Gebruiker User | De user of system ID die de activity heeft uitgevoerd. | ||
| Omschrijving Dit attribute identificeert de specifieke employee of automated system user die verantwoordelijk is voor het uitvoeren van een activity, zoals het goedkeuren van een credit limit, het boeken van een payment of het oplossen van een dispute. Het analyseren van activities per user is essentieel voor het begrijpen van workload distribution, individuele performance en compliance. Voor automated activities helpt het de involvement van system processes te tracken. Het kan ook worden gebruikt om training needs of potentiële fraudulent activity te identificeren door user behavior te monitoren. Het belang Wijs proces-activiteiten toe aan specifieke individuen of geautomatiseerde systemen, wat prestatie tracking, werklast analyse en auditing mogelijk maakt. Vindplaats Afkomstig uit de kolommen 'CREATED_BY' of 'LAST_UPDATED_BY' in diverse transactie- en historietabellen binnen Oracle Fusion Financials. Voorbeelden jsmithar_specialist_1SYSTEM_AUTOMATION | |||
| Incassomedewerker Collector | De naam of ID van de collections agent toegewezen aan de invoice. | ||
| Omschrijving De Collector is de persoon of het team dat verantwoordelijk is voor het beheren van de collection activities voor een achterstallige invoice. Deze assignment is een key step in de collections workflow. Dit attribute is cruciaal voor performance management en resource allocation binnen de collections department. Door outcomes per collector te analyseren, kunnen managers de collector effectiveness beoordelen, training needs identificeren en workloads in balans brengen. Het Collector Assignment Effectiveness dashboard is direct afhankelijk van dit attribute om success rates en cycle times te vergelijken tussen verschillende collectors. Het belang Maakt prestatieanalyse van individuele incasseerders of teams mogelijk, wat helpt bij het optimaliseren van resource allocatie en het verbeteren van de algehele incasso-efficiëntie. Vindplaats Deze informatie is meestal opgeslagen in de module Oracle Advanced Collections, vaak in tabellen zoals IEX_CASES_ALL_B of gerelateerde toewijzingstabellen. Voorbeelden John SmithJane DoeIncassoteam A | |||
| Klantnummer CustomerNumber | Een unieke identificatie voor de klant die aan de factuur is gekoppeld. | ||
| Omschrijving De Customer Number koppelt een invoice aan een specifieke customer account. Dit maakt segmentation en analysis van het krediet- en incassoproces mogelijk op basis van customer attributes. Door de Customer Number op te nemen, kunnen analisten onderzoeken of bepaalde customers consistent te laat betalen, meer disputes opwerpen of meer collection efforts vereisen. Deze information is van vitaal belang voor het creëren van customer-specifieke collection strategies, het aanpassen van credit terms en het identificeren van high-risk customer segments. Het ondersteunt direct analyses zoals de Invoice Write-Off Rate Analysis by Customer Segment. Het belang Maakt segmentatie van het proces per klant mogelijk, wat helpt bij het identificeren van patronen, risico's en kansen voor op maat gemaakte incassostrategieën. Vindplaats Meestal te vinden in de tabel RA_CUSTOMER_TRX_ALL als BILL_TO_CUSTOMER_ID, wat een koppeling vormt met HZ_CUST_ACCOUNTS. Voorbeelden CUST-0012389455ACME-CORP-US | |||
| Klantsegment CustomerSegment | De classification van de customer in een gedefinieerde group, zoals op basis van size, industry of strategische importance. | ||
| Omschrijving Customer Segment is een categorische attribute die klanten groepeert op basis van gedeelde kenmerken. Segmenten kunnen worden gedefinieerd door factoren zoals 'Strategic', 'SMB', 'Enterprise', of per branche zoals 'Manufacturing' of 'Retail'. Deze attribute is krachtig voor comparative analysis. Het stelt analisten in staat om procesprestaties te vergelijken tussen verschillende segmenten om bijvoorbeeld te zien of één segment een hoger percentage geschillen of een langere betalingscyclus heeft. Dit inzicht helpt bij het afstemmen van kredietbeleid en incassostrategieën op de specifieke behoeften en risico's van elk segment, ter ondersteuning van dashboards zoals de Invoice Write-Off Rate Analysis. Het belang Maakt krachtige comparative analysis mogelijk, en toont hoe procesprestaties en risico's variëren tussen verschillende klantgroepen. Vindplaats Vaak beheerd in customer master data (HZ_CUST_ACCOUNTS of gerelateerde tables) of afgeleid van customer attributes zoals revenue of industry. Voorbeelden Grote ondernemingMidden- en KleinbedrijfOverheidStrategische Partner | |||
| Vervaldatum DueDate | De datum waarop payment voor de invoice verschuldigd is. | ||
| Omschrijving De Due Date is een critical date attribute dat contractueel is overeengekomen voor payment. Het is de baseline waartegen de tijdigheid van payment wordt gemeten. Dit attribute is fundamenteel voor het identificeren van overdue invoices en het berekenen van het aantal dagen dat een invoice te laat is. Het is de primary input voor het bepalen wanneer dunning procedures moeten worden geïnitieerd en wordt gebruikt bij het berekenen van KPIs zoals Days Sales Outstanding (DSO). Het is ook essentieel voor het creëren van aging reports die outstanding debt classificeren. Het belang Dient als de basis voor het bepalen of een factuur achterstallig is, triggert incasso-activiteiten en maakt aging analysis mogelijk. Vindplaats Beschikbaar in de AR_PAYMENT_SCHEDULES_ALL tabel als DUE_DATE. Voorbeelden 2023-05-302023-06-152023-07-01 | |||
| Bedrijfseenheid BusinessUnit | De specifieke business unit of organizational entity die de invoice heeft uitgegeven. | ||
| Omschrijving In grote organisaties zijn operaties vaak verdeeld in meerdere business units. Deze attribute identificeert welke business unit is gekoppeld aan de factuur. Het analyseren van het proces per Business Unit maakt vergelijking van prestaties tussen verschillende delen van de organisatie mogelijk. Het kan inconsistenties in de toepassing van krediet- en incassobeleid benadrukken en onthullen welke business units effectiever zijn in het beheren van hun debiteuren. Dit helpt bij het delen van best practices en het standaardiseren van processen waar nodig. Het belang Maakt prestatievergelijking tussen verschillende organisatie-eenheden mogelijk, wat helpt bij het identificeren van best practices en verbeterpunten. Vindplaats Beschikbaar in de RA_CUSTOMER_TRX_ALL tabel via het ORG_ID field, dat koppelt aan de organisatiestructuur. Voorbeelden BU North AmericaBU EMEAGlobal Services Division | |||
| Betalingstermijnen PaymentTerms | De overeengekomen terms die specificeren wanneer payment verschuldigd is. | ||
| Omschrijving Payment Terms definiëren de voorwaarden waaronder een customer wordt geacht te betalen, bijvoorbeeld 'Net 30' of 'Net 60'. Deze terms worden gebruikt om de invoice due date te berekenen. Het analyseren van payment performance per payment term kan interessante patronen aan het licht brengen. Zo kunnen customers met kortere terms vaker te laat betalen. Deze information kan worden gebruikt om credit policies te herzien en te optimaliseren en om customers te segmenteren voor verschillende collection strategies. Het biedt waardevolle context voor het begrijpen waarom bepaalde invoices achterstallig worden. Het belang Biedt context over het overeengekomen payment schedule, waardoor analysis van payment behavior over verschillende credit terms mogelijk is. Vindplaats Dit is opgeslagen in de tabel RA_TERMS en gekoppeld aan de factuurtransactie. Voorbeelden Netto 30Netto 60Verval bij Ontvangst | |||
| Bewerkingstijd ProcessingTime | De tijdsduur die actief aan een activiteit is besteed. | ||
| Omschrijving Processing time meet de actieve werktijd voor een specifieke task, exclusief wachttijd of inactiviteit. Het wordt berekend als het verschil tussen de End Time en Start Time van een activity. Deze metric is van onschatbare waarde voor performance analysis, aangezien het helpt onderscheid te maken tussen tijd besteed aan actief werken aan een case en tijd besteed aan wachten tot er iets anders gebeurt. Het kan bijvoorbeeld inefficiënties in de 'Dispute Resolution' activity zelf benadrukken, los van de tijd dat het geschil wachtte op toewijzing. Dit ondersteunt dashboards zoals Collections Workflow Efficiency. Het belang Meet de werkelijke duur van activiteiten, en helpt inefficiënties binnen specifieke taken te identificeren in plaats van alleen de tijd ertussenin. Vindplaats Dit is een calculated metric, afgeleid door de StartTime van de EndTime af te trekken (EndTime - StartTime). Voorbeelden 864003600604800 | |||
| Dagen Achterstallig DaysOverdue | Het aantal dagen dat een invoice zijn due date is gepasseerd. | ||
| Omschrijving Deze calculated metric kwantificeert hoe laat een unpaid invoice is. Het wordt berekend als het verschil tussen de current date (voor open invoices) of de payment date (voor closed invoices) en de due date. Days Overdue is een critical measure voor aging analysis en het prioriteren van collection efforts. Het is de primary metric in het Overdue Invoice Aging & Status dashboard, waar invoices worden gegroepeerd in aging buckets (bijv. 1-30 dagen, 31-60 dagen). Dit helpt het collections team zich te focussen op de oudste en hoogste-risk debts. Het belang Kwantificeert de omvang van betalingsvertragingen, dienend als een core metric voor het prioriteren van incasso's en het uitvoeren van aging analysis. Vindplaats Dit is een calculated field. De logic is: CurrentDate - DueDate voor open invoices, of PaymentDate - DueDate voor closed invoices. Voorbeelden 1545920 | |||
| Datum Betalingsbelofte PromiseToPayDate | De datum waarop een customer heeft beloofd een payment te doen. | ||
| Omschrijving Tijdens incasso-activiteiten kan een klant zich ertoe verbinden een betaling te doen op een toekomstige datum. Deze 'Promise to Pay Date' wordt geregistreerd om deze verbintenis te volgen. Deze attribute is belangrijk voor het beheren van incassoworkflows en het evalueren van de betrouwbaarheid van klantverbintenissen. Door de Promise to Pay Date te vergelijken met de daadwerkelijke Payment Received date, kunnen incasseerders de succesratio van deze beloften beoordelen. Het helpt bij het nauwkeuriger voorspellen van de cashflow en bij het beslissen wanneer incassoinspanningen moeten worden geëscaleerd als een belofte wordt gebroken. Het belang Trackt customer payment commitments, wat helpt bij het forecasten van cash inflows en het managen van de effectiveness van collection negotiations. Vindplaats Opgeslagen in de Oracle Advanced Collections-module, waarschijnlijk in tabellen zoals IEX_PROMISES_T. Voorbeelden 2023-06-102023-06-252023-07-05 | |||
| Eindtijd EndTime | De timestamp die aangeeft wanneer een activity met een duration is voltooid. | ||
| Omschrijving Voor activities die een duidelijke start en einde hebben, legt deze attribute de voltooiingstijd vast. Hoewel veel events in process mining direct zijn, kunnen sommige, zoals 'Dispute Investigation', een bepaalde tijdsperiode beslaan. Een aparte End Time maakt een nauwkeurige berekening van de activiteitsverwerkingstijden mogelijk. Dit is nauwkeuriger dan het afleiden van de duur uit de starttijd van de volgende activiteit, vooral wanneer er sprake is van inactieve perioden. Het is cruciaal voor het analyseren van resourcebenutting en het identificeren van welke specifieke stappen de meeste tijd in beslag nemen binnen het proces. Het belang Maakt nauwkeurige berekening mogelijk van de duur van specifieke activiteiten, wat dieper inzicht biedt in knelpunten en resourcebenutting. Vindplaats Dit is vaak een conceptual attribute. Het kan afkomstig zijn van een 'last updated' timestamp of een specifieke 'close date' field in de source tables die overeenkomen met de activity. Voorbeelden 2023-04-15T11:30:00Z2023-05-02T09:00:00Z2023-05-21T16:45:00Z | |||
| Factuurstatus InvoiceStatus | De huidige status van de invoice in zijn lifecycle. | ||
| Omschrijving Invoice Status geeft een momentopname van de huidige positie van de factuur in het proces. Veelvoorkomende statussen zijn 'Open', 'Paid', 'Disputed', 'Past Due' of 'Written Off'. Deze attribute biedt een high-level overzicht van de status van debiteuren. In process mining is deze attribute nuttig voor het filteren van cases om zich te richten op specifieke populaties, zoals alle openstaande achterstallige facturen. Het is een belangrijke dimensie in het Overdue Invoice Aging & Status dashboard, en biedt directe zichtbaarheid van de huidige status van de factuurportfolio en helpt bij het prioriteren van incasso-activiteiten. Het belang Biedt een snel overzicht van de huidige status van een invoice, wat gemakkelijk filtering en prioritization van collection efforts mogelijk maakt. Vindplaats Meestal beschikbaar in de tabel AR_PAYMENT_SCHEDULES_ALL in een veld genaamd STATUS. Voorbeelden OpenGeslotenBetwistTer incasso | |||
| Factuurvaluta InvoiceCurrency | De valuta waarin het factuurbedrag luidt. | ||
| Omschrijving Dit attribute specificeert de currency van de invoice, zoals USD, EUR of GBP. In multinational organizations worden invoices vaak in verschillende currencies uitgegeven. Het analyseren van data met meerdere currencies vereist zorgvuldige handling. Dit attribute maakt filtering van de process view per currency mogelijk of het toepassen van de juiste exchange rates voor geconsolideerde financial reporting. Het zorgt ervoor dat monetary values correct worden geïnterpreteerd en dat comparisons of amounts worden gemaakt op like-for-like basis. Het belang Essentieel voor het correct interpreteren van financiële data in een multi-currency omgeving en het waarborgen van nauwkeurige financiële analyse. Vindplaats Typically found in the RA_CUSTOMER_TRX_ALL table as INVOICE_CURRENCY_CODE. Voorbeelden USDEURGBPJPY | |||
| Is afgeschreven IsWrittenOff | Een boolean flag die aangeeft of de factuur is afgeschreven als oninbare vordering. | ||
| Omschrijving Dit is een derived flag dat invoices identificeert die het bedrijf als oninbaar heeft beschouwd en heeft verwijderd uit zijn active receivables. Dit is doorgaans het final, en ongewenste, outcome voor een invoice. Dit attribute is essentieel voor het berekenen van de Invoice Write-Off Rate KPI en voor het geassocieerde analysis dashboard. Het stelt analysts in staat om de population of failed collections te isoleren om common characteristics te identificeren, zoals customer segment of invoice value, die geassocieerd kunnen worden met een higher risk of write-off. Deze insight wordt gebruikt om credit policies en collection strategies te verbeteren. Het belang Identificeert duidelijk gevallen van incassofalen, wat essentieel is voor het analyseren van hoofdoorzaken van oninbare vorderingen en het berekenen van afschrijvingspercentages. Vindplaats Dit is een calculated field, afgeleid door te controleren of een 'Invoice Written Off' activity bestaat voor de case of als de invoice status 'Written Off' is. Voorbeelden truefalse | |||
| Is te laat IsOverdue | Een boolean flag die aangeeft of de factuur de uiterste betaaldatum heeft overschreden. | ||
| Omschrijving Dit is een derived attribute dat een eenvoudige true of false indication geeft van de overdue status van een invoice. Het wordt doorgaans berekend door de current date (of de payment date) te vergelijken met de due date van de invoice. Deze flag is extremely useful voor filtering en segmentation in analysis. Het stelt analysts in staat om snel de population van overdue invoices te isoleren om hun process paths, de effectiveness van collection activities en andere characteristics te bestuderen. Het vereenvoudigt de creation van dashboards en KPIs gericht op het beheren van overdue debt, zoals het Overdue Invoice Aging & Status dashboard. Het belang Biedt een eenvoudige, duidelijke flag voor het identificeren en analyseren van alle achterstallige invoices, wat de primaire focus is van het collections process. Vindplaats Dit is een berekend veld. De logica is: IF CurrentDate > DueDate AND Status != 'Paid' THEN True ELSE False. Voorbeelden truefalse | |||
| Kredietlimietbedrag CreditLimitAmount | Het maximale credit bedrag dat is goedgekeurd voor de customer. | ||
| Omschrijving De Credit Limit Amount is de totale credit exposure die een bedrijf bereid is te hebben met een specifieke customer. Dit wordt bepaald tijdens het credit review process. Dit attribute is essentieel voor het Credit Limit Decision Impact dashboard. Door de goedgekeurde credit limit te correleren met daaropvolgend payment behavior en write-offs, kan het bedrijf de effectiveness van zijn credit risk policies beoordelen. Analysis kan aan het licht brengen of te hoge credit limits bijdragen aan hogere rates van bad debt, wat helpt bij het verfijnen van het credit approval process. Het belang Cruciaal voor het beoordelen van de effectiviteit van kredietrisicobeleid door de goedgekeurde kredietlimiet te correleren met betalingsuitkomsten en afschrijvingen. Vindplaats Dit wordt beheerd in Oracle Credit Management en is doorgaans opgeslagen in tabellen die gerelateerd zijn aan kredietprofielen van klanten, zoals HZ_CUST_PROFILE_AMTS. Voorbeelden 10000.0050000.00250000.00 | |||
| Reden geschil DisputeReason | De reden die de customer heeft opgegeven voor het betwisten van een invoice. | ||
| Omschrijving Wanneer een customer een invoice betwist, geven ze doorgaans een reason op, zoals 'Incorrect Pricing', 'Damaged Goods' of 'Duplicate Invoice'. Dit attribute legt die reason vast. Het analyseren van dispute reasons is key voor root cause analysis. Het helpt recurring problems te identificeren in upstream processes zoals order management of billing die leiden tot payment delays. Door de frequency van verschillende dispute reasons te categoriseren en te tracken, kan een business gerichte actions ondernemen om deze root causes te fixen, wat het goal van het verkorten van de Dispute Resolution Cycle Time ondersteunt. Het belang Helpt de hoofdoorzaken van factuurgeschillen te identificeren, waardoor proactieve verbeteringen aan upstream processen mogelijk worden om toekomstige geschillen te voorkomen. Vindplaats Deze informatie wordt doorgaans vastgelegd in de modules Oracle Advanced Collections of Oracle Channel Revenue Management wanneer geschillenbeheer is geformaliseerd. De data bevindt zich mogelijk in tabellen zoals AR_DISPUTE_HISTORY. Voorbeelden Onjuiste hoeveelheidPrijsafwijkingBeschadigde GoederenDienst Niet Geleverd | |||
Credit Management & Collections Activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Aanmaningsprocedure geïnitieerd | Vertegenwoordigt de formele start van het dunning process voor een achterstallige invoice, vaak gepaard gaand met het versturen van de eerste officiële dunning letter. Dit wordt doorgaans vastgelegd wanneer een dunning batch process draait en de invoice omvat. | ||
| Het belang Het tracken van deze activity is cruciaal voor het meten van dunning effectiveness en adherence to dunning policies. Het biedt een baseline om te meten hoe lang het duurt voordat dunning resulteert in een payment. Vindplaats Geregistreerd in de Oracle Advanced Collections module. De aanmaakdatum van een aanmaningsrecord in tabellen zoals IEX_DUNNINGS, gekoppeld aan de transaction ID, markeert deze gebeurtenis. Vastleggen Creatiedatum van de record in de IEX_DUNNINGS tabel geassocieerd met de factuur. Gebeurtenistype explicit | |||
| Betaling Ontvangen | Markeert de ontvangst van gelden van een klant, die mogelijk nog niet aan een specifieke factuur zijn toegewezen. Dit wordt vastgelegd wanneer een cash receipt transaction wordt aangemaakt in het systeem. | ||
| Het belang Dit is een major milestone in het collections process, wat aangeeft dat cash is ontvangen. De tijd tussen dit en payment application is een measure van internal processing efficiency. Vindplaats Expliciet vastgelegd vanuit de RECEIPT_DATE in de AR_CASH_RECEIPTS_ALL tabel. De ontvangst kan vervolgens worden gekoppeld aan de factuur waarop deze is toegepast via AR_RECEIVABLE_APPLICATIONS_ALL. Vastleggen RECEIPT_DATE uit AR_CASH_RECEIPTS_ALL, gekoppeld via applicatietabellen. Gebeurtenistype explicit | |||
| Betaling Toegepast | Vertegenwoordigt de toewijzing van een ontvangen payment aan een specifieke invoice, waardoor het openstaande saldo van de invoice wordt verminderd. Dit is de stap die een payment formeel koppelt aan een invoice. | ||
| Het belang Deze activity is critical voor het herkennen dat een invoice is betaald. Het is het ware end point voor de Days Sales Outstanding (DSO) calculation en payment posting cycle. Vindplaats Dit is een expliciet event dat wordt opgehaald uit de APPLY_DATE in de tabel AR_RECEIVABLE_APPLICATIONS_ALL, die een betaling koppelt aan een klanttransactie (factuur). Vastleggen APPLY_DATE uit AR_RECEIVABLE_APPLICATIONS_ALL voor de betreffende factuur. Gebeurtenistype explicit | |||
| Factuur afgeschreven | Vertegenwoordigt de formele beslissing om collection efforts te staken en het invoice amount als bad debt op te nemen. Dit is een expliciete financial transaction die het invoice balance naar nul aanpast. | ||
| Het belang Dit is een critical failure endpoint voor het collections process. Het analyseren van write-offs per customer segment, region of credit limit helpt credit policies en collection strategies te verfijnen om losses te minimaliseren. Vindplaats Expliciet vastgelegd vanuit de creatie van een aanpassing in de AR_ADJUSTMENTS_ALL tabel met een RECEIVABLES_TRX_ID die verwijst naar een oninbare vordering of afschrijving activity. Vastleggen Creatiedatum van een record in AR_ADJUSTMENTS_ALL met een afschrijving activity type. Gebeurtenistype explicit | |||
| Factuur Opgesteld | Markeert de aanmaak van het factuurtransactierecord in Oracle Fusion Financials. Dit is de officiële start van de levenscyclus van de factuur in de accounts receivable module en dient als het primaire startpunt voor analyse. | ||
| Het belang Dit is de critical start event voor de invoice journey. Alle subsequent cycle time calculations, zoals Days Sales Outstanding (DSO) en invoice payment cycle time, zijn afhankelijk van deze initial timestamp. Vindplaats Dit is een expliciet event dat wordt opgehaald uit de kolom CREATION_DATE of TRX_DATE in de tabel RA_CUSTOMER_TRX_ALL voor een specifiek TRX_NUMBER (factuurnummer). Vastleggen Event timestamp is de CREATION_DATE uit de RA_CUSTOMER_TRX_ALL tabel. Gebeurtenistype explicit | |||
| Vervaldatum Betaling Verstreken | Een berekend event dat optreedt wanneer de huidige datum de vervaldatum van de factuur overschrijdt zonder dat de factuur volledig is betaald. Dit event markeert de overgang van een factuur van de status 'lopend' naar 'achterstallig'. | ||
| Het belang Dit is een key milestone die collection en dunning processes triggert. Het analyseren van het volume en de value van invoices die hun due date passeren, is essentieel voor het beheren van working capital en het beoordelen van credit risk. Vindplaats Deze event wordt berekend door de current date van het system te vergelijken met de DUE_DATE in de AR_PAYMENT_SCHEDULES_ALL table voor invoices met een STATUS van 'OP' (Open). Vastleggen Berekend event: treedt op wanneer SYSDATE > AR_PAYMENT_SCHEDULES_ALL.DUE_DATE. Gebeurtenistype calculated | |||
| Actie van incasseerder voltooid | Vertegenwoordigt een handmatige action genomen door een collector, zoals het plaatsen van een telefoongesprek, het versturen van een email of het loggen van een interactienotitie. Deze worden gelogd als 'activities' of 'interactions' binnen de collections module. | ||
| Het belang Het monitoren van collector actions helpt de efficiëntie en effectiviteit van de handmatige incassoworkflow te meten. Het maakt analyse mogelijk van de frequentie van activities en de correlatie met betalingssucces. Vindplaats Vastgelegd vanuit interactie- of activity history-tabellen in Oracle Advanced Collections, zoals JTF_IH_ACTIVITIES, gekoppeld aan de klant en mogelijk de specifieke factuur. Vastleggen Creatie timestamp van records in JTF_IH_ACTIVITIES met een relevante uitkomst of reden code. Gebeurtenistype explicit | |||
| Betaalbelofte Aangemaakt | Vertegenwoordigt een formele overeenkomst die in het systeem is vastgelegd, waarbij een customer heeft beloofd op een specifieke datum een payment te doen. Dit is een key outcome van collection activities. | ||
| Het belang Het tracken van promises to pay en hun fulfillment rates is een key performance indicator voor collectors. Het helpt bij het forecasting van cash flow uit overdue receivables en het evaluating van collector effectiveness. Vindplaats Expliciet gecreëerd in Oracle Advanced Collections. De creatiedatum wordt vastgelegd vanuit de IEX_PROMISE_DETAILS tabel. Vastleggen Creatiedatum uit de IEX_PROMISE_DETAILS tabel voor de bijbehorende factuur. Gebeurtenistype explicit | |||
| Factuur afgesloten | Vindt plaats wanneer het openstaande saldo van de invoice nul wordt, hetzij door payment, credit memo application of adjustment. Dit markeert de succesvolle voltooiing van de invoice lifecycle. | ||
| Het belang Deze event dient als een primair succesvol end point voor het process. Het monitoren van de closure of invoices is fundamenteel voor het begrijpen van de overall health van de receivables portfolio. Vindplaats Afgeleid van een statuswijziging in de AR_PAYMENT_SCHEDULES_ALL tabel, waar STATUS verandert naar 'CL' (Gesloten). De timestamp is de LAST_UPDATE_DATE van deze wijziging. Vastleggen Detecteer wanneer AR_PAYMENT_SCHEDULES_ALL.STATUS 'CL' wordt voor de factuur. Gebeurtenistype inferred | |||
| Factuur Naar Klant Verzonden | Geeft aan dat de factuur formeel is geleverd aan de klant, elektronisch of via print. Dit event kan expliciet worden gelogd door een delivery module of worden afgeleid uit de afdrukdatum van de factuur. | ||
| Het belang Deze activity markeert de start van de payment term clock van de customer. Het tracken hiervan helpt bij het accuraat berekenen van overdue days en het analyseren van eventuele delays tussen invoice generation en customer notification. Vindplaats Kan worden vastgelegd vanuit de LAST_PRINTED_DATE in RA_CUSTOMER_TRX_ALL. Als alternatief kan het worden afgeleid uit integratielogs met e-mailbezorgsystemen of andere communicatieplatforms. Vastleggen Use LAST_PRINTED_DATE from RA_CUSTOMER_TRX_ALL or status from a delivery log. Gebeurtenistype inferred | |||
| Geschil geregistreerd | Geeft aan dat de klant de factuur formeel heeft betwist, gedeeltelijk of volledig. Dit wordt doorgaans vastgelegd door een statuswijziging op het betalingsschema van de factuur. | ||
| Het belang Deze activity is het startpunt voor het dispute resolution process. Het analyseren van de tijd van registration tot resolution is critical voor het identificeren van bottlenecks die cash collection vertragen. Vindplaats Afgeleid van een statuswijziging in de AR_PAYMENT_SCHEDULES_ALL tabel, waarbij het STATUS field verandert naar 'DS' (Betwist). De timestamp kan worden verkregen uit audit tabellen of de datum van de laatste update. Vastleggen Detecteer wanneer AR_PAYMENT_SCHEDULES_ALL.STATUS verandert naar 'DS' voor de factuur. Gebeurtenistype inferred | |||
| Geschil opgelost | Geeft aan dat een geregistreerd geschil is onderzocht en dat er een oplossing is bereikt. Dit wordt vastgelegd wanneer de betwiste status van de factuur wordt verwijderd. | ||
| Het belang Deze event markeert het einde van de dispute resolution cycle. De duration tussen 'Dispute Registered' en deze event is een key KPI voor het meten van operational efficiency en de impact ervan op cash flow. Vindplaats Afgeleid wanneer de STATUS in AR_PAYMENT_SCHEDULES_ALL verandert van 'DS' (Betwist) terug naar 'OP' (Open) of naar 'CL' (Gesloten) na een credit memo of aanpassing. Vastleggen Detecteer wanneer AR_PAYMENT_SCHEDULES_ALL.STATUS verandert van 'DS' naar een andere status. Gebeurtenistype inferred | |||
| Incassostrategie toegewezen | Vindt plaats wanneer een geautomatiseerde collection strategy wordt toegewezen aan de achterstallige invoice of customer. Dit definieert de reeks stappen en activities die het systeem of de collector zal volgen. | ||
| Het belang Deze event biedt insight in de automation van het collections process. Het analyseren welke strategies zijn toegewezen en hun outcomes helpt bij het optimaliseren van collection approaches voor verschillende customer segments. Vindplaats Geregistreerd binnen de Oracle Advanced Collections module. Dit wordt doorgaans gevonden door te kijken naar de creation date van een strategy assignment in tabellen zoals IEX_STRATEGIES of gerelateerde objects. Vastleggen Creatiedatum van de strategy work item in incassotabellen gekoppeld aan de klant of transactie. Gebeurtenistype explicit | |||
| Kredietbeoordeling voltooid | Vertegenwoordigt de voltooiing van een credit assessment voor de customer die gekoppeld is aan de invoice. Deze event wordt doorgaans afgeleid door de invoice creation date te koppelen aan de meest recente credit review completion date voor die customer account, wat een baseline biedt voor credit-related analysis. | ||
| Het belang Het analyseren van de tijd van kredietbeoordeling tot orderplaatsing helpt vertragingen in de eerste fasen van de order-to-cash cyclus te identificeren. Het is fundamenteel voor het meten van de Credit Approval Cycle Time KPI en het begrijpen van de impact van kredietbeslissingen. Vindplaats Afgeleid door het queryen van HZ_CREDIT_PROFILE.LAST_CREDIT_REVIEW_DATE voor de klant op de factuur (RA_CUSTOMER_TRX_ALL.BILL_TO_CUSTOMER_ID). De event timestamp is de LAST_CREDIT_REVIEW_DATE die voorafgaat aan de CREATION_DATE van de factuur. Vastleggen Koppel factuur aan de meest recente kredietbeoordelingsdatum van de klant vóór factuurcreatie. Gebeurtenistype inferred | |||
Extractie Guides
Stappen
- Toegang tot Oracle BI Publisher: Log in bij uw Oracle Fusion Financials-omgeving. Navigeer naar het gebied Rapporten en Analyses door op het Navigator-pictogram te klikken en vervolgens Tools > Reports and Analytics te selecteren.
- Een nieuw datamodel creëren: Klik in het paneel Rapporten en Analyses op de knop 'Browse Catalog'. Klik in de catalogus op het dropdownmenu 'New' en selecteer 'Data Model'.
- De SQL Query Dataset definiëren: Klik in de Data Model editor op het '+'-pictogram om een nieuwe dataset toe te voegen en selecteer 'SQL Query'.
- De databron configureren: Geef in het nieuwe dataset-venster uw dataset een beschrijvende naam, bijvoorbeeld 'CreditCollectionsEventLog'. Selecteer 'FSCM' of de juiste Oracle Fusion-applicatiedatabase als de databron. Stel het Type SQL in op 'Standard SQL'.
- De SQL Query invoeren: Kopieer de volledige SQL-query uit de sectie 'query' van dit document en plak deze in het tekstgebied van de SQL Query.
- Queryparameters definiëren: De query gebruikt parameters zoals
:P_START_DATEen:P_END_DATEom het datumbereik te filteren. BI Publisher detecteert deze automatisch. U kunt ze configureren als gebruiker-prompts, waarbij u hun datatypen instelt op 'Date'. - Het datamodel opslaan en testen: Sla het datamodel op in een gedeelde of aangepaste map. Om te controleren of de query werkt, navigeert u naar het tabblad 'Data', voert u voorbeeldparameterwaarden in (bijv. een recent datumbereik) en klikt u op 'View' om een voorbeeld van de output data te zien. Zorg ervoor dat alle kolommen correct verschijnen.
- Een nieuw rapport creëren: Navigeer terug naar de catalogus, klik op de 'New' dropdown en selecteer 'Report'. Selecteer in het dialoogvenster 'Create Report' de optie 'Use Data Model' en zoek het datamodel dat u zojuist hebt opgeslagen.
- Rapporteigenschappen configureren: In de rapporteditor is een eenvoudige tabelindeling voldoende voor data-extractie. Stel het standaard outputformaat in. Voor process mining is CSV het aanbevolen formaat. Klik hiervoor op 'View a List', zoek 'CSV' in de lijst 'Output Formats' en vink het vakje aan. U kunt andere formaten deselecteren om de gebruikerservaring te vereenvoudigen.
- Het rapport opslaan: Sla het rapport op in dezelfde map als uw datamodel.
- De extractie plannen: Om de extractie te automatiseren, kunt u het rapport plannen. Open het rapport, klik op 'Actions' en selecteer 'Schedule'. Configureer de frequentie van de planning (bijv. dagelijks), specificeer het outputformaat als CSV en definieer de afleverbestemming, zoals een content server directory of een externe server via FTP.
Configuratie
- Vereisten: De gebruiker die het rapport maakt en uitvoert, moet over de juiste BI-rollen (bijv. 'BI Administrator' of 'BI Author') en data security-machtigingen beschikken om toegang te krijgen tot de onderliggende Financials-tabellen (AR, IEX, HZ, JTF).
- Databron: De query moet worden uitgevoerd op de hoofddatabase van de applicatie, meestal 'FSCM' genaamd.
- Datumbereik Parameters: Het is essentieel om de parameters
:P_START_DATEen:P_END_DATEte gebruiken om het datavolume te beperken. Voor initiële tests gebruikt u een klein bereik, zoals één maand. Voor productieruns is een doorlopende periode van 3 tot 6 maanden gebruikelijk. - Filteren: Voor grote organisaties kunt u overwegen een parameter voor
BU_NAME(Business Unit Naam) toe te voegen aan deWHERE-clausule in deinvoices_basecommon table expression om data per business unit te verwerken. - Prestatieoverwegingen: De query koppelt meerdere grote transactionele tabellen. Het uitvoeren van een breed datumbereik zonder filters kan leiden tot lange uitvoeringstijden of timeouts in BI Publisher. Plan het rapport in te plannen tijdens daluren.
- Outputformaat: Zorg ervoor dat het standaard of geplande outputformaat CSV is. Dit levert een schoon, gescheiden bestand op dat gemakkelijk te gebruiken is door process mining tools. Controleer de CSV-outputeigenschappen om ervoor te zorgen dat de scheidingsteken en karaktercodering correct zijn ingesteld.
a Voorbeeldquery sql
WITH invoices_base AS (
SELECT
trx.customer_trx_id,
trx.trx_number AS InvoiceNumber,
hca.account_number AS CustomerNumber,
hcp.class_category || ':' || hcp.class_code AS CustomerSegment, -- Example of segment, may need adjustment
ps.amount_due_original AS InvoiceAmount,
coll.name AS Collector,
ps.due_date AS DueDate,
trx.creation_date AS InvoiceCreationDate,
trx.created_by AS InvoiceCreatedBy,
ps.payment_schedule_id
FROM
ra_customer_trx_all trx
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
JOIN hz_cust_accounts hca ON trx.bill_to_customer_id = hca.cust_account_id
JOIN hz_customer_profiles hcp ON hca.cust_account_id = hcp.cust_account_id AND hcp.site_use_id IS NULL
LEFT JOIN iex_delinquencies_all del ON ps.payment_schedule_id = del.payment_schedule_id
LEFT JOIN JTF_RS_RESOURCE_EXTNS_VL coll ON del.collector_id = coll.resource_id
WHERE
trx.creation_date BETWEEN TO_DATE(:P_START_DATE, 'YYYY-MM-DD') AND TO_DATE(:P_END_DATE, 'YYYY-MM-DD')
AND trx.complete_flag = 'Y'
AND ps.class = 'INV'
)
-- 1. Credit Review Completed
SELECT
ib.InvoiceNumber AS "InvoiceNumber",
'Credit Review Completed' AS "ActivityName",
cr.review_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber AS "CustomerNumber",
ib.CustomerSegment AS "CustomerSegment",
ib.InvoiceAmount AS "InvoiceAmount",
ib.Collector AS "Collector",
NULL AS "DunningLevel",
ib.DueDate AS "DueDate",
cr.created_by AS "User"
FROM
invoices_base ib
JOIN
hz_credit_reviews cr ON ib.CustomerNumber = (SELECT hca.account_number FROM hz_cust_accounts hca WHERE hca.cust_account_id = cr.cust_account_id)
WHERE cr.review_date = (SELECT MAX(cr_inner.review_date) FROM hz_credit_reviews cr_inner WHERE cr_inner.cust_account_id = cr.cust_account_id AND cr_inner.review_date < ib.InvoiceCreationDate)
UNION ALL
-- 2. Invoice Generated
SELECT
ib.InvoiceNumber,
'Invoice Generated' AS "ActivityName",
trx.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
trx.created_by AS "User"
FROM
invoices_base ib
JOIN ra_customer_trx_all trx ON ib.customer_trx_id = trx.customer_trx_id
UNION ALL
-- 3. Invoice Sent To Customer
SELECT
ib.InvoiceNumber,
'Invoice Sent To Customer' AS "ActivityName",
trx.last_printed_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
trx.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ra_customer_trx_all trx ON ib.customer_trx_id = trx.customer_trx_id
WHERE trx.last_printed_date IS NOT NULL
UNION ALL
-- 4. Payment Due Date Passed
SELECT
ib.InvoiceNumber,
'Payment Due Date Passed' AS "ActivityName",
ps.due_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
'SYSTEM' AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.due_date < SYSDATE AND ps.status = 'OP'
UNION ALL
-- 5. Dunning Procedure Initiated
SELECT
ib.InvoiceNumber,
'Dunning Procedure Initiated' AS "ActivityName",
dunn.dunning_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
TO_CHAR(dunn.dunning_level) AS "DunningLevel",
ib.DueDate,
dunn.created_by AS "User"
FROM
invoices_base ib
JOIN iex_dunning_transactions dunt ON ib.customer_trx_id = dunt.transaction_id
JOIN iex_dunnings dunn ON dunt.dunning_id = dunn.dunning_id
UNION ALL
-- 6. Collection Strategy Assigned
SELECT
ib.InvoiceNumber,
'Collection Strategy Assigned' AS "ActivityName",
strat.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
strat.created_by AS "User"
FROM
invoices_base ib
JOIN iex_strategy_work_items swi ON ib.payment_schedule_id = swi.payment_schedule_id
JOIN iex_strategies_vl strat ON swi.strategy_id = strat.strategy_id
UNION ALL
-- 7. Collector Action Completed
SELECT
ib.InvoiceNumber,
task_type.name AS "ActivityName",
task.actual_end_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
res.source_name AS "User"
FROM
invoices_base ib
JOIN jtf_task_references_b ref ON ib.customer_trx_id = ref.object_id AND ref.object_type_code = 'OKC_K_HEADER'
JOIN jtf_tasks_b task ON ref.task_id = task.task_id
JOIN jtf_task_types_vl task_type ON task.task_type_id = task_type.task_type_id
JOIN jtf_rs_resource_extns_vl res ON task.owner_id = res.resource_id
WHERE task.actual_end_date IS NOT NULL
UNION ALL
-- 8. Promise To Pay Created
SELECT
ib.InvoiceNumber,
'Promise To Pay Created' AS "ActivityName",
prom.creation_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
prom.created_by AS "User"
FROM
invoices_base ib
JOIN iex_promise_details prom ON ib.payment_schedule_id = prom.payment_schedule_id
UNION ALL
-- 9. Dispute Registered
SELECT
ib.InvoiceNumber,
'Dispute Registered' AS "ActivityName",
ps.dispute_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
ps.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.amount_in_dispute IS NOT NULL AND ps.dispute_date IS NOT NULL
UNION ALL
-- 10. Dispute Resolved
SELECT
ib.InvoiceNumber,
'Dispute Resolved' AS "ActivityName",
disp.resolution_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
disp.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_disputes_all disp ON ib.payment_schedule_id = disp.payment_schedule_id
WHERE disp.status = 'CLOSED' AND disp.resolution_date IS NOT NULL
UNION ALL
-- 11. Payment Received
SELECT
ib.InvoiceNumber,
'Payment Received' AS "ActivityName",
cr.receipt_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
cr.created_by AS "User"
FROM
invoices_base ib
JOIN ar_receivable_applications_all app ON ib.payment_schedule_id = app.applied_payment_schedule_id
JOIN ar_cash_receipts_all cr ON app.cash_receipt_id = cr.cash_receipt_id
WHERE app.status = 'APP'
UNION ALL
-- 12. Payment Applied
SELECT
ib.InvoiceNumber,
'Payment Applied' AS "ActivityName",
app.apply_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
app.created_by AS "User"
FROM
invoices_base ib
JOIN ar_receivable_applications_all app ON ib.payment_schedule_id = app.applied_payment_schedule_id
WHERE app.status = 'APP'
UNION ALL
-- 13. Invoice Closed
SELECT
ib.InvoiceNumber,
'Invoice Closed' AS "ActivityName",
ps.gl_date_closed AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
ps.last_updated_by AS "User"
FROM
invoices_base ib
JOIN ar_payment_schedules_all ps ON ib.payment_schedule_id = ps.payment_schedule_id
WHERE ps.status = 'CL' AND ps.gl_date_closed IS NOT NULL
UNION ALL
-- 14. Invoice Written Off
SELECT
ib.InvoiceNumber,
'Invoice Written Off' AS "ActivityName",
adj.apply_date AS "EventTime",
'Oracle Fusion Financials' AS "SourceSystem",
SYSDATE AS "LastDataUpdate",
ib.CustomerNumber,
ib.CustomerSegment,
ib.InvoiceAmount,
ib.Collector,
NULL AS "DunningLevel",
ib.DueDate,
adj.created_by AS "User"
FROM
invoices_base ib
JOIN ar_adjustments_all adj ON ib.customer_trx_id = adj.customer_trx_id
JOIN ar_receivables_trx_all rt ON adj.receivables_trx_id = rt.receivables_trx_id
WHERE rt.name = '[Your Write-Off Activity Name]' -- Example: 'Bad Debt Write-off'