Templat data piutang usaha Anda
Templat data piutang usaha Anda
- Daftar atribut yang disarankan untuk analisis piutang usaha
- Aktivitas dan tonggak utama proses yang perlu dipantau
- Panduan ekstraksi khusus untuk Oracle Fusion Financials
Atribut piutang usaha
| Nama | Deskripsi | ||
|---|---|---|---|
| Nama aktivitas ActivityName | Peristiwa atau tindakan tertentu dalam proses piutang usaha. | ||
| Deskripsi Atribut ini menjelaskan langkah dalam proses, seperti membuat faktur, membukukan pembayaran, atau membuka sengketa. Atribut ini menentukan alur peta proses dan membantu menampilkan urutan peristiwa. Analis menggunakan kolom ini untuk menemukan variasi proses, pengulangan, dan hambatan. Kolom ini penting untuk menilai kepatuhan terhadap prosedur operasi standar serta menghitung frekuensi peristiwa tertentu, seperti pengerjaan ulang atau intervensi manual. Mengapa ini penting Diperlukan untuk menentukan alur proses dan menampilkan urutan peristiwa. Sumber data Diambil dari tabel riwayat transaksi, misalnya AR_PAYMENT_SCHEDULES_ALL dan RA_CUST_TRX_LINE_GL_DIST_ALL. Contoh Faktur dibuatPengingat pembayaran dikirimPembayaran sebagian dibukukanKasus sengketa dibuka | |||
| Nomor faktur InvoiceNumber | Pengenal unik yang diberikan kepada transaksi faktur di Oracle Fusion. | ||
| Deskripsi Atribut ini berfungsi sebagai kunci unik untuk mengidentifikasi kewajiban keuangan dalam modul Accounts Receivable. Atribut ini menghubungkan semua aktivitas berikutnya, seperti penyesuaian, sengketa, dan pembayaran, ke transaksi penjualan asal. Dalam analisis process mining, atribut ini berfungsi sebagai ID Kasus. Analis dapat melacak siklus piutang dari saat dibuat hingga lunas sepenuhnya atau dihapuskan. Data ini membantu menghitung waktu siklus dan variasi proses. Mengapa ini penting Atribut ini menjadi unit dasar untuk melacak siklus kredit hingga kas. Sumber data Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.TRX_NUMBER Contoh INV-2023-00110056789AR-99887755002211 | |||
| Waktu peristiwa EventStartDateTime | Tanggal dan waktu terjadinya suatu aktivitas. | ||
| Deskripsi Atribut ini mencatat waktu tepat suatu aktivitas berlangsung di sistem. Data ini digunakan untuk mengurutkan peristiwa secara kronologis dan menjadi dasar semua perhitungan waktu dalam process mining. Dengan menganalisis stempel waktu, bisnis dapat menghitung waktu siklus antaraktivitas, seperti jeda antara pembuatan dan pengiriman faktur. Data ini penting untuk mengukur KPI seperti jumlah hari piutang usaha tertunggak dan menemukan pola waktu dalam perilaku pembayaran. Mengapa ini penting Menjadi dasar untuk menghitung durasi, waktu tunggu, dan waktu siklus. Sumber data Oracle Fusion Financials: kolom CREATION_DATE atau LAST_UPDATE_DATE di berbagai tabel transaksi. Contoh 2023-10-15T08:30:00Z2023-10-16T14:45:12Z2023-11-01T09:00:00Z | |||
| Pembaruan data terakhir LastDataUpdate | Waktu terakhir data diperbarui di alat process mining. | ||
| Deskripsi Atribut ini menunjukkan kapan kumpulan data terakhir disinkronkan dengan sistem Oracle sumber. Informasi ini membantu pengguna mengetahui seberapa baru analisis dilakukan dan apakah hasilnya mencerminkan kondisi operasional saat ini. Pantau kolom ini untuk memastikan dasbor menampilkan informasi terkini, terutama saat memantau sengketa yang masih terbuka atau kas yang belum diterapkan. Mengapa ini penting Memberi konteks tentang kebaruan dan keandalan data. Sumber data Waktu sistem saat ekstraksi dilakukan. Contoh 2023-11-15T23:59:59Z2023-11-16T00:00:00Z | |||
| Sistem sumber SourceSystem | Sistem pencatatan asal data. | ||
| Deskripsi Atribut ini menunjukkan lingkungan perangkat lunak tempat data proses diekstrak. Dalam konteks ini, atribut tersebut memastikan bahwa data berasal dari lingkungan Oracle Fusion Financials. Nilainya sering kali tetap jika data diekstrak dari satu sistem. Namun, atribut ini penting saat menggabungkan data dari beberapa instans ERP atau mengintegrasikan alat penagihan pihak ketiga. Atribut ini memastikan asal-usul dan keterlacakan data dalam lanskap proses yang melibatkan beberapa sistem. Mengapa ini penting Memastikan asal-usul data dan membedakan berbagai instans ERP. Sumber data Diisi secara tetap saat ekstraksi atau dikonfigurasi di pipeline data. Contoh Oracle Fusion FinancialsOracle Cloud ERP - ASOracle Cloud ERP - EMEA | |||
| Diotomatisasi IsAutomated | Penanda yang menunjukkan apakah aktivitas dilakukan tanpa campur tangan manusia. | ||
| Deskripsi Atribut boolean ini menentukan apakah aktivitas dijalankan oleh proses sistem, misalnya AutoInvoice atau AutoLockbox, atau oleh pengguna. Atribut ini menjadi dasar utama KPI 'Tingkat Otomatisasi Aplikasi Kas'. Dengan melacak perbandingan aktivitas otomatis dan manual dari waktu ke waktu, organisasi dapat menilai keberhasilan inisiatif transformasi digital dan menemukan langkah proses tertentu yang masih dilakukan secara manual. Mengapa ini penting Metrik utama untuk mengukur transformasi digital dan efisiensi. Sumber data Logika perhitungan berdasarkan UserName (misalnya, jika User == 'BATCH_USER' maka true). Contoh truefalse | |||
| Jenis transaksi TransactionType | Klasifikasi dokumen piutang, seperti faktur, nota kredit, atau nota debit. | ||
| Deskripsi Atribut ini membedakan berbagai jenis dokumen keuangan. Nilai yang umum mencakup faktur, nota kredit, dan nota debit. Pembedaan ini penting untuk dasbor 'Volume dan Pengerjaan Ulang Nota Kredit'. Dengan memfilter atribut ini, analis dapat memisahkan pengulangan proses yang disebabkan oleh nota kredit atau berfokus pada alur utama penagihan faktur. Atribut ini membantu memahami komposisi beban kerja piutang. Mengapa ini penting Membedakan faktur standar dari penyesuaian dan koreksi. Sumber data Oracle Fusion Financials: RA_CUST_TRX_TYPES_ALL.NAME Contoh FakturNota kreditNota debitTagihan balik | |||
| Jumlah faktur InvoiceAmount | Nilai total faktur. | ||
| Deskripsi Atribut ini menunjukkan jumlah awal yang harus dibayar untuk faktur. Nilainya menjadi faktor pembobot utama dalam banyak analisis, sehingga bisnis dapat memprioritaskan transaksi bernilai tinggi dibandingkan transaksi bernilai rendah dalam jumlah besar. Dalam 'Tampilan Kredit Belum Diterapkan dan Kebocoran', kolom ini membantu mengukur dampak keuangan dari item yang belum terselesaikan. Kolom ini juga digunakan untuk menghitung rata-rata tertimbang jumlah hari piutang usaha tertunggak, sehingga efisiensi proses dapat dilihat dari sisi keuangan. Mengapa ini penting Memberi bobot finansial pada analisis dan mendukung penentuan prioritas berdasarkan nilai. Sumber data Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.AMOUNT_DUE_ORIGINAL Contoh 1500.00250.5010000.00 | |||
| Nama pelanggan CustomerName | Nama entitas yang ditagih dalam transaksi. | ||
| Deskripsi Atribut ini mengidentifikasi pelanggan yang terkait dengan faktur. Atribut ini penting untuk menganalisis pola pembayaran, frekuensi sengketa, dan efektivitas penagihan pada tingkat pelanggan. Analis menggunakan kolom ini untuk menemukan pelanggan tertentu yang sering terlambat membayar atau mengajukan sengketa. Informasi ini mendukung dasbor 'Analisis Perilaku Pembayaran Pelanggan' dan membantu menyesuaikan persyaratan kredit serta strategi penagihan dengan profil tiap pelanggan. Mengapa ini penting Penting untuk analisis yang berfokus pada pelanggan dan pemetaan risiko. Sumber data Oracle Fusion Financials: HZ_PARTIES.PARTY_NAME yang terhubung melalui BILL_TO_CUSTOMER_ID. Contoh Acme CorpGlobex CorporationSoylent Corp | |||
| Nama Pengguna UserName | Pengguna sistem yang melakukan aktivitas. | ||
| Deskripsi Atribut ini mencatat ID login atau nama orang yang melakukan aktivitas tertentu, misalnya memposting faktur atau mencocokkan rekening koran. Atribut ini dipetakan ke kolom umum 'Pengguna'. Data ini penting untuk audit kepatuhan dan dashboard 'Produktivitas Petugas Penagihan'. Data ini membantu membedakan tindakan yang dilakukan sistem, biasanya oleh pengguna 'System', dari tindakan yang dilakukan manusia, sehingga analisis otomatisasi dapat dilakukan. Mengapa ini penting Memungkinkan pelacakan kinerja per pengguna dan analisis pemisahan tugas. Sumber data Oracle Fusion Financials: kolom CREATED_BY atau LAST_UPDATED_BY yang digabungkan dengan tabel pengguna. Contoh sysadminjsmithfinance_batch_job | |||
| Nama petugas penagihan CollectorName | Nama petugas atau sumber daya penagihan yang ditugaskan untuk menangani faktur. | ||
| Deskripsi Atribut ini mengidentifikasi karyawan atau anggota tim yang bertanggung jawab menagih pembayaran faktur. Atribut ini menjadi dimensi utama untuk dasbor 'Produktivitas Petugas Penagihan'. Data dari kolom ini membantu organisasi mengukur produktivitas tiap petugas, menemukan kebutuhan pelatihan, dan menyeimbangkan beban kerja. Data ini mendorong akuntabilitas dan membantu menyeragamkan upaya penagihan di seluruh tim keuangan. Mengapa ini penting Penting untuk menganalisis kinerja sumber daya dan menyeimbangkan beban kerja. Sumber data Oracle Fusion Financials: AR_COLLECTORS.NAME yang terkait dengan Profil Pelanggan. Contoh John SmithTim Penagihan AJane Doe | |||
| Segmen pelanggan CustomerSegment | Pengelompokan pelanggan berdasarkan ukuran, industri, atau risiko. | ||
| Deskripsi Atribut ini mengelompokkan pelanggan, misalnya ke kategori Strategis, Perusahaan, UKM, atau Risiko Tinggi. Biasanya, pengelompokan ini berasal dari kelas pelanggan atau kelas profil di Oracle Fusion. Atribut ini memungkinkan analisis variasi proses di berbagai segmen pasar. Misalnya, Anda dapat memeriksa apakah pelanggan Strategis menerima layanan khusus yang dijanjikan atau apakah pelanggan Risiko Tinggi dipantau dengan cermat untuk memastikan kepatuhan pembayaran. Mengapa ini penting Memungkinkan analisis strategi penagihan dan risiko berdasarkan segmen. Sumber data Oracle Fusion Financials: HZ_CUSTOMER_PROFILES.PROFILE_CLASS_ID. Contoh PerusahaanUsaha kecilPemerintahRisiko tinggi | |||
| Tanggal Jatuh Tempo DueDate | Tanggal pembayaran diharapkan diterima. | ||
| Deskripsi Atribut ini menunjukkan batas waktu pembayaran yang dihitung berdasarkan Tanggal Faktur dan Ketentuan Pembayaran. Tanggal ini menjadi acuan untuk menentukan apakah pembayaran terlambat. Atribut ini digunakan dalam KPI 'Selisih Waktu Pengingat Penagihan' untuk mengukur seberapa awal tim bertindak sebelum tenggat. Tanggal ini juga menjadi batas untuk mengelompokkan piutang sebagai belum jatuh tempo atau lewat jatuh tempo dalam laporan umur piutang. Mengapa ini penting Acuan utama untuk menentukan keterlambatan dan ketepatan waktu pembayaran. Sumber data Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DUE_DATE Contoh 2023-11-302023-12-152024-01-01 | |||
| Unit bisnis BusinessUnit | Entitas operasional dalam organisasi yang bertanggung jawab atas faktur. | ||
| Deskripsi Atribut ini dipetakan ke Organization ID di Oracle Fusion, yang menunjukkan unit bisnis atau divisi pemilik piutang. Atribut ini memungkinkan Anda membandingkan kinerja proses di berbagai bagian perusahaan. Dengan membandingkan KPI seperti waktu penyelesaian sengketa atau DSO antarunit bisnis, pimpinan dapat menemukan tim berkinerja tinggi dan menyeragamkan praktik terbaik. Perbandingan ini juga menunjukkan unit yang mungkin memerlukan sumber daya tambahan atau perancangan ulang proses. Mengapa ini penting Dimensi penting untuk membandingkan kinerja dan tolok ukur antarorganisasi. Sumber data Oracle Fusion Financials: HR_ORGANIZATION_UNITS.NAME yang terhubung melalui ORG_ID. Contoh Penjualan AS TimurLayanan EMEAManufaktur APAC | |||
| Alasan Sengketa DisputeReason | Kategori atau kode alasan yang ditetapkan saat sengketa dibuka. | ||
| Deskripsi Atribut ini mencatat alasan yang diberikan saat aktivitas 'Kasus Sengketa Dibuka' terjadi. Nilai yang umum antara lain 'Kesalahan Harga', 'Ketidaksesuaian Jumlah', atau 'Barang Rusak'. Analisis atribut ini di dashboard 'Siklus Hidup Sengketa dan Hambatan' membantu menemukan akar penyebab keterlambatan pembayaran. Jika 'Kesalahan Harga' sering terjadi, bisnis dapat menyelidiki proses penawaran penjualan di hulu, bukan hanya proses penagihan. Mengapa ini penting Penting untuk menganalisis akar penyebab keterlambatan pembayaran dan pengerjaan ulang. Sumber data Oracle Fusion Financials: RA_CM_REQUESTS.REASON_CODE atau AR_DISPUTE_HISTORY. Contoh Sengketa HargaKesalahan PajakBarang Belum DiterimaPenagihan Ganda | |||
| Ketentuan Pembayaran PaymentTerms | Ketentuan waktu pembayaran yang telah disepakati (misalnya, Net 30). | ||
| Deskripsi Atribut ini menetapkan jangka waktu pembayaran yang disepakati dalam kontrak. Nilainya digunakan untuk menghitung Tanggal Jatuh Tempo dan penting untuk dashboard 'Efektivitas Strategi Penagihan'. Perbedaan ketentuan pembayaran antar pelanggan dapat menjelaskan perbedaan DSO. Atribut ini membantu analis membandingkan kinerja secara setara, sehingga pelanggan dengan ketentuan Net 60 tidak dianggap terlambat membayar jika dibandingkan dengan pelanggan yang memiliki ketentuan Net 30. Mengapa ini penting Memberi konteks pada kecepatan pembayaran berdasarkan kesepakatan kontrak. Sumber data Oracle Fusion Financials: RA_TERMS.NAME Contoh Net 30Langsung2/10 Net 30Net 60 | |||
| Kode mata uang CurrencyCode | Mata uang yang digunakan untuk menyatakan jumlah faktur. | ||
| Deskripsi Atribut ini menentukan mata uang, misalnya USD atau EUR, untuk jumlah keuangan. Informasi ini diperlukan agar jumlah faktur dapat ditafsirkan dengan benar dan dikonversi jika laporan memerlukan mata uang global. Bagi organisasi global, atribut ini membantu menganalisis kinerja penagihan di berbagai wilayah ekonomi dan memisahkan dampak valuta asing dari kinerja proses operasional. Mengapa ini penting Memberi konteks pada nilai keuangan dalam lingkungan dengan berbagai mata uang. Sumber data Oracle Fusion Financials: RA_CUSTOMER_TRX_ALL.INVOICE_CURRENCY_CODE Contoh USDEURGBPJPY | |||
| Pengerjaan Ulang IsRework | Penanda yang menunjukkan apakah faktur mengalami proses koreksi atau sengketa berulang. | ||
| Deskripsi Atribut boolean ini menunjukkan apakah faktur mengalami aktivitas koreksi kesalahan, seperti 'Nota Kredit Diterbitkan' atau 'Faktur Disesuaikan'. Atribut ini mendukung dashboard 'Volume Nota Kredit dan Pengerjaan Ulang'. Dengan mengenali kasus yang perlu dikerjakan ulang, Anda dapat memisahkan proses yang berjalan lancar dari proses yang bermasalah. Tingkat pengerjaan ulang yang tinggi menjadi indikasi awal adanya masalah kualitas data di proses data induk atau entri pesanan penjualan. Mengapa ini penting Menunjukkan pemborosan dan inefisiensi dalam alur proses. Sumber data Dihitung: True jika kasus mencakup 'Nota Kredit Diterbitkan' atau 'Kasus Sengketa Dibuka'. Contoh truefalse | |||
| Sumber Pembuatan CreationSource | Asal faktur, yang menunjukkan apakah faktur dibuat secara manual atau diimpor. | ||
| Deskripsi Atribut ini menunjukkan cara faktur masuk ke sistem Oracle, misalnya melalui 'Entri Manual', 'AutoInvoice', atau feed eksternal tertentu. Atribut ini menjadi proksi untuk pemetaan umum 'Kanal'. Atribut ini penting untuk dashboard 'Pemantauan Otomatisasi Aplikasi Kas'. Atribut ini membantu membedakan proses yang sepenuhnya digital dari proses yang masih memerlukan penyiapan manual. Volume 'Entri Manual' yang tinggi dapat menunjukkan kurangnya integrasi dari sistem hulu atau adanya kekurangan pada sistem. Mengapa ini penting Menunjukkan tingkat otomatisasi di sistem hulu dan asal data. Sumber data Oracle Fusion Financials: RA_BATCH_SOURCES_ALL.NAME Contoh AutoInvoiceManualImplementasi ProyekManajemen Pesanan | |||
| Tanggal Batas Diskon DiscountEligibilityDate | Tanggal terakhir pelanggan dapat membayar untuk memperoleh diskon pembayaran lebih awal. | ||
| Deskripsi Atribut ini menunjukkan batas waktu bagi pelanggan untuk memanfaatkan ketentuan seperti '2/10 Net 30' (diskon 2% jika pembayaran dilakukan dalam 10 hari). Atribut ini diperlukan untuk dashboard 'Analisis Diskon Pembayaran Lebih Awal'. Dengan membandingkan pembayaran dengan tanggal ini, Anda dapat mengetahui 'Tingkat Pemanfaatan Diskon Pembayaran Lebih Awal'. Informasi ini membantu bisnis memahami apakah strategi diskon berhasil mempercepat arus kas atau justru diabaikan pelanggan. Mengapa ini penting Mendukung analisis efektivitas insentif dan percepatan arus kas. Sumber data Oracle Fusion Financials: AR_PAYMENT_SCHEDULES_ALL.DISCOUNT_DATE Contoh 2023-11-102023-12-05 | |||
| Wilayah Region | Wilayah geografis yang terkait dengan unit bisnis atau pelanggan. | ||
| Deskripsi Atribut ini mengelompokkan transaksi ke wilayah geografis yang lebih luas, seperti Amerika Utara, EMEA, atau APAC. Atribut ini berguna untuk laporan tingkat eksekutif dan dashboard 'Tren DSO dan Siklus Kas'. Analisis per wilayah membantu memperhitungkan perbedaan kebiasaan pembayaran, misalnya ketentuan pembayaran standar yang lebih panjang di Eropa Selatan dibandingkan AS. Analisis ini juga memastikan KPI global ditafsirkan sesuai konteks setempat. Mengapa ini penting Memberikan segmentasi geografis tingkat tinggi untuk pelaporan global. Sumber data Oracle Fusion Financials: diturunkan dari Unit Bisnis atau Alamat Pelanggan. Contoh Amerika UtaraEMEAAPACLATAM | |||
Aktivitas piutang usaha
| Aktivitas | Deskripsi | ||
|---|---|---|---|
| Faktur dibuat | Aktivitas ini menandai pembuatan awal catatan faktur di sistem. Waktu yang tercatat menunjukkan kapan header transaksi pertama kali disimpan di tabel Oracle Receivables. | ||
| Mengapa ini penting Menetapkan awal siklus proses dan menjadi dasar perhitungan umur piutang. Data ini penting untuk menghitung total waktu siklus dan waktu tunggu hingga faktur dikirim. Sumber data Diambil dari tabel RA_CUSTOMER_TRX_ALL, menggunakan kolom CREATION_DATE atau TRX_DATE. Pengumpulan data Dicatat saat baris transaksi dimasukkan Jenis peristiwa explicit | |||
| Faktur dikirim | Menunjukkan pengiriman faktur kepada pelanggan melalui cetak, email, atau XML. Pada tahap ini, faktur berpindah dari organisasi ke pelanggan. | ||
| Mengapa ini penting Penting untuk mengukur kinerja pengiriman tagihan. Jeda antara pembuatan dan pengiriman faktur langsung memperlambat siklus penagihan. Sumber data Disimpulkan dari PRINTING_ORIGINAL_DATE di RA_CUSTOMER_TRX_ALL atau log tertentu di Oracle Collaboration Messaging Framework jika menggunakan XML. Pengumpulan data Bandingkan kolom status sebelum dan sesudah Jenis peristiwa inferred | |||
| Faktur dilunasi | Status akhir saat faktur ditutup di sistem, biasanya karena saldonya nol setelah pembayaran, nota kredit, atau penyesuaian. | ||
| Mengapa ini penting Waktu peristiwa ini digunakan untuk menghitung jumlah hari piutang usaha tertunggak (DSO). Peristiwa ini menandai akhir suatu instans proses. Sumber data Teridentifikasi saat STATUS di AR_PAYMENT_SCHEDULES_ALL berubah menjadi 'CL' (Closed). Pengumpulan data Bandingkan kolom status sebelum dan sesudah Jenis peristiwa inferred | |||
| Faktur selesai dibuat | Menunjukkan bahwa pembuatan faktur telah selesai dan faktur siap diproses, dicetak, serta dibukukan. Peristiwa ini terjadi saat status transaksi berubah dari belum selesai menjadi selesai. | ||
| Mengapa ini penting Membedakan waktu penyusunan draf dari waktu pemrosesan. Keterlambatan pada tahap ini menunjukkan hambatan dalam proses internal pembuatan tagihan. Sumber data Teridentifikasi saat COMPLETE_FLAG di RA_CUSTOMER_TRX_ALL berubah menjadi 'Y'. Pengumpulan data Bandingkan kolom status sebelum dan sesudah Jenis peristiwa inferred | |||
| Pembayaran penuh diterima | Terjadi saat penerapan pembayaran mengurangi saldo faktur menjadi nol. Ini adalah peristiwa keberhasilan utama dalam proses penagihan. | ||
| Mengapa ini penting Penting untuk analisis diskon pembayaran awal. Waktu terjadinya peristiwa ini menentukan apakah kas diterima dalam periode diskon. Sumber data Diambil dari AR_RECEIVABLE_APPLICATIONS_ALL, dengan STATUS = 'APP' dan AMOUNT_DUE_REMAINING yang dihasilkan bernilai 0. Pengumpulan data Tentukan dengan membandingkan kolom X dan Y Jenis peristiwa calculated | |||
| Pembayaran sebagian dibukukan | Terjadi saat pembayaran diterapkan pada faktur, tetapi jumlahnya kurang dari seluruh saldo terutang. Akibatnya, faktur tetap terbuka dengan saldo yang lebih kecil. | ||
| Mengapa ini penting Frekuensi tinggi menunjukkan pola pembayaran yang terpecah-pecah (KPI Frekuensi Pembayaran Sebagian) dan menambah pekerjaan rekonsiliasi. Sumber data Diambil dari AR_RECEIVABLE_APPLICATIONS_ALL, dengan STATUS = 'APP' dan AMOUNT_APPLIED < AMOUNT_DUE_REMAINING. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Faktur dibukukan ke GL | Mencatat saat entri akuntansi faktur diselesaikan dan dipindahkan ke General Ledger. Tahap ini mendukung kepatuhan keuangan dan kesiapan penutupan periode. | ||
| Mengapa ini penting Meski tidak memengaruhi tampilan pelanggan, keterlambatan pada tahap ini berdampak pada siklus penutupan keuangan dan ketepatan waktu pelaporan. Sumber data Diambil dari GL_DATE di tabel RA_CUST_TRX_LINE_GL_DIST_ALL. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Faktur dihapuskan | Jenis penyesuaian khusus saat sisa saldo dinilai tidak dapat ditagih dan dihapuskan sebagai piutang tak tertagih. Ini merupakan status akhir yang merugikan. | ||
| Mengapa ini penting Penting untuk memantau kesehatan keuangan. Data ini membedakan efisiensi operasional, yaitu kecepatan pembayaran, dari masalah kualitas kredit. Sumber data Diambil dari AR_ADJUSTMENTS_ALL saat jenis penyesuaian diklasifikasikan sebagai 'Write-off' atau terhubung ke akun Piutang Tak Tertagih. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Faktur disesuaikan | Mencatat penyesuaian manual pada saldo faktur, seperti penghapusan saldo kecil atau penyesuaian mata uang, yang berbeda dari nota kredit. | ||
| Mengapa ini penting Membantu menemukan kebocoran pendapatan dan jalur proses nonstandar yang melunasi saldo tanpa pembayaran. Sumber data Diambil dari tabel AR_ADJUSTMENTS_ALL yang terhubung ke faktur. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Kasus sengketa dibuka | Menandai dimulainya sengketa resmi terkait faktur. Aktivitas penagihan standar dihentikan sementara selama masalah diselidiki. | ||
| Mengapa ini penting Indikator utama hambatan. Tingginya tingkat sengketa dapat menunjukkan masalah kualitas pada proses pemenuhan pesanan atau ketepatan penagihan. Sumber data Teridentifikasi dari catatan di RA_CM_REQUESTS_ALL atau workflow Credit Memo Request tertentu yang terhubung ke faktur. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Komitmen pembayaran diterima | Mencatat komitmen pelanggan untuk membayar jumlah tertentu pada tanggal tertentu. Biasanya, petugas penagihan memasukkan informasi ini secara manual saat berinteraksi dengan pelanggan. | ||
| Mengapa ini penting Penting untuk menganalisis perilaku pembayaran pelanggan. Komitmen yang tidak dipenuhi menunjukkan risiko kredit tinggi dan potensi piutang tak tertagih. Sumber data Diambil dari tabel IEX_PROMISE_DETAILS di modul Collections. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Nota kredit diterbitkan | Mencatat pembuatan transaksi nota kredit yang diterapkan pada faktur. Nota kredit mengurangi saldo terutang, biasanya sebagai tanggapan atas sengketa atau retur. | ||
| Mengapa ini penting Melacak tingkat pengerjaan ulang nota kredit dan kebocoran pendapatan. Nota kredit yang sering diterbitkan dapat menunjukkan kesalahan penagihan yang sistemis. Sumber data Diambil dari RA_CUSTOMER_TRX_ALL, saat TRX_TYPE adalah Credit Memo dan RELATED_CUSTOMER_TRX_ID cocok dengan faktur. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Pengingat pembayaran dikirim | Mencatat pengiriman surat penagihan atau pengingat pembayaran kepada pelanggan. Peristiwa ini dibuat oleh modul Advanced Collections. | ||
| Mengapa ini penting Penting untuk menganalisis efektivitas strategi penagihan. Dengan membandingkan data ini dengan pembayaran, Anda dapat mengetahui strategi pengingat yang paling cepat memulihkan kas. Sumber data Tersimpan di tabel IEX_DUNNING atau IEX_STRATEGY_WORK_ITEMS yang terhubung ke akun pelanggan. Pengumpulan data Dicatat saat transaksi X dijalankan Jenis peristiwa explicit | |||
| Rekening koran cocok | Menunjukkan bahwa pembayaran yang diterapkan pada faktur telah direkonsiliasi dengan baris di rekening koran. Ini memastikan kas benar-benar masuk ke rekening bank. | ||
| Mengapa ini penting Mengukur otomatisasi pencatatan pembayaran. Jeda antara pembukuan pembayaran dan pencocokan dengan bank menunjukkan kas yang belum terkonfirmasi. Sumber data Digabungkan dari AR_CASH_RECEIPTS_ALL ke CE_STATEMENT_LINES (Cash Management) melalui referensi rekonsiliasi. Pengumpulan data Bandingkan kolom status sebelum dan sesudah Jenis peristiwa inferred | |||
| Sengketa diselesaikan | Menunjukkan berakhirnya penyelidikan sengketa. Hasilnya dapat berupa persetujuan nota kredit jika sengketa valid, atau penolakan jika tidak valid. | ||
| Mengapa ini penting Diperlukan untuk menghitung rata-rata waktu penyelesaian sengketa. Penyelesaian yang lama berdampak buruk pada kepuasan pelanggan dan DSO. Sumber data Diambil dari perubahan status menjadi 'APPROVED' atau 'REJECTED' di RA_CM_REQUESTS_ALL. Pengumpulan data Bandingkan kolom status sebelum dan sesudah Jenis peristiwa inferred | |||
Panduan ekstraksi
Langkah
Buka konsol Oracle BI Cloud Connector (BICC). Masuk ke bagian Manage Offerings and Data Stores.
Atur koneksi penyimpanan. Pastikan koneksi ke Oracle Universal Content Management (UCM) atau Object Storage eksternal, seperti OCI Object Storage, sudah aktif. File CSV/Parquet hasil ekstraksi akan disimpan di sana.
Pilih penawaran Financials. Cari penawaran Financials untuk mengakses View Object Accounts Receivable.
Pilih dan atur View Object (VO). Pilih Public View Object (PVO) tertentu yang diperlukan untuk menyusun log peristiwa. PVO penting meliputi:
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionHeaderExtractPVO (Header faktur)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.TransactionLineExtractPVO (Baris faktur)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.ReceiptApplicationExtractPVO (Pembayaran dan aplikasi CM)
- FscmTopModelAM.FinExtractAM.ArBiccExtractAM.AdjustmentExtractPVO (Penyesuaian dan penghapusbukuan)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.PromiseDetailExtractPVO (Janji pembayaran)
- FscmTopModelAM.FinExtractAM.IexBiccExtractAM.StrategyWorkItemExtractPVO (Penagihan/pengingat)
Tentukan kriteria filter (pemangkasan data). Di Manage Extract Schedules atau konfigurasi PVO, atur filter pada CreationDate atau LastUpdateDate untuk mengambil data dari periode analisis, misalnya 12 bulan terakhir.
Jadwalkan ekstraksi. Buat jadwal agar ekstraksi berjalan setiap hari. Pilih Incremental Load agar setelah Full Load pertama, sistem hanya mengambil data yang berubah.
Unduh dan masukkan data. Gunakan skrip otomatis atau alat integrasi untuk mengambil file dari UCM/Object Storage, lalu memuatnya ke tabel staging di gudang data, misalnya STG_AR_TRX_HEADER dan STG_AR_APPLICATIONS.
Terapkan logika transformasi. Jalankan skrip SQL yang tersedia di bagian Query pada tabel staging untuk meratakan data relasional ke dalam format log peristiwa ProcessMind.
Validasi tipe data. Pastikan kolom tanggal diubah menjadi objek datetime dan nilai numerik menangani angka desimal dengan benar selama transformasi.
Ekspor ke CSV/Parquet. Ekspor hasil akhir dari gudang data sebagai satu file.
Unggah ke ProcessMind. Impor file, lalu petakan InvoiceNumber ke Case ID, ActivityName ke Activity, dan EventStartDateTime ke Timestamp.
Konfigurasi
- Frekuensi ekstraksi: Disarankan setiap hari (Incremental) untuk mengambil perubahan status terbaru.
- Pemuatan awal: Pilih 'Full Extract' untuk proses pertama, lalu beralih ke 'Incremental' berdasarkan Last Update Date.
- PVO utama: TransactionHeaderExtractPVO, ReceiptApplicationExtractPVO, AdjustmentExtractPVO, StrategyWorkItemExtractPVO.
- Filter tanggal: Terapkan filter CreationDate >= '202X-01-01' untuk membatasi volume data.
- Ukuran pengambilan: Nilai bawaan biasanya 50000 baris. Sesuaikan dengan bandwidth jaringan jika mengunduh melalui UCM.
- Kunci utama: Pastikan gudang data hilir Anda menangani upsert menggunakan kunci utama PVO, biasanya CustomerTrxId, ReceivableApplicationId, dan lainnya, agar baris tidak terduplikasi.
- Riwayat audit: PVO BICC standar mencatat kondisi saat ini. Untuk mendapatkan stempel waktu historis yang akurat atas perubahan status, seperti sengketa dibuka, Anda mungkin perlu mengaktifkan Audit Policies di Fusion dan mengekstrak Audit View Object jika tabel transaksi tidak menyimpan riwayat.
Contoh kueri 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 Langkah
Masuk ke Oracle Fusion Applications: Buka Tools > Reports and Analytics. Klik Browse Catalog untuk membuka antarmuka Oracle BI Publisher.
Buat Data Model: Klik New di kiri atas, lalu pilih Data Model. Di sinilah logika ekstraksi SQL disimpan.
Tentukan SQL Data Set: Di pohon Data Model sebelah kiri, klik Data Sets, lalu pilih New Data Set > SQL Query.
Atur sumber data: Beri nama data set, misalnya
ProcessMining_AR. PilihApplicationDB_FSCM(Financials Supply Chain Management) sebagai sumber data. Dengan begitu, Anda dapat mengakses tabel AR dan RA yang diperlukan.Tempel kueri: Salin seluruh skrip SQL dari bagian Query di bawah, lalu tempel ke kotak teks SQL Query. Jangan ubah logika inti kecuali Anda perlu mengganti nama Flexfield (DFF) tertentu.
Atur parameter: Kueri menggunakan placeholder
:p_start_dateuntuk memfilter tanggal pembuatan transaksi. Di tab Parameters pada Data Model, buat parameter bernamap_start_date, pilih tipe data Date, lalu tetapkan nilai bawaan, misalnya01-01-2023.Lihat data: Klik tab Data, masukkan tanggal yang valid untuk parameter, lalu klik View. Pastikan hasilnya memuat baris dengan kolom seperti
InvoiceNumber,ActivityName, danEventStartDateTime.Simpan Data Model: Simpan objek di direktori Shared Folders > Custom, misalnya
/Shared Folders/Custom/ProcessMining/AR_Extract_DM.Jadwalkan/ekspor: Untuk mengekstrak data dalam jumlah besar, klik Create Report menggunakan Data Model ini. Di editor laporan, pastikan tata letaknya berupa tabel sederhana, lalu simpan laporan. Gunakan Scheduler untuk menjalankan laporan dan menghasilkan data dalam format CSV atau XML.
Format akhir: Unduh file hasilnya. Jika menggunakan CSV, pastikan format tanggal konsisten, sebaiknya ISO 8601. Unggah file ke ProcessMind dengan memetakan
InvoiceNumbersebagai Case ID,ActivityNamesebagai Activity, danEventStartDateTimesebagai Timestamp.
Konfigurasi
- Sumber data: Gunakan
ApplicationDB_FSCMuntuk mengakses tabel Financials. - Filter tanggal: Kueri menggunakan
ra_customer_trx_all.creation_date >= :p_start_date. Atur agar data dimuat dalam rentang bergulir, misalnya 12 bulan terakhir. - Kinerja: Untuk data yang mencakup lebih dari 100,000 faktur, pertimbangkan untuk menambahkan batas
ROWNUMsaat pengujian atau membagi ekstraksi per bulan. - Filter unit bisnis: Jika organisasi Anda memiliki beberapa unit bisnis dan hanya memerlukan satu, hapus komentar pada baris
AND trx.org_id = ...di bagianWhere. - Nama pengguna: Kueri mencocokkan ID pengguna
CREATED_BYdengan nama pengguna melaluiFND_USER. Pastikan pengguna ekstraksi memiliki izin untuk membacaFND_USER. - Advanced Collections: Aktivitas 'Pengingat pembayaran dikirim' dan 'Janji pembayaran diterima' menggunakan tabel modul IEX (Advanced Collections). Jika Anda tidak menggunakan modul ini, bagian tersebut tidak akan menghasilkan baris.
Contoh kueri 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 Siap memulai?
Ubah data keuangan Anda menjadi wawasan yang dapat ditindaklanjuti dengan menerapkan templat ini di lingkungan Oracle Fusion Anda. Tim kami siap membantu memetakan logika bisnis khusus Anda ke standar ini.
Percepat penagihan piutang usaha Anda sekarang
Kurangi DSO hingga 15 sampai 20 hari dan atasi kesenjangan arus kas sekarang.
Tidak perlu kartu kredit. Siapkan dalam 5 menit.