Šablona dat pro správu pohledávek
Šablona dat pro správu pohledávek
- Úplný seznam doporučených atributů pro analýzu pohledávek
- Hlavní aktivity a milníky procesu, které je vhodné sledovat
- Pokyny k extrakci dat z Oracle Fusion Financials
Atributy pohledávek
| Název | Popis | ||
|---|---|---|---|
| Časové razítko události EventStartDateTime | Konkrétní datum a čas, kdy aktivita proběhla. | ||
| Popis Tento atribut zaznamenává přesný okamžik, kdy aktivita v systému proběhla. Slouží k chronologickému seřazení událostí a je základem všech časových výpočtů v process mining. Analýza časových razítek umožňuje firmě vypočítat dobu mezi aktivitami, například dobu od vytvoření faktury po její odeslání. Je nezbytná pro měření KPI, jako je počet dnů pohledávek po splatnosti, a pro odhalování časových vzorců v platebním chování. Proč je to důležité Základ pro výpočet trvání, průběžných dob a dob cyklu. Kde data získat Oracle Fusion Financials: sloupce CREATION_DATE nebo LAST_UPDATE_DATE v různých tabulkách transakcí. Příklady 2023-10-15T08:30:00Z2023-10-16T14:45:12Z2023-11-01T09:00:00Z | |||
| Číslo faktury InvoiceNumber | Jedinečný identifikátor přiřazený transakci faktury v Oracle Fusion. | ||
| Popis Tento atribut slouží jako jedinečný klíč pro identifikaci finančních závazků v modulu Accounts Receivable. Propojuje všechny navazující aktivity, například úpravy, reklamace a platby, s původní prodejní transakcí. V analýze process mining tento atribut funguje jako ID případu. Analytici díky němu mohou sledovat celý životní cyklus pohledávky od jejího vytvoření až po úplné vypořádání nebo odpis. To usnadňuje výpočet doby cyklu a porovnání variant procesu. Proč je to důležité Jde o základní jednotku analýzy pro sledování cyklu od úvěru po inkaso. Kde data získat Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.TRX_NUMBER Příklady INV-2023-00110056789AR-99887755002211 | |||
| Název aktivity ActivityName | Konkrétní událost nebo činnost v procesu správy pohledávek. | ||
| Popis Tento atribut popisuje provedený krok, například vytvoření faktury, zaúčtování platby nebo otevření reklamace. Určuje tok procesu a umožňuje zobrazit posloupnost událostí na procesní mapě. Analytici pomocí tohoto pole hledají varianty procesu, opakované průchody a úzká místa. Je nezbytné pro ověření dodržování standardních postupů i výpočet četnosti konkrétních událostí, například oprav nebo ručních zásahů. Proč je to důležité Je nutný k určení toku procesu a zobrazení posloupnosti událostí. Kde data získat Odvozeno z tabulek historie transakcí, například AR_PAYMENT_SCHEDULES_ALL a RA_CUST_TRX_LINE_GL_DIST_ALL. Příklady Faktura vytvořenaUpomínka k platbě odeslánaČástečná platba zaúčtovánaPřípad reklamace otevřen | |||
| Poslední aktualizace dat LastDataUpdate | Časové razítko poslední aktualizace dat v nástroji pro process mining. | ||
| Popis Tento atribut uvádí, kdy byla datová sada naposledy synchronizována se zdrojovým systémem Oracle. Pomáhá uživatelům zjistit, jak aktuální je analýza a zda její výsledky odpovídají současnému stavu provozu. Sledování tohoto pole je důležité pro zajištění aktuálnosti údajů na dashboardech, zejména při provozním sledování otevřených reklamací nebo nepřiřazených plateb. Proč je to důležité Poskytuje kontext pro posouzení aktuálnosti a spolehlivosti dat. Kde data získat Systémový čas v okamžiku získání dat. Příklady 2023-11-15T23:59:59Z2023-11-16T00:00:00Z | |||
| Zdrojový systém SourceSystem | Systém, ve kterém jsou původní data uložena. | ||
| Popis Tento atribut určuje softwarové prostředí, ze kterého byla data o procesu získána. V tomto případě potvrzuje, že pocházejí z prostředí Oracle Fusion Financials. Při získávání dat z jediného systému má často stálou hodnotu. Je však důležitý při slučování dat z více instancí ERP nebo při integraci nástrojů pro inkaso od jiných dodavatelů. Zajišťuje dohledatelnost původu dat v procesní krajině tvořené více systémy. Proč je to důležité Zajišťuje dohledatelnost původu dat a rozlišuje jednotlivé instance ERP. Kde data získat Pevně nastaveno při získávání dat nebo nakonfigurováno v datovém workflow. Příklady Oracle Fusion FinancialsOracle Cloud ERP - USAOracle Cloud ERP - EMEA | |||
| Automatizováno IsAutomated | Příznak, který určuje, zda aktivita proběhla bez zásahu člověka. | ||
| Popis Tento logický atribut určuje, zda aktivitu provedl systémový proces, například AutoInvoice nebo AutoLockbox, nebo uživatel. Je hlavním ukazatelem pro KPI „Míra automatizace párování plateb“. Sledováním poměru automatizovaných a ručních aktivit v čase může firma ověřit výsledky iniciativ digitální transformace a určit konkrétní kroky procesu, které stále vyžadují ruční práci. Proč je to důležité Základní ukazatel pro měření digitální transformace a efektivity. Kde data získat Vypočítává se podle UserName (např. pokud User == 'BATCH_USER', pak true). Příklady truefalse | |||
| Částka faktury InvoiceAmount | Celková peněžní hodnota faktury. | ||
| Popis Tento atribut představuje původní částku splatnou na faktuře. Slouží jako hlavní váhový faktor v řadě analýz a umožňuje upřednostnit transakce s vysokou hodnotou před velkým počtem transakcí s nízkou hodnotou. V přehledu „Nepřiřazené dobropisy a úniky výnosů“ pomáhá vyčíslit finanční dopad nevyřešených položek. Používá se také k výpočtu váženého průměru DSO, který ukazuje efektivitu procesu z finančního hlediska. Proč je to důležité Zohledňuje finanční hodnotu v analýze a podporuje prioritizaci podle částky. Kde data získat Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.AMOUNT_DUE_ORIGINAL Příklady 1500.00250.5010000.00 | |||
| Datum splatnosti DueDate | Datum, do kterého se očekává přijetí platby. | ||
| Popis Tento atribut udává termín platby vypočítaný podle data faktury a platebních podmínek. Slouží jako referenční bod pro určení, zda je platba opožděná. V KPI „Odchylka v načasování upomínek“ se používá k měření toho, jak dlouho před termínem tým jedná. Zároveň určuje hranici, podle které se v přehledech stáří pohledávek rozlišují pohledávky před splatností a po splatnosti. Proč je to důležité Základní údaj pro určení prodlení a včasnosti plateb. Kde data získat Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DUE_DATE Příklady 2023-11-302023-12-152024-01-01 | |||
| Jméno pracovníka inkasa CollectorName | Jméno pracovníka nebo člena týmu odpovědného za inkaso faktury. | ||
| Popis Tento atribut určuje konkrétního zaměstnance nebo člena týmu odpovědného za inkaso platby za fakturu. Jde o hlavní rozměr dashboardu „Výkonnost pracovníků inkasa“. Údaje z tohoto pole umožňují organizaci měřit produktivitu jednotlivých pracovníků, určit potřeby školení a vyrovnávat pracovní zátěž. Podporují odpovědnost a pomáhají sjednotit postupy inkasa v rámci finančního týmu. Proč je to důležité Důležité pro analýzu výkonnosti pracovníků a vyrovnávání pracovní zátěže. Kde data získat Oracle Fusion Financials: AR_COLLECTORS.NAME přiřazené k zákaznickému profilu. Příklady John SmithTým vymáhání pohledávek AJane Doe | |||
| Název zákazníka CustomerName | Název subjektu, kterému byla transakce vyfakturována. | ||
| Popis Tento atribut určuje zákazníka, kterému byla faktura vystavena. Je základem pro analýzu platebního chování, četnosti reklamací a účinnosti inkasa na úrovni jednotlivých zákazníků. Analytici pomocí tohoto pole hledají zákazníky, kteří často platí pozdě nebo podávají reklamace. Tyto poznatky podporují dashboard „Analýza platebního chování zákazníků“ a pomáhají přizpůsobit úvěrové podmínky i strategii inkasa jednotlivým zákazníkům. Proč je to důležité Nezbytné pro analýzu zaměřenou na zákazníky a hodnocení rizik. Kde data získat Oracle Fusion Financials: HZ_PARTIES.PARTY_NAME propojené přes BILL_TO_CUSTOMER_ID. Příklady Acme CorpGlobex CorporationSoylent Corp | |||
| Obchodní jednotka BusinessUnit | Organizační jednotka odpovědná za fakturu. | ||
| Popis Tento atribut odpovídá identifikátoru organizace v Oracle Fusion a označuje konkrétní obchodní jednotku nebo divizi, které pohledávka náleží. Umožňuje porovnávat výkonnost procesu v různých částech organizace. Porovnání KPI, jako je doba řešení reklamací nebo DSO, mezi obchodními jednotkami pomáhá vedení určit, které týmy dosahují nejlepších výsledků, a sjednotit osvědčené postupy. Ukáže také jednotky, které mohou potřebovat další zdroje nebo úpravu procesů. Proč je to důležité Důležitý rozměr pro porovnávání výkonnosti a výsledků jednotlivých částí organizace. Kde data získat Oracle Fusion Financials: HR_ORGANIZATION_UNITS.NAME propojené přes ORG_ID. Příklady Prodej, východ USASlužby v regionu EMEAVýroba v regionu APAC | |||
| Segment zákazníka CustomerSegment | Zařazení zákazníka podle velikosti, odvětví nebo rizikovosti. | ||
| Popis Tento atribut rozděluje zákazníky do skupin, například strategičtí, velké podniky, malé a střední podniky nebo vysoce rizikoví. Často se odvozuje z třídy zákazníka nebo třídy profilu v Oracle Fusion. Díky tomuto atributu lze porovnávat varianty procesu v různých tržních segmentech. Pomáhá například ověřit, zda strategičtí zákazníci dostávají očekávanou individuální péči a zda jsou zákazníci s vysokým rizikem pečlivě sledováni z hlediska dodržování platebních podmínek. Proč je to důležité Umožňuje porovnávat strategie inkasa a rizika v jednotlivých segmentech. Kde data získat Oracle Fusion Financials: HZ_CUSTOMER_PROFILES.PROFILE_CLASS_ID. Příklady Velký podnikMalý podnikVeřejná správaVysoké riziko | |||
| Typ transakce TransactionType | Zařazení dokladu pohledávky (faktura, dobropis, vrubopis). | ||
| Popis Tento atribut rozlišuje různé typy finančních dokladů. Mezi běžné hodnoty patří faktura, dobropis a vrubopis. Toto rozlišení je důležité pro dashboard „Počet dobropisů a opakované opravy“. Filtrováním podle tohoto atributu mohou analytici oddělit opakované průchody způsobené dobropisy nebo se zaměřit pouze na hlavní tok fakturace. Atribut pomáhá porozumět skladbě práce spojené se správou pohledávek. Proč je to důležité Rozlišuje běžné faktury od úprav a oprav. Kde data získat Oracle Fusion Financials: RA_CUST_TRX_TYPES_ALL.NAME Příklady FakturaDobropisVrubopisDodatečné doúčtování | |||
| Uživatelské jméno UserName | Uživatel systému, který provedl danou aktivitu. | ||
| Popis Tento atribut zaznamenává přihlašovací ID nebo jméno osoby, která provedla konkrétní aktivitu, například zaúčtovala fakturu nebo spárovala bankovní výpis. Odpovídá obecnému poli „Uživatel“. Tyto údaje jsou důležité pro audit shody i pro dashboard „Výkonnost pracovníků vymáhání“. Umožňují odlišit automatické akce, které často provádí uživatel „System“, od akcí provedených lidmi a podporují analýzu automatizace. Proč je to důležité Umožňuje sledovat výkonnost jednotlivých uživatelů a analyzovat oddělení pravomocí. Kde data získat Oracle Fusion Financials: sloupce CREATED_BY nebo LAST_UPDATED_BY propojené s tabulkami uživatelů. Příklady sysadminjsmithfinance_batch_job | |||
| Důvod sporu DisputeReason | Kategorie nebo kód důvodu přiřazený při zahájení řešení sporu. | ||
| Popis Tento atribut zachycuje důvod uvedený při aktivitě „Zahájení případu sporu“. Mezi běžné hodnoty patří „Chybná cena“, „Nesprávné množství“ nebo „Poškozené zboží“. Analýza tohoto atributu v dashboardu „Průběh řešení sporů a úzká místa“ pomáhá odhalit hlavní příčiny zpoždění plateb. Pokud se často objevuje důvod „Chybná cena“, firma ví, že má prověřit navazující proces tvorby cenových nabídek, nejen vymáhání pohledávek. Proč je to důležité Pomáhá odhalit hlavní příčiny opožděných plateb a opakované práce. Kde data získat Oracle Fusion Financials: RA_CM_REQUESTS.REASON_CODE nebo AR_DISPUTE_HISTORY. Příklady Spor o cenuChyba v daniZboží nebylo doručenoDuplicitní fakturace | |||
| Kód měny CurrencyCode | Měna, ve které je vyjádřena částka faktury. | ||
| Popis Tento atribut určuje měnu finančních částek, například USD nebo EUR. Je nezbytný pro správnou interpretaci částky faktury a pro případný přepočet na měnu používanou v globálním výkaznictví. V mezinárodních organizacích umožňuje porovnávat výkonnost inkasa v různých ekonomických regionech a oddělit dopad měnových kurzů od výkonnosti provozních procesů. Proč je to důležité Umožňuje správně interpretovat finanční hodnoty v prostředí s více měnami. Kde data získat Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.INVOICE_CURRENCY_CODE Příklady USDEURGBPJPY | |||
| Opakovaná práce IsRework | Příznak, který určuje, zda faktura prošla opravou nebo opakovaným řešením sporu. | ||
| Popis Tento logický atribut určuje, zda faktura zahrnovala aktivity spojené s opravou chyby, například „Vystavení dobropisu“ nebo „Úprava faktury“. Podporuje dashboard „Objem dobropisů a opakovaná práce“. Případy s opakovanou prací lze oddělit od bezproblémového průběhu procesu. Vysoký podíl opakované práce často upozorňuje na problémy s kvalitou dat v kmenových datech nebo při zadávání prodejních objednávek. Proč je to důležité Odhaluje plýtvání a neefektivitu v průběhu procesu. Kde data získat Vypočítává se takto: True, pokud případ obsahuje aktivitu „Vystavení dobropisu“ nebo „Zahájení případu sporu“. Příklady truefalse | |||
| Platební podmínky PaymentTerms | Dohodnuté podmínky splatnosti (např. splatnost do 30 dnů). | ||
| Popis Tento atribut určuje smluvně dohodnutou lhůtu splatnosti. Používá se k výpočtu data splatnosti a je nezbytný pro dashboard „Účinnost strategie vymáhání“. Rozdílné platební podmínky zákazníků mohou vysvětlit rozdíly v DSO. Díky tomuto atributu mohou analytici porovnávat výkonnost za stejných podmínek. Zákazník se splatností 60 dnů tak není nespravedlivě označen za pomalého plátce ve srovnání se zákazníkem se splatností 30 dnů. Proč je to důležité Umožňuje posuzovat rychlost plateb v kontextu smluvních podmínek. Kde data získat Oracle Fusion Financials: RA_TERMS.NAME Příklady Splatnost do 30 dnůIhnedSleva 2 % při platbě do 10 dnů, jinak splatnost do 30 dnůSplatnost do 60 dnů | |||
| Poslední den pro uplatnění slevy DiscountEligibilityDate | Poslední den, kdy může zákazník zaplatit a získat slevu za včasnou úhradu. | ||
| Popis Tento atribut označuje termín, do kterého může zákazník využít podmínky, jako je „2/10 Net 30“ (sleva 2 % při platbě do 10 dnů). Je potřebný pro dashboard „Analýza slev za včasnou platbu“. Porovnání plateb s tímto datem ukazuje míru využití slev za včasnou platbu. Firma tak zjistí, zda slevy skutečně urychlují peněžní tok, nebo zda je zákazníci nevyužívají. Proč je to důležité Pomáhá vyhodnotit účinnost pobídek a jejich vliv na rychlost peněžního toku. Kde data získat Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DISCOUNT_DATE Příklady 2023-11-102023-12-05 | |||
| Region Region | Zeměpisná oblast přiřazená organizační jednotce nebo zákazníkovi. | ||
| Popis Tento atribut přiřazuje transakci k širší zeměpisné oblasti, například Severní Americe, EMEA nebo APAC. Hodí se pro souhrnné reporty vedení i pro dashboard „Trendy DSO a peněžního cyklu“. Analýza podle regionů zohledňuje rozdíly v platebním chování, například delší obvyklé platební lhůty v jižní Evropě než v USA. Zajišťuje také, že se globální KPI vyhodnocují v odpovídajícím místním kontextu. Proč je to důležité Umožňuje základní členění podle regionů pro globální reporting. Kde data získat Oracle Fusion Financials: odvozeno z organizační jednotky nebo adresy zákazníka. Příklady Severní AmerikaEMEAAPACLATAM | |||
| Zdroj vytvoření CreationSource | Původ faktury, který ukazuje, zda byla zadána ručně, nebo importována. | ||
| Popis Tento atribut ukazuje, jak se faktura dostala do systému Oracle, například ručním zadáním (Manual Entry), pomocí AutoInvoice nebo prostřednictvím konkrétního externího datového zdroje. Slouží jako náhrada za obecné mapování „Kanál“. Je důležitý pro dashboard „Sledování automatizace párování plateb“. Pomáhá rozlišit plně digitální procesy od těch, které vyžadují ruční nastavení. Vysoký počet faktur zadaných ručně může ukazovat na chybějící integraci s navazujícími systémy nebo nedostatky systému. Proč je to důležité Určuje míru automatizace v navazujících systémech a původ dat. Kde data získat Oracle Fusion Financials: RA_BATCH_SOURCES_ALL.NAME Příklady AutoInvoiceRučněImplementace projektůŘízení objednávek | |||
Aktivity v procesu správy pohledávek
| Aktivita | Popis | ||
|---|---|---|---|
| Částečná platba zaúčtována | Nastane, když se platba přiřadí k faktuře, ale její částka je nižší než celkový neuhrazený zůstatek. Faktura zůstane otevřená se sníženým zůstatkem. | ||
| Proč je to důležité Vysoká četnost ukazuje na rozdělené platby (KPI četnosti částečných plateb), které zvyšují náročnost odsouhlasení. Kde data získat Zdroj: AR_RECEIVABLE_APPLICATIONS_ALL, kde STATUS = 'APP' a AMOUNT_APPLIED < AMOUNT_DUE_REMAINING. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Faktura dokončena | Označuje dokončení vytvoření faktury. Faktura je připravena ke zpracování, tisku a zaúčtování. K této události dojde, když se stav transakce změní z nedokončeného na dokončený. | ||
| Proč je to důležité Rozlišuje dobu přípravy od doby zpracování. Prodlevy v této fázi ukazují na úzká místa při interním vystavování faktur. Kde data získat Zjištěno při změně hodnoty COMPLETE_FLAG v RA_CUSTOMER_TRX_ALL na 'Y'. Zachycení Porovnejte hodnotu stavového pole před změnou a po ní Typ události inferred | |||
| Faktura odeslána | Označuje odeslání faktury zákazníkovi tiskem, e-mailem nebo ve formátu XML. Jde o předání faktury z organizace zákazníkovi. | ||
| Proč je to důležité Důležité pro měření výkonnosti odesílání faktur. Prodleva mezi vytvořením a odesláním přímo prodlužuje cyklus inkasa. Kde data získat Lze odvodit z PRINTING_ORIGINAL_DATE v RA_CUSTOMER_TRX_ALL, případně z konkrétních záznamů v Oracle Collaboration Messaging Framework, pokud se používá XML. Zachycení Porovnejte hodnotu stavového pole před změnou a po ní Typ události inferred | |||
| Faktura vypořádána | Konečný stav, kdy je faktura v systému uzavřena, obvykle proto, že její zůstatek dosáhl nuly díky platbě, dobropisu nebo úpravě. | ||
| Proč je to důležité Časové razítko této události se používá k výpočtu počtu dnů pohledávek po splatnosti (DSO). Označuje konec instance procesu. Kde data získat Zjištěno při změně hodnoty STATUS v AR_PAYMENT_SCHEDULES_ALL na 'CL' (Closed). Zachycení Porovnejte hodnotu stavového pole před změnou a po ní Typ události inferred | |||
| Faktura vytvořena | Tato aktivita označuje první vytvoření záznamu faktury v systému. Zachycuje časové razítko, kdy se hlavička transakce poprvé uloží do tabulek Oracle Receivables. | ||
| Proč je to důležité Určuje začátek životního cyklu procesu a výchozí bod pro výpočty doby po splatnosti. Je nezbytná pro výpočet celkové doby cyklu a doby do odeslání. Kde data získat Odvozeno z tabulky RA_CUSTOMER_TRX_ALL pomocí sloupce CREATION_DATE nebo TRX_DATE. Zachycení Zaznamenáno při vložení řádku transakce Typ události explicit | |||
| Platba v plné výši přijata | Nastane, když přiřazení platby sníží zůstatek faktury na nulu. Jde o hlavní úspěšný výsledek procesu inkasa. | ||
| Proč je to důležité Důležité pro analýzu slev za včasnou platbu. Čas této události určuje, zda byla platba přijata v období, na které se sleva vztahuje. Kde data získat Zdroj: AR_RECEIVABLE_APPLICATIONS_ALL, kde STATUS = 'APP' a výsledná hodnota AMOUNT_DUE_REMAINING je 0. Zachycení Odvoďte porovnáním pole X s polem Y Typ události calculated | |||
| Bankovní výpis spárován | Označuje, že platba přiřazená k faktuře byla odsouhlasena s řádkem bankovního výpisu. Potvrzuje, že peníze skutečně dorazily na bankovní účet. | ||
| Proč je to důležité Měří automatizaci párování plateb. Doba mezi zaúčtováním platby a jejím spárováním s bankovním výpisem představuje nepotvrzené peníze. Kde data získat Propojeno z AR_CASH_RECEIPTS_ALL do CE_STATEMENT_LINES (Cash Management) pomocí reference odsouhlasení. Zachycení Porovnejte hodnotu stavového pole před změnou a po ní Typ události inferred | |||
| Dobropis vystaven | Zaznamenává vytvoření dobropisu přiřazeného k faktuře. Snižuje dlužnou částku, často v reakci na reklamaci nebo vrácení zboží. | ||
| Proč je to důležité Sleduje míru opakovaných oprav dobropisů a úniky výnosů. Časté vystavování dobropisů může ukazovat na systémové chyby ve fakturaci. Kde data získat Zdroj: RA_CUSTOMER_TRX_ALL, kde je TRX_TYPE nastaven na Credit Memo a RELATED_CUSTOMER_TRX_ID odpovídá faktuře. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Faktura odepsána | Specifický typ úpravy, při kterém se zbývající zůstatek považuje za nedobytný a odepíše se jako nedobytná pohledávka. Jde o nežádoucí konečný stav. | ||
| Proč je to důležité Důležité pro sledování finančního zdraví. Umožňuje odlišit provozní efektivitu, tedy rychlost plateb, od problémů s úvěrovou kvalitou. Kde data získat Zdroj: AR_ADJUSTMENTS_ALL, kde je typ úpravy označen jako 'Write-off' nebo propojen s účtem nedobytných pohledávek. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Faktura upravena | Zaznamenává ruční úpravy zůstatku faktury, například odpis malých částek nebo měnové úpravy, které se liší od dobropisů. | ||
| Proč je to důležité Pomáhá odhalit úniky výnosů a nestandardní postupy, při kterých se zůstatky vypořádají bez platby. Kde data získat Zdroj: tabulka AR_ADJUSTMENTS_ALL propojená s fakturou. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Faktura zaúčtována do hlavní knihy | Zaznamenává dokončení účetních zápisů k faktuře a jejich převod do hlavní knihy. Tím se zajišťuje soulad účetnictví a připravenost na uzávěrku období. | ||
| Proč je to důležité Prodlevy v této fázi sice zákazník nevidí, ale ovlivňují uzávěrku účetnictví a včasnost výkaznictví. Kde data získat Odvozeno z GL_DATE v tabulce RA_CUST_TRX_LINE_GL_DIST_ALL. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Případ reklamace otevřen | Označuje zahájení formální reklamace faktury. Po dobu prověřování se pozastaví standardní činnosti spojené s inkasem. | ||
| Proč je to důležité Významný ukazatel úzkého místa. Vysoký počet reklamací může poukazovat na problémy s kvalitou plnění nebo přesností fakturace v předchozích fázích. Kde data získat Zjištěno podle záznamů v RA_CM_REQUESTS_ALL nebo podle konkrétních workflow žádostí o dobropis propojených s fakturou. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Příslib úhrady přijat | Zaznamenává závazek zákazníka uhradit konkrétní částku do stanoveného data. Pracovník inkasa jej obvykle zadá ručně při komunikaci se zákazníkem. | ||
| Proč je to důležité Důležité pro analýzu platebního chování zákazníků. Nedodržené přísliby ukazují na vysoké úvěrové riziko a možné budoucí nedobytné pohledávky. Kde data získat Zdroj: tabulka IEX_PROMISE_DETAILS v modulu Collections. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
| Reklamace vyřešena | Označuje ukončení prověřování reklamace. Výsledkem může být schválení dobropisu (oprávněná reklamace) nebo jeho zamítnutí (neoprávněná reklamace). | ||
| Proč je to důležité Nezbytné pro výpočet průměrné doby řešení reklamace. Dlouhé řešení negativně ovlivňuje spokojenost zákazníků i DSO. Kde data získat Odvozeno ze změny stavu na 'APPROVED' nebo 'REJECTED' v RA_CM_REQUESTS_ALL. Zachycení Porovnejte hodnotu stavového pole před změnou a po ní Typ události inferred | |||
| Upomínka k platbě odeslána | Zaznamenává odeslání upomínky nebo výzvy k úhradě zákazníkovi. Tuto událost vytváří modul Advanced Collections. | ||
| Proč je to důležité Nezbytné pro analýzu účinnosti strategie inkasa. Porovnání této události s platbami pomáhá určit, které typy upomínek vedou k nejrychlejšímu inkasu. Kde data získat Nachází se v tabulkách IEX_DUNNING nebo IEX_STRATEGY_WORK_ITEMS propojených se zákaznickým účtem. Zachycení Zaznamenáno při provedení transakce X Typ události explicit | |||
Průvodci extrakcí dat
Kroky
Otevřete konzoli Oracle BI Cloud Connector (BICC). Přejděte do části Manage Offerings and Data Stores.
Nakonfigurujte připojení k úložišti. Ověřte, že máte platné připojení k Oracle Universal Content Management (UCM) nebo externímu úložišti objektů, například OCI Object Storage, kam se budou ukládat extrahované soubory CSV/Parquet.
Vyberte nabídku Financials. Vyhledejte nabídku Financials, která zpřístupňuje objekty Accounts Receivable View.
Vyberte a nakonfigurujte objekty View (VO). Pro sestavení záznamu událostí je nutné vybrat konkrétní veřejné objekty View (PVO). Mezi potřebné PVO patří:
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionHeaderExtractPVO (hlavičky faktur)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionLineExtractPVO (řádky faktur)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.ReceiptApplicationExtractPVO (platby a přiřazení dobropisů)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.AdjustmentExtractPVO (úpravy a odpisy)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.PromiseDetailExtractPVO (přísliby platby)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.StrategyWorkItemExtractPVO (upomínky)
Nastavte filtry. V části Manage Extract Schedules nebo v konfiguraci PVO nastavte filtr podle CreationDate nebo LastUpdateDate, abyste získali data za požadované období analýzy, například za posledních 12 měsíců.
Naplánujte extrakci. Nastavte denní spouštění úlohy. Zvolte přírůstkové načítání, které po prvním úplném načtení získá pouze změněná data.
Stáhněte a načtěte data. Pomocí automatizovaného skriptu nebo integračního nástroje načtěte soubory z UCM/Object Storage do přípravných tabulek datového skladu, například STG_AR_TRX_HEADER a STG_AR_APPLICATIONS.
Proveďte transformaci. Spusťte SQL skript z části Query nad přípravnými tabulkami a převeďte relační data do formátu záznamu událostí ProcessMind.
Ověřte datové typy. Zajistěte, aby se pole s datem převedla na objekty datetime a aby se desetinná místa v číselných částkách zpracovala správně.
Exportujte do CSV/Parquet. Exportujte konečný výsledek z datového skladu do jednoho souboru.
Nahrajte data do ProcessMind. Importujte soubor a namapujte InvoiceNumber na ID případu, ActivityName na Aktivita a EventStartDateTime na časové razítko.
Konfigurace
- Frekvence extrakce: Doporučujeme každodenní přírůstkovou extrakci, která zachytí nejnovější změny stavu.
- První načtení: Při prvním spuštění zvolte „Full Extract“, poté přejděte na „Incremental“ podle Last Update Date.
- Hlavní PVO: TransactionHeaderExtractPVO, ReceiptApplicationExtractPVO, AdjustmentExtractPVO, StrategyWorkItemExtractPVO.
- Filtrování podle data: Omezte objem dat filtrem CreationDate >= '202X-01-01'.
- Velikost dávky: Výchozí hodnota bývá 50 000 řádků. Pokud stahujete data přes UCM, upravte ji podle rychlosti připojení.
- Primární klíče: Zajistěte, aby navazující datový sklad zpracovával aktualizace a vkládání záznamů pomocí primárních klíčů PVO, obvykle CustomerTrxId, ReceivableApplicationId apod. Předejdete tak duplicitním řádkům.
- Historie auditu: Standardní PVO BICC zachycují aktuální stav. Pokud potřebujete přesné historické časové údaje o změnách stavu, například o otevření sporu, může být nutné zapnout Audit Policies ve Fusion a extrahovat Audit View Objects, pokud transakční tabulky historii neuchovávají.
Ukázkový dotaz sql
/*
Transformation Script for Oracle BICC Data
Assumes raw BICC PVO CSVs are loaded into a SQL Staging Area with tables named:
- STG_AR_TRX_HEADER (TransactionHeaderExtractPVO)
- STG_AR_APPLICATIONS (ReceiptApplicationExtractPVO)
- STG_AR_ADJUSTMENTS (AdjustmentExtractPVO)
- STG_IEX_PROMISES (PromiseDetailExtractPVO)
- STG_IEX_STRATEGY (StrategyWorkItemExtractPVO)
- STG_CE_STMTS (BankStatementLineExtractPVO - Optional/Advanced)
*/
WITH Base_Log AS (
/* 1. Invoice Created */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Created' AS ActivityName,
CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
(Quantity * UnitSellingPrice) AS InvoiceAmount,
TrxClass AS TransactionType,
CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE TrxClass IN ('INV', 'DM')
UNION ALL
/* 2. Invoice Completed */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
TrxDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE CompleteFlag = 'Y'
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 3. Invoice Dispatched */
/* Using PrintingOriginalDate as proxy for dispatch */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
PrintingOriginalDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE PrintingOriginalDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
GlDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
'System' AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE GlDate IS NOT NULL
AND TrxClass IN ('INV', 'DM')
UNION ALL
/* 5. Payment Reminder Sent */
/* Links via Customer or Account, mapped back to Trx via Collections Strategy logic */
/* Simplified join assumption based on Trx Id availability in Work Item */
SELECT
H.TrxNumber AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
W.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
H.TrxClass AS TransactionType,
W.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_IEX_STRATEGY W
JOIN STG_AR_TRX_HEADER H ON W.ObjectPk1 = H.CustomerTrxId
WHERE W.WorkItemTemplateName LIKE '%Reminder%'
UNION ALL
/* 6. Promise to Pay Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
P.CreationDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
P.PromiseAmount AS InvoiceAmount,
H.TrxClass AS TransactionType,
P.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_IEX_PROMISES P
JOIN STG_AR_TRX_HEADER H ON P.CustTrxId = H.CustomerTrxId
UNION ALL
/* 7. Dispute Case Opened */
/* Triggered when dispute amount is updated/created */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
DisputeDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL
UNION ALL
/* 8. Dispute Resolved */
/* Approximated by update date when dispute amount returns to 0 after being positive */
/* Note: Accurate dispute history requires Audit Trail extraction. This is a best-effort proxy based on header state. */
SELECT
TrxNumber AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE DisputeDate IS NOT NULL AND DisputeAmount = 0
UNION ALL
/* 9. Credit Memo Issued (Applied) */
SELECT
H.TrxNumber AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CM' -- Credit Memo application
UNION ALL
/* 10. Partial Payment Posted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Partial Payment Posted' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND (H.AmountDueRemaining > 0) -- Invoice still has balance
UNION ALL
/* 11. Full Payment Received */
SELECT
H.TrxNumber AS InvoiceNumber,
'Full Payment Received' AS ActivityName,
APP.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
APP.AmountApplied AS InvoiceAmount,
H.TrxClass AS TransactionType,
APP.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
WHERE APP.ApplicationType = 'CASH'
AND APP.Status = 'APP'
AND H.AmountDueRemaining = 0 -- Invoice fully paid
UNION ALL
/* 12. Bank Statement Matched */
/* Requires joining Receipt Application -> Cash Receipt -> Bank Statement Line */
/* Placeholder logic assuming availability of Bank Statement PVO data */
SELECT
H.TrxNumber AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
BSL.StatementDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
BSL.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
BSL.CreatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_APPLICATIONS APP
JOIN STG_AR_TRX_HEADER H ON APP.AppliedCustomerTrxId = H.CustomerTrxId
-- Join to Receipt then to Bank Stmt would happen here
JOIN STG_CE_STMTS BSL ON APP.CashReceiptId = BSL.ReferenceId -- Simplified Join
WHERE APP.ApplicationType = 'CASH'
UNION ALL
/* 13. Invoice Adjusted */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Adjusted' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType != 'WRITE_OFF'
UNION ALL
/* 14. Invoice Written Off */
SELECT
H.TrxNumber AS InvoiceNumber,
'Invoice Written Off' AS ActivityName,
ADJ.ApplyDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
H.BusinessUnitName AS BusinessUnit,
H.BillToCustomerName AS CustomerName,
H.InvoiceCurrencyCode AS Currency,
ADJ.Amount AS InvoiceAmount,
H.TrxClass AS TransactionType,
ADJ.CreatedBy AS UserName,
'No' AS IsAutomated
FROM STG_AR_ADJUSTMENTS ADJ
JOIN STG_AR_TRX_HEADER H ON ADJ.CustomerTrxId = H.CustomerTrxId
WHERE ADJ.AdjustmentType = 'WRITE_OFF'
UNION ALL
/* 15. Invoice Cleared */
/* The moment the invoice balance hits 0 */
SELECT
TrxNumber AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
LastUpdateDate AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
BusinessUnitName AS BusinessUnit,
BillToCustomerName AS CustomerName,
InvoiceCurrencyCode AS Currency,
NULL AS InvoiceAmount,
TrxClass AS TransactionType,
LastUpdatedBy AS UserName,
'Yes' AS IsAutomated
FROM STG_AR_TRX_HEADER
WHERE AmountDueRemaining = 0
)
SELECT
InvoiceNumber,
ActivityName,
EventStartDateTime,
SourceSystem,
GETDATE() AS LastDataUpdate,
BusinessUnit,
CustomerName,
Currency,
InvoiceAmount,
TransactionType,
UserName,
IsAutomated
FROM Base_Log
WHERE EventStartDateTime IS NOT NULL
ORDER BY InvoiceNumber, EventStartDateTime Kroky
Přihlášení do Oracle Fusion Applications: Přejděte do Tools > Reports and Analytics. Kliknutím na Browse Catalog otevřete rozhraní Oracle BI Publisher.
Vytvoření datového modelu: Klikněte na New (vlevo nahoře) a vyberte Data Model. V tomto objektu nastavíte logiku extrakce SQL.
Definování datové sady SQL: Ve stromu Data Model vlevo klikněte na Data Sets a vyberte New Data Set > SQL Query.
Nastavení zdroje dat: Pojmenujte datovou sadu, například
ProcessMining_AR. Jako zdroj dat vyberteApplicationDB_FSCM(Financials Supply Chain Management). Tím získáte přístup k potřebným tabulkám AR a RA.Vložení dotazu: Zkopírujte celý skript SQL z níže uvedené části Query a vložte jej do textového pole SQL Query. Základní logiku neměňte, pokud nepotřebujete přejmenovat konkrétní flexibilní pole (DFF).
Nastavení parametrů: Dotaz obsahuje zástupný symbol
:p_start_date, který slouží k filtrování podle data vytvoření transakce. Na kartě Parameters datového modelu vytvořte parametrp_start_date, nastavte typ Data Type: Date a zadejte výchozí hodnotu, například01-01-2023.Zobrazení dat: Klikněte na kartu Data, zadejte platné datum parametru a klikněte na View. Ověřte, že výstup obsahuje řádky se sloupci jako
InvoiceNumber,ActivityNameaEventStartDateTime.Uložení datového modelu: Uložte objekt do složky Shared Folders > Custom, například
/Shared Folders/Custom/ProcessMining/AR_Extract_DM.Naplánování a export: Chcete-li extrahovat větší objem dat, klikněte na Create Report a použijte tento datový model. V editoru sestavy ověřte, že je rozvržení jednoduchá tabulka, a sestavu uložte. Poté ji spusťte pomocí Scheduler a exportujte data jako CSV nebo XML.
Závěrečné formátování: Stáhněte výstupní soubor. Pokud jde o CSV, ověřte jednotný formát data, nejlépe ISO 8601. Nahrajte soubor do ProcessMind a namapujte
InvoiceNumberna ID případu,ActivityNamena Aktivita aEventStartDateTimena časové razítko.
Konfigurace
- Zdroj dat: K přístupu k tabulkám Financials použijte
ApplicationDB_FSCM. - Filtr data: Dotaz používá
ra_customer_trx_all.creation_date >= :p_start_date. Nastavte jej tak, aby načítal data za průběžné období, například za posledních 12 měsíců. - Výkon: Pokud datová sada obsahuje více než 100 000 faktur, zvažte při testování omezení pomocí
ROWNUMnebo rozdělení extrakce po měsících. - Filtr obchodní jednotky: Pokud má vaše organizace více obchodních jednotek a potřebujete data jen z jedné, odkomentujte řádek
AND trx.org_id = ...v částiWhere. - Uživatelská jména: Dotaz převádí ID uživatelů
CREATED_BYna uživatelská jména pomocíFND_USER. Ověřte, že účet používaný k extrakci má oprávnění čístFND_USER. - Advanced Collections: Aktivity „Odeslána upomínka k platbě“ a „Přijat příslib úhrady“ využívají tabulky modulu IEX (Advanced Collections). Pokud tento modul nepoužíváte, tyto části nevrátí žádné řádky.
Ukázkový dotaz sql
/* 1. Invoice Created */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Created' AS ActivityName,
trx.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 2. Invoice Completed */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Completed' AS ActivityName,
trx.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
trx.complete_flag = 'Y'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 3. Invoice Dispatched */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Dispatched' AS ActivityName,
COALESCE(trx.printing_original_date, trx.printing_last_printed, trx.last_update_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON trx.last_updated_by = u.user_id
WHERE
(trx.printing_original_date IS NOT NULL OR trx.printing_count > 0)
AND trx.creation_date >= :p_start_date
UNION ALL
/* 4. Invoice Posted to GL */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Posted to GL' AS ActivityName,
MAX(dist.gl_date) AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ra_customer_trx_all trx
JOIN ra_cust_trx_line_gl_dist_all dist ON trx.customer_trx_id = dist.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
WHERE
dist.account_class = 'REC'
AND dist.posting_control_id != -3
AND trx.creation_date >= :p_start_date
GROUP BY
trx.trx_number,
hou.name,
party.party_name,
trx.invoice_currency_code,
ps.amount_due_original,
type.name
UNION ALL
/* 5. Payment Reminder Sent (Advanced Collections) */
SELECT
trx.trx_number AS InvoiceNumber,
'Payment Reminder Sent' AS ActivityName,
dun.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
iex_dunning_transactions dun
JOIN ar_payment_schedules_all ps ON dun.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON dun.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 6. Promise to Pay Received */
SELECT
trx.trx_number AS InvoiceNumber,
'Promise to Pay Received' AS ActivityName,
pp.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
iex_promise_details pp
JOIN ar_payment_schedules_all ps ON pp.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON pp.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 7. Dispute Case Opened */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Case Opened' AS ActivityName,
req.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 8. Dispute Resolved */
SELECT
trx.trx_number AS InvoiceNumber,
'Dispute Resolved' AS ActivityName,
req.last_update_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_cm_requests req
JOIN ra_customer_trx_all trx ON req.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON req.last_updated_by = u.user_id
WHERE
req.status_code IN ('APPROVED', 'REJECTED')
AND trx.creation_date >= :p_start_date
UNION ALL
/* 9. Credit Memo Issued */
SELECT
trx.trx_number AS InvoiceNumber,
'Credit Memo Issued' AS ActivityName,
cm.trx_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ra_customer_trx_all cm
JOIN ra_customer_trx_all trx ON cm.previous_customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
JOIN ar_payment_schedules_all ps ON trx.customer_trx_id = ps.customer_trx_id
LEFT JOIN fnd_user u ON cm.created_by = u.user_id
WHERE
trx.creation_date >= :p_start_date
UNION ALL
/* 10 & 11. Partial and Full Payment */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN ps.status = 'CL' AND app.amount_applied = app.amount_applied_from THEN 'Full Payment Received'
WHEN ps.status = 'CL' AND ps.amount_due_remaining = 0 AND app.application_rule = '60' THEN 'Full Payment Received'
ELSE 'Partial Payment Posted'
END AS ActivityName,
app.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_receivable_applications_all app
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON app.created_by = u.user_id
WHERE
app.status = 'APP'
AND app.application_type = 'CASH'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 12. Bank Statement Matched */
SELECT
trx.trx_number AS InvoiceNumber,
'Bank Statement Matched' AS ActivityName,
recon.creation_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'Y' AS IsAutomated
FROM
ce_statement_reconcils_all recon
JOIN ar_cash_receipt_history_all crh ON recon.reference_id = crh.cash_receipt_history_id
JOIN ar_cash_receipts_all cr ON crh.cash_receipt_id = cr.cash_receipt_id
JOIN ar_receivable_applications_all app ON cr.cash_receipt_id = app.cash_receipt_id
JOIN ar_payment_schedules_all ps ON app.applied_payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON recon.created_by = u.user_id
WHERE
recon.status_flag = 'M'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 13 & 14. Invoice Adjusted and Written Off */
SELECT
trx.trx_number AS InvoiceNumber,
CASE
WHEN adj.adjustment_type = 'W' THEN 'Invoice Written Off'
ELSE 'Invoice Adjusted'
END AS ActivityName,
adj.apply_date AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
u.user_name AS UserName,
'N' AS IsAutomated
FROM
ar_adjustments_all adj
JOIN ar_payment_schedules_all ps ON adj.payment_schedule_id = ps.payment_schedule_id
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
LEFT JOIN fnd_user u ON adj.created_by = u.user_id
WHERE
adj.status = 'A'
AND trx.creation_date >= :p_start_date
UNION ALL
/* 15. Invoice Cleared (Final Close) */
SELECT
trx.trx_number AS InvoiceNumber,
'Invoice Cleared' AS ActivityName,
ps.gl_date_closed AS EventStartDateTime,
'Oracle Fusion' AS SourceSystem,
SYSDATE AS LastDataUpdate,
hou.name AS BusinessUnit,
party.party_name AS CustomerName,
trx.invoice_currency_code AS Currency,
ps.amount_due_original AS InvoiceAmount,
type.name AS TransactionType,
'System' AS UserName,
'Y' AS IsAutomated
FROM
ar_payment_schedules_all ps
JOIN ra_customer_trx_all trx ON ps.customer_trx_id = trx.customer_trx_id
JOIN ra_cust_trx_types_all type ON trx.cust_trx_type_id = type.cust_trx_type_id
JOIN hr_operating_units hou ON trx.org_id = hou.organization_id
JOIN hz_cust_accounts cust ON trx.bill_to_customer_id = cust.cust_account_id
JOIN hz_parties party ON cust.party_id = party.party_id
WHERE
ps.status = 'CL'
AND ps.gl_date_closed IS NOT NULL
AND trx.creation_date >= :p_start_date Chcete začít?
Použijte tuto šablonu ve svém prostředí Oracle Fusion a proměňte finanční data v poznatky, podle kterých můžete jednat. Náš tým vám pomůže převést konkrétní obchodní logiku na tyto standardy.
Zrychlete inkaso pohledávek
Snižte DSO o 15 až 20 dní a odstraňte mezery v cash flow.
Bez platební karty. Nastavení zabere 5 minut.