Il Suo Template dei dati sui crediti commerciali
Il Suo Template dei dati sui crediti commerciali
- Set completo di attributi consigliati per l'analisi dei crediti commerciali
- Attività e tappe fondamentali del processo da monitorare
- Indicazioni per l'estrazione specifiche per Oracle Fusion Financials
Attributi dei crediti verso clienti
| Nome | Descrizione | ||
|---|---|---|---|
| Nome dell'attività ActivityName | L'evento o l'azione specifica eseguita nel processo di gestione dei crediti. | ||
| Descrizione Questo attributo descrive la fase eseguita nel processo, ad esempio la creazione di una fattura, la registrazione di un pagamento o l'apertura di una controversia. Definisce il flusso della mappa di processo e consente di visualizzare la sequenza degli eventi. Gli analisti utilizzano questo campo per individuare varianti di processo, cicli e colli di bottiglia. È essenziale per verificare l'aderenza alle procedure operative standard e calcolare la frequenza di eventi specifici, come rilavorazioni o interventi manuali. Perché è importante Necessario per definire il flusso di processo e visualizzare la sequenza degli eventi. Dove reperirlo Derivato dalle tabelle della cronologia delle transazioni, ad esempio AR_PAYMENT_SCHEDULES_ALL e RA_CUST_TRX_LINE_GL_DIST_ALL. Esempi Fattura creataSollecito di pagamento inviatoPagamento parziale registratoCaso di contestazione aperto | |||
| Numero fattura InvoiceNumber | Identificativo univoco assegnato alla transazione della fattura in Oracle Fusion. | ||
| Descrizione Questo attributo funge da chiave univoca per identificare le obbligazioni finanziarie nel modulo Accounts Receivable. Collega tutte le attività successive, come rettifiche, controversie e pagamenti, alla transazione di vendita originale. Nell'analisi di Process Mining, questo attributo funge da Case ID. Consente agli analisti di seguire il ciclo di vita completo di un credito dal momento della creazione fino alla completa liquidazione o allo stralcio, facilitando il calcolo dei tempi di ciclo e delle varianti di processo. Perché è importante È l'unità fondamentale di analisi per monitorare il ciclo di vita dal credito all'incasso. Dove reperirlo Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.TRX_NUMBER Esempi INV-2023-00110056789AR-99887755002211 | |||
| Timestamp dell'evento EventStartDateTime | La data e l'ora specifiche in cui si è verificata un'attività. | ||
| Descrizione Questo attributo registra il momento esatto in cui un'attività si è verificata nel sistema. Viene utilizzato per ordinare cronologicamente gli eventi ed è alla base di tutti i calcoli temporali nel Process Mining. Analizzando i timestamp, l'azienda può calcolare i tempi di ciclo tra le attività, come la durata tra la creazione e l'invio di una fattura. È fondamentale per misurare KPI come i Days Sales Outstanding e individuare schemi temporali nelle modalità di pagamento. Perché è importante Fondamentale per calcolare durate, tempi di attraversamento e tempi di ciclo. Dove reperirlo Oracle Fusion Financials: colonne CREATION_DATE o LAST_UPDATE_DATE nelle diverse tabelle delle transazioni. Esempi 2023-10-15T08:30:00Z2023-10-16T14:45:12Z2023-11-01T09:00:00Z | |||
| Sistema di origine SourceSystem | Il sistema di riferimento in cui i dati hanno avuto origine. | ||
| Descrizione Questo attributo identifica l'ambiente software dal quale sono stati estratti i dati di processo. In questo contesto, conferma che i dati provengono dall'ambiente Oracle Fusion Financials. Sebbene sia spesso un valore statico per un'estrazione da un singolo sistema, diventa fondamentale quando si uniscono dati provenienti da più istanze ERP o si integrano strumenti di incasso di terze parti. Garantisce la provenienza e la tracciabilità dei dati in paesaggi di processo composti da più sistemi. Perché è importante Garantisce la provenienza dei dati e distingue tra diverse istanze ERP. Dove reperirlo Codificato durante l'estrazione o configurato nella pipeline dei dati. Esempi Oracle Fusion FinancialsOracle Cloud ERP - USOracle Cloud ERP - EMEA | |||
| Ultimo aggiornamento dei dati LastDataUpdate | Il timestamp dell'ultimo aggiornamento dei dati nello strumento di Process Mining. | ||
| Descrizione Questo attributo indica quando il set di dati è stato sincronizzato l'ultima volta con il sistema Oracle di origine. Aiuta gli utenti a comprendere l'attualità dell'analisi e a verificare se gli insight riflettono lo stato corrente delle operazioni. Il monitoraggio di questo campo è importante per garantire che i Dashboard mostrino informazioni aggiornate, soprattutto nel monitoraggio operativo delle controversie aperte o degli incassi non applicati. Perché è importante Fornisce il contesto sull'aggiornamento e sull'affidabilità dei dati. Dove reperirlo Ora del sistema al momento dell'estrazione. Esempi 2023-11-15T23:59:59Z2023-11-16T00:00:00Z | |||
| Data di scadenza DueDate | La data entro la quale si prevede di ricevere il pagamento. | ||
| Descrizione Questo attributo rappresenta il termine per il pagamento, calcolato in base alla data della fattura e alle condizioni di pagamento. Costituisce il riferimento per determinare se un pagamento è in ritardo. Viene utilizzato nel KPI 'Scostamento nella tempistica dei solleciti' per misurare quanto tempestivamente il team agisce rispetto alla scadenza. Rappresenta inoltre la soglia per classificare i crediti come correnti o scaduti nei report di aging. Perché è importante Il riferimento principale per determinare la morosità e le prestazioni nei pagamenti puntuali. Dove reperirlo Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DUE_DATE Esempi 2023-11-302023-12-152024-01-01 | |||
| È automatizzato IsAutomated | Flag che indica se l'attività è stata eseguita senza intervento umano. | ||
| Descrizione Questo attributo booleano determina se un'attività è stata eseguita da un processo di sistema, ad esempio AutoInvoice o AutoLockbox, oppure da un utente. È il principale indicatore del KPI 'Tasso di automazione dell'applicazione degli incassi'. Monitorando nel tempo il rapporto tra attività automatizzate e manuali, l'organizzazione può verificare il successo delle iniziative di trasformazione digitale e individuare le fasi del processo che rimangono ostinatamente manuali. Perché è importante Metrica principale per misurare la trasformazione digitale e l'efficienza. Dove reperirlo Logica calcolata in base a UserName, ad esempio se User == 'BATCH_USER' allora true. Esempi truefalse | |||
| Importo della fattura InvoiceAmount | Il valore monetario totale della fattura. | ||
| Descrizione Questo attributo rappresenta l'importo originariamente dovuto sulla fattura. Costituisce il principale fattore di ponderazione per molte analisi e consente all'azienda di dare priorità alle transazioni di valore elevato rispetto a quelle di importo ridotto. Nel contesto della vista 'Crediti non applicati e perdite', questo campo aiuta a quantificare l'impatto finanziario degli elementi irrisolti. Viene inoltre utilizzato per calcolare il Days Sales Outstanding medio ponderato, offrendo una prospettiva più orientata al valore finanziario dell'efficienza del processo. Perché è importante Attribuisce un peso finanziario all'analisi e supporta la definizione delle priorità in base al valore. Dove reperirlo Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.AMOUNT_DUE_ORIGINAL Esempi 1500.00250.5010000.00 | |||
| Nome del cliente CustomerName | Il nome dell'entità a cui è stata addebitata la transazione. | ||
| Descrizione Questo attributo identifica il cliente associato alla fattura. È fondamentale per analizzare le modalità di pagamento, la frequenza delle controversie e l'efficacia degli incassi a livello di cliente. Gli analisti utilizzano questo campo per individuare i clienti che pagano frequentemente in ritardo o aprono controversie. Questo insight alimenta il Dashboard 'Analisi delle modalità di pagamento dei clienti' e aiuta ad adattare le condizioni di credito e le strategie di incasso al profilo di ciascun cliente. Perché è importante Essenziale per l'analisi incentrata sul cliente e la profilazione del rischio. Dove reperirlo Oracle Fusion Financials: HZ_PARTIES.PARTY_NAME collegato tramite BILL_TO_CUSTOMER_ID. Esempi Acme CorpGlobex CorporationSoylent Corp | |||
| Nome dell'addetto agli incassi CollectorName | Il nome dell'addetto o della risorsa assegnata all'incasso della fattura. | ||
| Descrizione Questo attributo identifica il dipendente o il membro del team responsabile dell'incasso del pagamento relativo alla fattura. È la dimensione principale del Dashboard 'Produttività degli addetti agli incassi'. I dati di questo campo consentono all'organizzazione di misurare la produttività per addetto, individuare le esigenze formative e bilanciare i carichi di lavoro. Favorisce la responsabilizzazione e contribuisce a standardizzare le attività di incasso all'interno del team finanziario. Perché è importante Fondamentale per analizzare le prestazioni delle risorse e bilanciare i carichi di lavoro. Dove reperirlo Oracle Fusion Financials: AR_COLLECTORS.NAME associato al profilo cliente. Esempi John SmithTeam recupero crediti AJane Doe | |||
| Nome utente UserName | L'utente di sistema che ha eseguito l'attività. | ||
| Descrizione Questo attributo registra l'ID di accesso o il nome della persona che ha eseguito l'attività specifica, ad esempio la registrazione della fattura o l'abbinamento dell'estratto conto bancario. Corrisponde al campo generico 'Utente'. Questi dati sono fondamentali per gli audit di conformità e per il Dashboard 'Produttività degli addetti agli incassi'. Consentono di distinguere le azioni eseguite dalle macchine, spesso dall'utente 'System', da quelle eseguite dalle persone, supportando l'analisi dell'automazione. Perché è importante Consente di monitorare le prestazioni a livello di utente e analizzare la separazione delle responsabilità. Dove reperirlo Oracle Fusion Financials: colonne CREATED_BY o LAST_UPDATED_BY collegate alle tabelle degli utenti. Esempi sysadminjsmithfinance_batch_job | |||
| Segmento cliente CustomerSegment | La classificazione del cliente in base a dimensioni, settore o rischio. | ||
| Descrizione Questo attributo raggruppa i clienti in categorie come Strategic, Enterprise, SME o High Risk. Spesso deriva dalla classe cliente o dalla classe di profilo in Oracle Fusion. L'utilizzo di questo attributo consente di analizzare le varianti di processo nei diversi segmenti di mercato. Ad esempio, aiuta a verificare se i clienti 'Strategic' ricevono il servizio personalizzato previsto o se i clienti 'High Risk' vengono monitorati con attenzione per quanto riguarda la conformità dei pagamenti. Perché è importante Consente un'analisi segmentata delle strategie di incasso e del rischio. Dove reperirlo Oracle Fusion Financials: HZ_CUSTOMER_PROFILES.PROFILE_CLASS_ID. Esempi Grandi aziendePiccole impreseEnti pubbliciAlto rischio | |||
| Tipo di transazione TransactionType | La classificazione del documento di credito, ad esempio Invoice, Credit Memo o Debit Memo. | ||
| Descrizione Questo attributo distingue i diversi tipi di documenti finanziari. I valori più comuni includono Invoice, Credit Memo e Debit Memo. La distinzione è fondamentale per il Dashboard 'Volume e rilavorazione delle note di credito'. Filtrando questo attributo, gli analisti possono isolare i cicli di rilavorazione causati dalle note di credito o concentrarsi esclusivamente sul flusso principale di fatturazione. Aiuta a comprendere la composizione del carico di lavoro relativo ai crediti. Perché è importante Distingue le fatture standard dalle rettifiche e dalle correzioni. Dove reperirlo Oracle Fusion Financials: RA_CUST_TRX_TYPES_ALL.NAME Esempi FatturaNota di creditoNota di debitoStorno addebitato | |||
| Unità aziendale BusinessUnit | L'entità operativa dell'organizzazione responsabile della fattura. | ||
| Descrizione Questo attributo corrisponde all'Organization ID in Oracle Fusion e rappresenta l'unità aziendale o la divisione specifica a cui appartiene il credito. Consente di segmentare le prestazioni del processo tra le diverse aree dell'azienda. Il confronto di KPI come il tempo di risoluzione delle controversie o il DSO tra diverse unità aziendali aiuta il management a individuare i team con le migliori prestazioni e a standardizzare le best practice. Evidenzia inoltre le unità che potrebbero richiedere risorse aggiuntive o una riprogettazione del processo. Perché è importante Dimensione fondamentale per il benchmarking organizzativo e il confronto delle prestazioni. Dove reperirlo Oracle Fusion Financials: HR_ORGANIZATION_UNITS.NAME collegato tramite ORG_ID. Esempi Vendite Stati Uniti orientaliServizi EMEAProduzione APAC | |||
| Area geografica Region | L'area geografica associata all'unità aziendale o al cliente. | ||
| Descrizione Questo attributo associa la transazione a un'area geografica più ampia, come Nord America, EMEA o APAC. È utile per il reporting direzionale di alto livello e per il Dashboard 'Tendenze del DSO e del ciclo di cassa'. L'analisi regionale aiuta a tenere conto delle differenze culturali nelle modalità di pagamento, ad esempio condizioni di pagamento standard più lunghe nell'Europa meridionale rispetto agli Stati Uniti, e garantisce che i KPI globali siano interpretati nel corretto contesto locale. Perché è importante Fornisce una segmentazione geografica di alto livello per il reporting globale. Dove reperirlo Oracle Fusion Financials: derivato dall'unità aziendale o dall'indirizzo del cliente. Esempi Nord AmericaEMEAAPACLATAM | |||
| Codice valuta CurrencyCode | La valuta in cui è espresso l'importo della fattura. | ||
| Descrizione Questo attributo specifica la valuta, ad esempio USD o EUR, degli importi finanziari. È necessario per interpretare correttamente l'importo della fattura ed effettuare conversioni valutarie qualora sia richiesta una valuta di reporting globale. Per le organizzazioni globali, questo attributo aiuta ad analizzare le prestazioni degli incassi nelle diverse aree economiche e consente ai team finanziari di distinguere gli effetti valutari dalle prestazioni operative del processo. Perché è importante Fornisce il contesto necessario per interpretare i valori finanziari in ambienti multi-valuta. Dove reperirlo Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.INVOICE_CURRENCY_CODE Esempi USDEURGBPJPY | |||
| Condizioni di pagamento PaymentTerms | Le condizioni concordate relative ai tempi di pagamento, ad esempio Net 30. | ||
| Descrizione Questo attributo definisce il periodo di pagamento concordato contrattualmente. Viene utilizzato per calcolare la data di scadenza ed è essenziale per il Dashboard 'Efficacia della strategia di incasso'. Le differenze nelle condizioni di pagamento applicate ai clienti possono spiegare variazioni nel DSO. Questo attributo consente agli analisti di normalizzare i dati sulle prestazioni, evitando di classificare ingiustamente come 'pagatore lento' un cliente con condizioni Net 60 rispetto a uno con condizioni Net 30. Perché è importante Fornisce il contesto per valutare la rapidità del pagamento rispetto agli accordi contrattuali. Dove reperirlo Oracle Fusion Financials: RA_TERMS.NAME Esempi 30 giorni nettiImmediato2/10, 30 giorni netti60 giorni netti | |||
| Data di idoneità allo sconto DiscountEligibilityDate | L'ultima data entro la quale il cliente può pagare per ottenere uno sconto per pagamento anticipato. | ||
| Descrizione Questo attributo indica il termine entro il quale il cliente può usufruire di condizioni come '2/10 Net 30' (sconto del 2% se il pagamento avviene entro 10 giorni). È necessario per il Dashboard 'Analisi degli sconti per pagamento anticipato'. Il confronto dei pagamenti con questa data evidenzia il 'Tasso di utilizzo dello sconto per pagamento anticipato'. Aiuta l'azienda a capire se le strategie di sconto accelerano efficacemente il flusso di cassa o se vengono ignorate dai clienti. Perché è importante Supporta l'analisi dell'efficacia degli incentivi e dell'accelerazione del flusso di cassa. Dove reperirlo Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DISCOUNT_DATE Esempi 2023-11-102023-12-05 | |||
| È rilavorazione IsRework | Flag che indica se la fattura ha attraversato cicli di correzione o controversia. | ||
| Descrizione Questo attributo booleano identifica se una fattura ha attraversato attività associate alla correzione di errori, come 'Nota di credito emessa' o 'Fattura rettificata'. Supporta il Dashboard 'Volume e rilavorazione delle note di credito'. L'identificazione dei casi di rilavorazione aiuta a distinguere i processi del percorso standard da quelli problematici. Tassi elevati di rilavorazione sono un indicatore anticipatore di problemi nella qualità dei dati a monte, nei dati master o nei processi di inserimento degli ordini di vendita. Perché è importante Identifica gli sprechi e le inefficienze nel flusso di processo. Dove reperirlo Calcolato: True se il caso contiene 'Nota di credito emessa' o 'Controversia aperta'. Esempi truefalse | |||
| Motivo della controversia DisputeReason | La categoria o il codice motivo assegnato quando viene aperta una controversia. | ||
| Descrizione Questo attributo registra la motivazione fornita quando si verifica l'attività 'Controversia aperta'. I valori comuni possono includere 'Errore di prezzo', 'Differenza di quantità' o 'Merce danneggiata'. L'analisi di questo attributo nel Dashboard 'Ciclo di vita e colli di bottiglia delle controversie' aiuta a individuare le cause principali dei ritardi nei pagamenti. Se 'Errore di prezzo' è frequente, l'azienda sa di dover esaminare il processo di definizione delle offerte a monte, anziché concentrarsi soltanto sul processo di incasso. Perché è importante Fondamentale per l'analisi delle cause principali dei ritardi nei pagamenti e delle rilavorazioni. Dove reperirlo Oracle Fusion Financials: RA_CM_REQUESTS.REASON_CODE o AR_DISPUTE_HISTORY. Esempi Contestazione del prezzoErrore fiscaleMerce non ricevutaFatturazione duplicata | |||
| Origine della creazione CreationSource | L'origine della fattura, che indica se è stata inserita manualmente o importata. | ||
| Descrizione Questo attributo mostra come la fattura è entrata nel sistema Oracle, ad esempio tramite 'Manual Entry', 'AutoInvoice' o specifici flussi esterni. È un indicatore indiretto della mappatura generica 'Canale'. È fondamentale per il 'Monitoraggio dell'automazione dell'applicazione degli incassi'. Aiuta a distinguere i processi completamente digitali da quelli che richiedono una configurazione manuale. Volumi elevati di 'Manual Entry' possono indicare una carenza di integrazione a monte o inefficienze del sistema. Perché è importante Identifica il livello di automazione a monte e l'origine dei dati. Dove reperirlo Oracle Fusion Financials: RA_BATCH_SOURCES_ALL.NAME Esempi AutoInvoiceManualeImplementazione dei progettiGestione degli ordini | |||
Attività dei crediti verso clienti
| Attività | Descrizione | ||
|---|---|---|---|
| Fattura chiusa | Stato finale in cui la fattura viene chiusa nel sistema, generalmente perché il saldo è pari a zero a seguito di un pagamento, di una nota di credito o di una rettifica. | ||
| Perché è importante Il timestamp di questo evento viene utilizzato per calcolare i Days Sales Outstanding (DSO). Rappresenta la fine dell'istanza di processo. Dove reperirlo Identificato quando STATUS in AR_PAYMENT_SCHEDULES_ALL cambia in 'CL' (Closed). Acquisizione Confrontare il campo di stato prima e dopo Tipo di evento inferred | |||
| Fattura completata | Indica che il processo di creazione della fattura è terminato e che la fattura è pronta per essere elaborata, stampata e registrata. Ciò avviene quando lo stato della transazione passa da incompleto a completo. | ||
| Perché è importante Distingue il tempo di predisposizione dal tempo di elaborazione. I ritardi in questa fase indicano colli di bottiglia nel processo interno di generazione delle fatture. Dove reperirlo Identificato quando COMPLETE_FLAG in RA_CUSTOMER_TRX_ALL passa a 'Y'. Acquisizione Confrontare il campo di stato prima e dopo Tipo di evento inferred | |||
| Fattura creata | Questa attività indica la creazione iniziale del record della fattura nel sistema. Registra il timestamp in cui l’intestazione della transazione viene salvata per la prima volta nelle tabelle Oracle Receivables. | ||
| Perché è importante Stabilisce l’inizio del ciclo di vita del processo e il riferimento per i calcoli dell’aging. È essenziale per calcolare la durata complessiva del ciclo e il tempo di attraversamento fino all’invio. Dove reperirlo Derivato dalla tabella RA_CUSTOMER_TRX_ALL utilizzando la colonna CREATION_DATE o TRX_DATE. Acquisizione Registrato quando viene inserita la riga della transazione Tipo di evento explicit | |||
| Fattura inviata | Rappresenta la trasmissione della fattura al cliente tramite stampa, e-mail o XML. Indica il passaggio di consegna dall’organizzazione al cliente. | ||
| Perché è importante È fondamentale per misurare le performance di invio delle fatture. L’intervallo tra creazione e invio ritarda direttamente il ciclo di riscossione. Dove reperirlo Inferito da PRINTING_ORIGINAL_DATE in RA_CUSTOMER_TRX_ALL o da log specifici dell’Oracle Collaboration Messaging Framework quando si utilizza XML. Acquisizione Confrontare il campo di stato prima e dopo Tipo di evento inferred | |||
| Pagamento completo ricevuto | Si verifica quando l'applicazione di un incasso riduce a zero il saldo della fattura. È il principale evento di successo del processo di incasso. | ||
| Perché è importante È fondamentale per l'analisi degli sconti per pagamento anticipato. La tempistica di questo evento determina se l'incasso è avvenuto entro il periodo utile per lo sconto. Dove reperirlo Proveniente da AR_RECEIVABLE_APPLICATIONS_ALL, dove STATUS = 'APP' e il valore risultante di AMOUNT_DUE_REMAINING è 0. Acquisizione Derivato dal confronto tra il campo X e il campo Y Tipo di evento calculated | |||
| Pagamento parziale registrato | Si verifica quando un incasso viene applicato alla fattura, ma l'importo è inferiore al saldo totale ancora dovuto. La fattura rimane aperta con un saldo ridotto. | ||
| Perché è importante Un'elevata frequenza indica modalità di pagamento frammentate (KPI della frequenza dei pagamenti parziali), che aumentano il lavoro di riconciliazione. Dove reperirlo Proveniente da AR_RECEIVABLE_APPLICATIONS_ALL, dove STATUS = 'APP' e AMOUNT_APPLIED < AMOUNT_DUE_REMAINING. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Caso di contestazione aperto | Indica l’avvio di una contestazione formale relativa alla fattura. Le normali attività di riscossione vengono sospese mentre il problema viene esaminato. | ||
| Perché è importante È un indicatore importante di colli di bottiglia. Tassi elevati di contestazione suggeriscono problemi a monte nell’evasione degli ordini o nell’accuratezza della fatturazione. Dove reperirlo Identificato dai record in RA_CM_REQUESTS_ALL o da specifici Workflow Credit Memo Request collegati alla fattura. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Contestazione risolta | Indica la conclusione dell'indagine sulla controversia. L'esito può essere l'approvazione di una nota di credito (controversia valida) oppure il rifiuto (controversia non valida). | ||
| Perché è importante Necessario per calcolare il tempo medio di risoluzione delle controversie. Tempi di risoluzione lunghi incidono negativamente sulla soddisfazione dei clienti e sul DSO. Dove reperirlo Derivato dalla modifica dello stato a 'APPROVED' o 'REJECTED' in RA_CM_REQUESTS_ALL. Acquisizione Confrontare il campo di stato prima e dopo Tipo di evento inferred | |||
| Estratto conto bancario riconciliato | Indica che l'incasso applicato alla fattura è stato riconciliato con una riga dell'estratto conto bancario. Conferma che l'importo è stato effettivamente accreditato sul conto bancario. | ||
| Perché è importante Misura l'automazione dell'applicazione degli incassi. L'intervallo tra la registrazione del pagamento e l'abbinamento bancario rappresenta un incasso non confermato. Dove reperirlo Unito da AR_CASH_RECEIPTS_ALL a CE_STATEMENT_LINES (Cash Management) tramite il riferimento di riconciliazione. Acquisizione Confrontare il campo di stato prima e dopo Tipo di evento inferred | |||
| Fattura registrata nella contabilità generale | Registra l’evento in cui le scritture contabili della fattura vengono finalizzate e trasferite al General Ledger. Questo assicura la Conformità finanziaria e la preparazione alla chiusura del periodo. | ||
| Perché è importante Sebbene non incida sulla visione del cliente, un ritardo in questa fase influisce sul ciclo di chiusura finanziaria e sulla puntualità della reportistica. Dove reperirlo Derivato da GL_DATE nella tabella RA_CUST_TRX_LINE_GL_DIST_ALL. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Fattura rettificata | Registra le rettifiche manuali al saldo della fattura, come piccoli stralci o rettifiche valutarie, distinte dalle note di credito. | ||
| Perché è importante Aiuta a individuare perdite di ricavi e percorsi di processo non standard, nei quali i saldi vengono azzerati senza un pagamento. Dove reperirlo Proveniente dalla tabella AR_ADJUSTMENTS_ALL collegata alla fattura. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Fattura stralciata | Tipo specifico di rettifica in cui il saldo residuo è considerato inesigibile e viene stralciato come perdita su crediti. Rappresenta uno stato terminale negativo. | ||
| Perché è importante È fondamentale per il monitoraggio della solidità finanziaria. Distingue l'efficienza operativa, ovvero la rapidità dei pagamenti, dai problemi relativi alla qualità del credito. Dove reperirlo Proveniente da AR_ADJUSTMENTS_ALL, dove il tipo di rettifica è classificato come 'Write-off' o collegato a un conto di perdite su crediti. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Nota di credito emessa | Registra la creazione di una transazione di nota di credito applicata alla fattura. Riduce il saldo dovuto, spesso in risposta a una controversia o a un reso. | ||
| Perché è importante Tiene traccia del tasso di rilavorazione delle note di credito e delle perdite di ricavi. Un numero elevato di note di credito indica errori di fatturazione sistemici. Dove reperirlo Proveniente da RA_CUSTOMER_TRX_ALL, dove TRX_TYPE è Credit Memo e RELATED_CUSTOMER_TRX_ID corrisponde alla fattura. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Ricevuta promessa di pagamento | Registra l’impegno del cliente a pagare un importo specifico entro una data specifica. In genere viene inserito manualmente da un addetto alla riscossione durante un’interazione con il cliente. | ||
| Perché è importante È fondamentale per analizzare il comportamento di pagamento dei clienti. Le promesse non mantenute indicano un rischio di credito elevato e potenziali futuri crediti inesigibili. Dove reperirlo Proveniente dalla tabella IEX_PROMISE_DETAILS nel modulo Collections. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
| Sollecito di pagamento inviato | Registra l’invio al cliente di una lettera di sollecito o di un promemoria per il pagamento. Questo evento viene generato dal modulo Advanced Collections. | ||
| Perché è importante È essenziale per analizzare l’efficacia della strategia di riscossione. Mettere questo evento in relazione con i pagamenti aiuta a determinare quali strategie di sollecito producano il recupero di liquidità più rapido. Dove reperirlo Si trova nelle tabelle IEX_DUNNING o IEX_STRATEGY_WORK_ITEMS collegate al conto cliente. Acquisizione Registrato quando viene eseguita la transazione X Tipo di evento explicit | |||
Guide all'estrazione
Passaggi
Acceda alla console Oracle BI Cloud Connector (BICC). Vada alla sezione Manage Offerings and Data Stores.
Configuri la connessione di archiviazione. Si assicuri di disporre di una connessione valida a Oracle Universal Content Management (UCM) o a un Object Storage esterno, come OCI Object Storage, nel quale verranno depositati i file CSV/Parquet estratti.
Selezioni l'offerta Financials. Individui l'offerta Financials per accedere ai View Objects dei crediti commerciali.
Selezioni e configuri i View Objects (VO). Deve selezionare gli specifici Public View Objects (PVO) necessari per creare l'Event Log. I PVO essenziali includono:
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionHeaderExtractPVO (intestazioni delle fatture)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionLineExtractPVO (righe delle fatture)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.ReceiptApplicationExtractPVO (pagamenti e applicazioni delle note di credito)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.AdjustmentExtractPVO (rettifiche e stralci)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.PromiseDetailExtractPVO (promesse di pagamento)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.StrategyWorkItemExtractPVO (solleciti/promemoria)
Definisca i criteri di filtro (pruning). In Manage Extract Schedules o nella configurazione del PVO, imposti un filtro su CreationDate o LastUpdateDate per estrarre i dati relativi al periodo di analisi, ad esempio gli ultimi 12 mesi.
Pianifichi l'estrazione. Crei una pianificazione per eseguire queste estrazioni ogni giorno. Scelga Incremental Load per acquisire, dopo il Full Load iniziale, solo i dati modificati.
Scarichi e acquisisca i dati. Utilizzi uno script automatizzato o uno strumento di integrazione per prelevare i file da UCM/Object Storage e caricarli nelle tabelle di staging del Suo data warehouse, ad esempio STG_AR_TRX_HEADER e STG_AR_APPLICATIONS.
Applichi la logica di trasformazione. Esegua lo script SQL fornito nella sezione Query sulle tabelle di staging per trasformare i dati relazionali nel formato Event Log di ProcessMind.
Convalidi i tipi di dati. Si assicuri che i campi data siano convertiti in oggetti datetime e che gli importi numerici gestiscano correttamente i decimali durante la trasformazione.
Esporti in CSV/Parquet. Esporti il risultato finale dal Suo data warehouse in un unico file.
Carichi i dati in ProcessMind. Importi il file associando InvoiceNumber a Case ID, ActivityName ad Activity ed EventStartDateTime a Timestamp.
Configurazione
- Frequenza di estrazione: giornaliera (Incremental), consigliata per acquisire le variazioni di stato più recenti.
- Caricamento iniziale: selezioni 'Full Extract' per la prima esecuzione, quindi passi a 'Incremental' in base a Last Update Date.
- PVO principali: TransactionHeaderExtractPVO, ReceiptApplicationExtractPVO, AdjustmentExtractPVO, StrategyWorkItemExtractPVO.
- Filtro sulle date: applichi filtri su CreationDate >= '202X-01-01' per limitare il volume.
- Dimensione del recupero: il valore predefinito è generalmente di 50000 righe; lo adegui in base alla larghezza di banda della rete se utilizza il download da UCM.
- Chiavi primarie: si assicuri che il data warehouse a valle gestisca gli upsert utilizzando le chiavi primarie dei PVO, generalmente CustomerTrxId, ReceivableApplicationId e così via, per evitare righe duplicate.
- Cronologia di audit: i PVO BICC standard acquisiscono lo stato corrente. Per registrare con precisione i timestamp storici delle variazioni di stato, come Dispute Opened, potrebbe essere necessario abilitare le Audit Policies in Fusion ed estrarre gli Audit View Objects, qualora le tabelle transazionali non conservino la cronologia.
a Query di esempio 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 Passaggi
Acceda a Oracle Fusion Applications: vada a Tools > Reports and Analytics. Faccia clic su Browse Catalog per aprire l'interfaccia Oracle BI Publisher.
Crei il Data Model: faccia clic su New in alto a sinistra e selezioni Data Model. Questo è il contenitore della logica di estrazione SQL.
Definisca il Data Set SQL: nell'albero Data Model a sinistra, faccia clic su Data Sets, quindi selezioni New Data Set > SQL Query.
Configuri l'origine dati: assegni un nome al data set, ad esempio
ProcessMining_AR. SelezioniApplicationDB_FSCM(Financials Supply Chain Management) come Data Source. In questo modo avrà accesso alle tabelle necessarie di AR e RA.Incolli la query: copi lo script SQL completo fornito nella sezione Query sottostante e lo incolli nella casella di testo SQL Query. Non modifichi la logica principale, salvo la necessità di rinominare specifici Flexfield (DFF).
Imposti i parametri: la query include il segnaposto
:p_start_dateper filtrare in base alla data di creazione della transazione. Nella scheda Parameters del Data Model, crei un nuovo parametro denominatop_start_date, con Data Type: Date, e imposti un valore predefinito, ad esempio01-01-2023.Visualizzi i dati: faccia clic sulla scheda Data, inserisca una data valida per il parametro e faccia clic su View. Verifichi che l'output contenga righe con colonne come
InvoiceNumber,ActivityNameedEventStartDateTime.Salvi il Data Model: salvi l'oggetto nella directory Shared Folders > Custom, ad esempio
/Shared Folders/Custom/ProcessMining/AR_Extract_DM.Pianifichi/esporti: per estrarre grandi volumi, faccia clic su Create Report utilizzando questo Data Model. Nell'editor del report, verifichi che il layout sia una semplice tabella. Salvi il report. Utilizzi quindi lo Scheduler per eseguire il report e produrre i dati in formato CSV o XML.
Formattazione finale: scarichi il file di output. Se è in formato CSV, si assicuri che il formato delle date sia coerente, preferibilmente ISO 8601. Carichi il file in ProcessMind associando
InvoiceNumbera Case ID,ActivityNamead Activity edEventStartDateTimea Timestamp.
Configurazione
- Origine dei dati: utilizzi
ApplicationDB_FSCMper accedere alle tabelle Financials. - Filtro per data: la query utilizza
ra_customer_trx_all.creation_date >= :p_start_date. Configuri il parametro per caricare i dati in una finestra mobile, ad esempio gli ultimi 12 mesi. - Prestazioni: per set di dati con oltre 100.000 fatture, valuti l’aggiunta di un limite
ROWNUMdurante i test oppure suddivida l’estrazione per mese. - Filtro per unità aziendale: se l’organizzazione dispone di più unità aziendali e ne occorre una sola, rimuova il commento dalla riga
AND trx.org_id = ...nelle clausoleWhere. - Nomi utente: la query risolve gli ID utente
CREATED_BYnei nomi utente tramiteFND_USER. Verifichi che l’utente che esegue l’estrazione disponga dell’autorizzazione per leggereFND_USER. - Advanced Collections: le attività 'Payment Reminder Sent' e 'Promise to Pay Received' si basano sulle tabelle del modulo IEX (Advanced Collections). Se il modulo non viene utilizzato, queste sezioni restituiranno semplicemente zero righe.
a Query di esempio 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 È pronto per iniziare?
Trasformi i Suoi dati finanziari in insight operativi applicando questo Template al Suo ambiente Oracle Fusion. Il nostro team è a Sua disposizione per aiutarLa a ricondurre la logica specifica della Sua azienda a questi standard.
Acceleri oggi gli incassi dei Suoi crediti commerciali
Riduca il DSO di 15-20 giorni e risolva subito le lacune nel flusso di cassa.
Non è richiesta alcuna carta di credito. Configurazione in 5 minuti.