# Dev Jurnal: Laporan Bi/viewGraphSalesAnalytics

**Tanggal:** 10 Juli 2026
**Topik:** Perbaikan Bug Mismatch P&L Tahunan vs Bulanan di Dashboard BI (Data 2022)

## 1. Daftar Masalah (Bug)
*   **Net Profit Menggelembung Secara Semu (Data 2022 Beda):** Laba bersih pada laporan *Dashboard BI* (yang menggunakan sumber data bulanan) sebelumnya terlihat lebih besar sekitar Rp 11 Miliar dibandingkan dengan data *Rugi Laba Tahunan*.
*   **Ketidakcocokan Finansial di Audit Center:** Terdapat kebingungan dari *admin* mengenai alasan selisih pada Audit 3-Way Match karena ketidaksesuaian nilai pada P&L dan jurnal.

## 2. Analisis Penyebab
Setelah dilakukan investigasi mendalam, ditemukan bahwa:
1.  **Bug Filter pada View (`vw_bi_sales_monthly` & `vw_consolidate_monthly`):** Programmer BI sebelumnya membuat filter akun yang bersifat *hardcode* (`rekening LIKE '6%'` dan `rekening LIKE '7%'`). Padahal, pada rekapitulasi data *bulanan* (terutama pada tahun 2022), sistem tidak menyimpan nomor akun (COA) resmi, melainkan menggunakan nama string alias (seperti `biaya usaha`, `biaya gaji`, `beban lain lain`).
2.  **Akibat Bug:** Karena nama-nama alias tersebut tidak berawalan angka 6 atau 7, beban pengeluaran senilai kurang lebih Rp 9,2 Miliar dan pendapatan lain senilai Rp 2 Miliar *diabaikan* (dianggap 0) oleh sistem BI, sehingga Laba Bersih terlihat jauh lebih besar.

## 3. Berkas yang Diubah
*   **Database (Views):** `vw_consolidate_monthly` & `vw_bi_sales_monthly`
*   **Frontend (JS):** `w:\new_san_variant\bi_reports\assets\app.js`

## 4. Solusi Perbaikan Kode (Bulletproof Patch)
1.  **Sapu Jagat View BI:** 
    *   Mengganti pendekatan *hardcode* angka menjadi *auto-catch* berdasarkan `kategori = 'biaya'` dan `kategori = 'penghasilan'`.
    *   Mendaftarkan seluruh nama teks/string yang pernah digunakan secara eksplisit di dalam struktur SQL (seperti `'biaya gaji'`, `'biaya usaha'`, `'biaya bpjs'`, `'laba lain lain'`, dll) untuk menjamin tidak ada lagi uang/data yang lolos/tertinggal akibat perbedaan *naming convention*.
2.  **Perbaikan UI Tooltip Audit Center:**
    *   Menambahkan penjelasan detail (via atribut `title` / *hover*) pada tabel Audit Center. Misalnya, menjelaskan bahwa jurnal bersaldo Rp 0 biasanya disebabkan oleh status dokumen yang masih berbentuk *draft/order* dan bukan faktur utama.

## 5. Pemetaan (Mapping) COA Asli dari Akun Teks Lama
Berdasarkan perbandingan selisih nilai eksak antara data *Tahunan* (menggunakan kode angka) dengan *Bulanan* (menggunakan string teks) pada tahun 2022, berikut adalah kamus pemetaan (padanan) COA yang tervalidasi 100% cocok:

| Nama Teks Lama (Bulanan) | Padanan COA Resmi (Tahunan) |
| :--- | :--- |
| `biaya usaha` | **6010** |
| `biaya umum` | **6030** |
| `biaya gaji` | **6050** |
| `biaya bpjs` | **6080** |
| `biaya` (string mentah) | **6100010** |
| `beban lain lain` | **7020010** |
| `laba lain lain` | **7010150** (Terdapat 30 juta anomali data di raw DB) |
| `jasa kirim` | **7010130** |
| `efisiensi biaya` | **3020010** |
| `kerugian` | **7020020** |
| `kerugian kurs` & `keutungan kurs` | **7010080** |

Pemetaan di atas dapat digunakan sebagai referensi mutlak apabila di masa mendatang pihak manajemen ingin melakukan standarisasi (Data Cleansing) terhadap tabel `rugilaba` bulanan lawas.
