Je kredietbeheer en incasso datatemplate
Je kredietbeheer en incasso datatemplate
- Aanbevolen attributen voor grondige analyse
- Belangrijkste activiteiten om te volgen voor process discovery
- Stapsgewijze hulp bij data-extractie
Kredietbeheer en incasso Attributen
| Naam | Omschrijving | ||
|---|---|---|---|
| Activiteitsnaam ActivityName | De naam van de specifieke business gebeurtenis of taak die op een bepaald moment binnen het credit management process plaatsvond. | ||
| Omschrijving Dit attribuut beschrijft een enkele step in de invoice levenscyclus, zoals 'Invoice Generated', 'Dunning Procedure Initiated' of 'Payment Received'. Elke activity vertegenwoordigt een distinct gebeurtenis dat de case vooruit beweegt. Het analyseren van de sequence en frequency van activiteiten vormt de basis van process mining. Het helpt de daadwerkelijke processtroom te zichtbaar maken, knelpunten te vinden waar cases vastlopen, herstelwerk-loops te detecteren waar activiteiten worden herhaald, en het daadwerkelijke process te vergelijken met het designed of ideal proces. De activiteitsnaam is onmisbaar voor het bouwen van procesmaps en het berekenen van doorlooptijden tussen stappen. Het belang Dit attribuut definieert de steps in de procesmap, waardoor de visualisatie en analyse van de invoice levenscyclus van start tot finish mogelijk is. Vindplaats Dit is een conceptual veld afgeleid van verschillende business gebeurtenissen binnen Oracle Fusion Financialscials, vaak geconstrueerd door transaction statuses, gebeurtenis dates of specifieke actions te mappen van modules zoals Receivables (AR) en Advanced Collections. Voorbeelden Factuur OpgesteldAanmaningsprocedure GestartBetaling OntvangenGeschil Geregistreerd | |||
| Factuurnummer InvoiceNumber | De unieke ID voor elke klantfactuur, dienend als de primaire case kenmerk voor het kredietbeheerproces. | ||
| Omschrijving De Invoice Number is de centrale key die alle gebeurtenissen en activiteiten voor 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 levenscyclus mogelijk. In process mining analysis wordt dit attribuut gebruikt om de klantreis van elke invoice te reconstrueren. Door alle gerelateerde activiteiten onder één Invoice Number te groeperen, kunnen analysesten processtromen visualiseren, common en deviant paths vinden en doorlooptijden 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 klantreis van uitgifte tot sluiting mogelijk is. Vindplaats Deze kenmerk is meestal te vinden in de tabel RA_CUSTOMER_TRX_ALL als TRX_NUMBER binnen Oracle Fusion Financialscials. Voorbeelden INV-1005679884321AR-2023-04-112 | |||
| TijdsTip Gebeurtenis EventTime | De precieze datum en tijd waarop de activity plaatsvond, dienend als de gebeurtenis's timestamp. | ||
| Omschrijving De Het tijdstip van de gebeurtenis (timestamp) registreert het exacte moment dat een activity plaatsvond. Het is belangrijk voor het chronologisch ordenen van gebeurtenissen om een accurate processtroom op te bouwen. Zonder nauwkeurige tijdstempels kan de sequence of gebeurtenissen niet correct worden bepaald. In analysis wordt dit attribuut gebruikt om duurs en doorlooptijden tussen activiteiten te berekenen, wat critical is voor prestaties measurement. Het wordt bijvoorbeeld gebruikt om KPI's zoals Dispute Resolution Cycle Time of Invoice Payment Cycle Time te berekenen. Het maakt ook de analysis van procesprestaties trends over verschillende time periods mogelijk. Het belang Deze timestamp is belangrijk voor het ordenen van gebeurtenissen, het berekenen van doorlooptijden en duurs, en het analyseren van procesprestaties over tijd. Vindplaats Afgeleid van verschillende datumvelden in Oracle Fusion Financialscials-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 attribuut identificeert de source application waar de gebeurtenis data werd vastgelegd. In een complexe IT-omgeving kunnen meerdere systems betrokken zijn bij een enkele end-to-end proces. Het specificeren van het bronsysteem is belangrijk voor data governance, probleemoplossing en het begrijpen van de context van de data. Het helpt gebeurtenissen van verschillende systems te differentiëren als ze worden gecombineerd tot een enkele procesweergave, waardoor data lineage duidelijk wordt. Het belang Biedt duidelijkheid over de herkomst van de data, wat belangrijk is voor data validation, governance en het begrijpen van de technological context van het proces. Vindplaats Dit is doorgaans een static waarde die wordt toegevoegd tijdens data-extractie om de herkomst van het records te vinden. Voorbeelden Oracle Fusion FinancialscialsOracle AROracle Collections | |||
| Tijdstip van extractie LastDataUpdate | De timestamp die aangeeft wanneer de data voor dit gebeurtenis voor het laatst is vernieuwd of opgehaald uit het bronsysteem. | ||
| Omschrijving Dit attribuut markeert de datum en tijd van de meest recente data-extractie. Het is een metadataveld dat geen deel uitmaakt van het bedrijfsproces zelf maar belangrijk is voor het begrijpen van de actualiteit van de data die wordt geanalyseerd. Analysts gebruiken deze timestamp om te bevestigen dat zij werken met up-to-date Informapakketmation en om de cutoff point voor de data te begrijpen. Het is belangrijk voor data governance en voor het beheren van user expectations over data currency in dashboards en reports. Het belang Geeft de relevantie van de data aan, waardoor analysesten en stakeholders op de hoogte zijn van de tijdigheid en relevantie van de data. Vindplaats Deze waarde wordt gegenereerd en gestempeld op elke record tijdens het data-extractie and loading (ETL) proces. 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 attribuut 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 Bedrag vertegenwoordigt de totale waarde van de goederen of services die aan de customer zijn gefactureerd. Dit is een critical financial attribuut voor het begrijpen van de financiële impact van het proces. In analysis wordt Invoice Bedrag gebruikt om collection efforts te prioriteren, met een focus op high-waarde overdue invoices. Het wordt ook gebruikt om payment behaviors te analyseren op basis van transaction waarde en om de financial impact van write-offs te berekenen. Dashboards zoals de Invoice Write-Off Rate Analysis zijn afhankelijk van deze waarde om de omvang van financial losses te beoordelen. Het belang Biedt financiële context aan het process, waardoor prioritization van high-waarde invoices en analysis van de financiële 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 attribuut 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 activiteiten per user is belangrijk voor het begrijpen van werkbelastingverdeling, individuele prestaties en compliance. Voor automated activiteiten helpt het de involvement van system processes te tracken. Het kan ook worden gebruikt om trainingsbehoeften of potentiële fraudulent activity te vinden 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 Financialscials. 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 activiteiten voor een achterstallige invoice. Deze assignment is een key step in de collections workflow. Dit attribuut is belangrijk voor prestaties management en bron allocation binnen de collections department. Door resultaten per collector te analyseren, kunnen managers de collector effectiveness beoordelen, trainingsbehoeften vinden en workloads in balans brengen. Het Collector Assignment Effectiveness dashboard is direct afhankelijk van dit attribuut om success rates en doorlooptijden te vergelijken tussen verschillende collectors. Het belang Maakt prestatieanalyse van individuele incasseerders of teams mogelijk, wat helpt bij het optimaliseren van bron-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 Klant Number koppelt een invoice aan een specifieke customer account. Dit maakt segmentation en analysis van het krediet- en betalingsproces mogelijk op basis van customer attributen. Door de Klant Number op te nemen, kunnen analysesten onderzoeken of bepaalde customers consistent te laat betalen, meer geschillen opwerpen of meer collection efforts vereisen. Deze Informapakketmation is belangrijk voor het creëren van customer-specifieke collection strategies, het aanpassen van credit terms en het vinden van high-risk customer segments. Het ondersteunt direct analyses zoals de Invoice Write-Off Rate Analysis by Klant Segment. Het belang Maakt segmentatie van het proces per klant mogelijk, wat helpt bij het vinden 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 Klant Segment is een categorische attribuut 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'. Dit attribuut is krachtig voor comparative analysis. Het stelt analysesten 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 stamdata (HZ_CUST_ACCOUNTS of gerelateerde tables) of afgeleid van customer attributen 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 attribuut dat contractueel is overeengekomen voor payment. Het is de basislijn waartegen de tijdigheid van payment wordt gemeten. Dit attribuut is onmisbaar voor het vinden 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 KPI's zoals Days Sales Outstanding (DSO). Het is ook belangrijk 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 businessunit of organizational entity die de invoice heeft uitgegeven. | ||
| Omschrijving In grote organisaties zijn operaties vaak verdeeld in meerdere bedrijfsonderdelen. Dit attribuut identificeert welke businessunit 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 zichtbaar maken welke bedrijfsonderdelen 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 vinden van best practices en verbeterpunten. Vindplaats Beschikbaar in de RA_CUSTOMER_TRX_ALL tabel via het ORG_ID veld, dat koppelt aan de organisatiestructuur. Voorbeelden BU North AmericaBU EMEAWereldwijd Services Division | |||
| Betalingstermijnen PaymentTerms | De overeengekomen terms die specificeren wanneer payment verschuldigd is. | ||
| Omschrijving Betalingsvoorwaarden 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 prestaties per payment term kan interessante patronen inzichtelijk maken. Zo kunnen customers met kortere terms vaker te laat betalen. Deze Informapakketmation 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 | |||
| Dagen Achterstallig DaysOverdue | Het aantal dagen dat een factuur de vervaldatum heeft overschreden. | ||
| Omschrijving Deze calculated metriek 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 metriek 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 metriek voor het prioriteren van incasso's en het uitvoeren van aging analysis. Vindplaats Dit is een calculated veld. 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. Dit attribuut is belangrijk voor het beheren van incassoworkflows en het ewaarderen 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 incasso-inspanningen 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 duur is voltooid. | ||
| Omschrijving Voor activiteiten die een duidelijke start en einde hebben, legt deze attribuut de voltooiingstijd vast. Hoewel veel gebeurtenissen in process mining direct zijn, kunnen sommige, zoals 'Dispute Investigation', een bepaalde tijdsperiode beslaan. Een aparte End Time maakt een precieze 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 belangrijk voor het analyseren van brongebruik en het vinden van welke specifieke stappen de meeste tijd in beslag nemen binnen het proces. Het belang Maakt precieze berekening mogelijk van de duur van specifieke activiteiten, wat beter inzicht biedt in knelpunten en brongebruik. Vindplaats Dit is vaak een conceptual attribuut. Het kan afkomstig zijn van een 'last updated' timestamp of een specifieke 'close date' veld 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 factuur in de levenscyclus ervan. | ||
| 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'. Dit attribuut biedt een high-level overzicht van de status van debiteuren. In process mining is deze attribuut 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 attribuut 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 attribuut maakt filtering van de procesweergave per currency mogelijk of het toepassen van de juiste exchange rates voor geconsolideerde financial reporting. Het zorgt ervoor dat monetary waardes 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-waarde 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 attribuut is belangrijk voor het berekenen van de Invoice Write-Off Rate KPI en voor het geassocieerde analysis dashboard. Het stelt analisten in staat om de population of failed collections te isoleren om common characteristics te vinden, zoals customer segment of invoice waarde, 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 belangrijk is voor het analyseren van hoofdoorzaken van oninbare vorderingen en het berekenen van afschrijvingspercentages. Vindplaats Dit is een calculated veld, 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-waarde die aangeeft of de factuur de uiterste betaaldatum heeft overschreden. | ||
| Omschrijving Dit is een derived attribuut 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 analisten in staat om snel de population van overdue invoices te isoleren om hun process paths, de effectiveness van collection activiteiten en andere characteristics te bestuderen. Het vereenvoudigt de creation van dashboards en KPI's gericht op het beheren van overdue debt, zoals het Overdue Invoice Aging & Status dashboard. Het belang Biedt een eenvoudige, duidelijke flag voor het vinden en analyseren van alle achterstallige invoices, wat de primaire focus is van het collections proces. 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 kredietbedrag goedgekeurd voor de klant. | ||
| Omschrijving De Credit Limit Bedrag is de totale credit exposure die een bedrijf bereid is te hebben met een specifieke customer. Dit wordt bepaald tijdens het credit review proces. Dit attribuut is belangrijk 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 inzichtelijk maken of te hoge credit limits bijdragen aan hogere rates van bad debt, wat helpt bij het verfijnen van het credit approval proces. Het belang Belangrijk 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 opgegeven door de klant voor het betwisten van een factuur. | ||
| Omschrijving Wanneer een customer een invoice betwist, geven ze doorgaans een reason op, zoals 'Incorrect Prijzen', 'Damaged Goods' of 'Dupliceren Invoice'. Dit attribuut legt die reason vast. Het analyseren van dispute reasons is key voor oorzaakanalyse. Het helpt recurring problems te vinden 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 grondoorzaken te fixen, wat het goal van het verkorten van de Dispute Resolution Cycle Time ondersteunt. Het belang Helpt de hoofdoorzaken van factuurgeschillen te vinden, 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 Incorrect AantalPrijsafwijkingBeschadigde GoederenDienst Niet Geleverd | |||
Kredietbeheer en incasso Activiteiten
| Activiteit | Omschrijving | ||
|---|---|---|---|
| Aanmaningsprocedure Gestart | 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 belangrijk voor het meten van dunning effectiveness en adherence to dunning policies. Het biedt een basislijn 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 het 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 mijlpaal 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 gebeurtenis 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 proces. 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 factuurtransacpakketecord in Oracle Fusion Financialscials. 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 gebeurtenis voor de invoice klantreis. Alle subsequent doorlooptijd calculations, zoals Days Sales Outstanding (DSO) en invoice payment doorlooptijd, zijn afhankelijk van deze initial timestamp. Vindplaats Dit is een expliciet gebeurtenis 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 Verstreken | Een berekend gebeurtenis dat optreedt wanneer de huidige datum de vervaldatum van de factuur overschrijdt zonder dat de factuur volledig is betaald. Dit gebeurtenis markeert de overgang van een factuur van de status 'lopend' naar 'achterstallig'. | ||
| Het belang Dit is een key mijlpaal die collection en dunning processes triggert. Het analyseren van het volume en de waarde van invoices die hun due date passeren, is belangrijk voor het beheren van working capital en het beoordelen van credit risk. Vindplaats Deze gebeurtenis 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 gebeurtenis: treedt op wanneer SYSDATE > AR_PAYMENT_SCHEDULES_ALL.DUE_DATE. Gebeurtenistype calculated | |||
| Actie 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 'activiteiten' 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 activiteiten 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 redencode. 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 activiteiten. | ||
| Het belang Het tracken van promises to pay en hun fulfillment rates is een key prestaties indicator voor collectors. Het helpt bij het prognoses van cashflow 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 levenscyclus. | ||
| Het belang Deze gebeurtenis dient als een primair succesvol end point voor het proces. Het monitoren van de closure of invoices is onmisbaar 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 gebeurtenis 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 proces. Het analyseren van de tijd van registration tot resolution is critical voor het vinden van knelpunten die cash collection vertragen. Vindplaats Afgeleid van een statuswijziging in de AR_PAYMENT_SCHEDULES_ALL tabel, waarbij het STATUS veld 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 gebeurtenis markeert het einde van de dispute resolution cycle. De duur tussen 'Dispute Registered' en deze gebeurtenis is een key KPI voor het meten van operational efficiency en de impact ervan op cashflow. 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 activiteiten die het systeem of de collector zal volgen. | ||
| Het belang Deze gebeurtenis biedt insight in de automatisering van het collections proces. Het analyseren welke strategies zijn toegewezen en hun resultaten 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 gebeurtenis wordt doorgaans afgeleid door de invoice creation date te koppelen aan de meest recente credit review completion date voor die customer account, wat een basislijn 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 vinden. Het is onmisbaar 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 gebeurtenis 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 | |||
Extractiegidsen
Stappen
- Toegang tot Oracle BI Publisher: Log in bij uw Oracle Fusion Financialscials-omgeving. Navigeer naar het gebied Rapporten en Analyses door op het Navigator-pictogram te klikken en vervolgens Tools > Reports and Analytics te selecteren.
- Een nieje 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 je 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 je 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
- Verplichten: De gebruiker die het rapport maakt en uitvoert, moet over de juiste BI-rollen (bijv. 'BI Administrator' of 'BI Author') en databeveiliging-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 belangrijk 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 producpakketuns 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 businessunit te processen. - 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'