================================================================================ CATATAN RILIS & PEMBARUAN SISTEM KELUARGAMART PLATFORM Tanggal Rilis : 25 September 2026 Aplikasi : KeluargaMart Ekosistem Terintegrasi (B2B E-Commerce, ERP, Akuntansi, POS) ================================================================================ 1. DISTRIBUSI & GUDANG: SINKRONISASI STATUS SURAT JALAN (DO) KE E-COMMERCE -------------------------------------------------------------------------------- - Lokasi Modul: Distribusi ERP (/distribution), Detail Pengiriman, dan Backend API Service. - Pembaruan: * Rekonsiliasi Otomatis Status Pengiriman: Pesanan yang telah dikirim (DO berstatus "Sedang Diantar" / in_transit) namun statusnya masih berstatus "Diproses" (karena pembayaran faktur lunas / paid) kini secara otomatis berpindah ke tab "Dalam Pengiriman" dengan badge status "Dalam Pengiriman". * Proteksi Status Pelunasan Pembayaran: Pencatatan pelunasan faktur (PayInvoice) tidak lagi menurunkan status pesanan yang sedang diproses gudang (picking), dalam pengiriman (shipped), atau sudah terkirim (delivered) menjadi berstatus "paid" / "Diproses". * Pengiriman yang diberangkatkan (Dispatch / Status: in_transit) otomatis memperbarui status Sales Order dan E-Commerce menjadi "Dalam Pengiriman" (shipped). * Pengiriman yang telah diselesaikan (Delivered / Status: completed) otomatis memperbarui status Sales Order dan E-Commerce menjadi "Selesai / Diterima" (delivered). * Sinkronisasi Dua Arah: Ketika pembeli mengonfirmasi penerimaan barang ("Barang Diterima") di E-Commerce, seluruh Surat Jalan (DO) dan Shipment armada terkait otomatis diselesaikan (completed). * Seluruh proses pelacakan dan tahapan pengiriman kini sinkron secara real-time antara portal logistik pergudangan dan portal pembeli e-commerce. 2. DISTRIBUSI ERP: PENYELESAIAN PESANAN OLEH ADMIN GUDANG -------------------------------------------------------------------------------- - Lokasi Modul: Modal Progress Timeline DO (/distribution) & Halaman Detail SO (/sales/orders/[id]). - Pembaruan: * Menambahkan tombol aksi "Selesaikan Pesanan (Diterima)" pada jendela modal rincian dan riwayat Surat Jalan (Delivery Order). * Menambahkan tombol aksi "Selesaikan Pesanan (Diterima)" pada kartu pemrosesan gudang di halaman rincian Sales Order. * Memungkinkan admin gudang menyelesaikan status pesanan yang telah sukses diantar oleh kurir/armada jika pelanggan belum atau lupa menekan tombol konfirmasi penerimaan di aplikasi E-Commerce. 3. E-COMMERCE: TOMBOL "BARANG DITERIMA" UNTUK PESANAN YANG DIPROSES -------------------------------------------------------------------------------- - Lokasi Modul: Riwayat Pesanan (/account/orders), Daftar Pesanan (/orders), Detail Pesanan (/orders/[id]), dan Lacak Pengiriman (/orders/[id]/tracking). - Masalah Sebelumnya: Tombol pembatalan tetap tampil meski barang sudah diproses atau dalam perjalanan, dan belum ada tombol konfirmasi serah terima barang langsung bagi pembeli. - Perbaikan: * Tombol "Batalkan Pesanan" kini hanya aktif dan muncul untuk pesanan baru yang masih berstatus Draft atau Menunggu Konfirmasi (pending_approval). * Begitu pesanan disetujui, diproses, atau dikirim (approved, processing, shipped), tombol otomatis digantikan menjadi tombol "Barang Diterima" (pembelian terselesaikan). * Dilengkapi modal konfirmasi serah terima pesanan yang interaktif dan memicu status pesanan langsung menjadi "Diterima / Selesai" (delivered). 4. INVENTORI ERP: ALOKASI & VISIBILITAS STOK TEPESAN (RESERVED STOCK) -------------------------------------------------------------------------------- - Lokasi Modul: Modul Posisi Stok ERP (/inventory/stock). - Pembaruan: * Menambahkan informasi stok teralokasi: Stok Fisik, Stok Dipesan (Reserved), dan Stok Siap Jual (Available = Fisik - Dipesan). * Membantu staf gudang dan penjualan membedakan antara total stok riil yang ada di gudang dengan stok yang sudah dipesan/direservasi oleh pesanan pelanggan yang sedang aktif. 5. KASIR & POS: PENANGANAN & PEMULIHAN SESI SHIFT AKTIF -------------------------------------------------------------------------------- - Lokasi Modul: Terminal Kasir POS (/pos) & Modal Buka Shift Kasir. - Masalah Sebelumnya: Ketika kasir yang masih memiliki shift aktif mencoba membuka shift, muncul pesan galat teknis atau sistem tertahan. - Perbaikan: * Sistem kini secara otomatis mendeteksi keberadaan shift aktif dan memberikan pemberitahuan yang ramah serta langsung memulihkan sesi shift yang sedang berjalan. * Opsi pilihan jam kerja shift (Pagi, Siang, Malam) kini langsung siap dan responsif begitu modal buka shift diakses. 6. ERP: TAMPILAN RESPONSIVE MOBILE FORM RINCIAN PRODUK & PESANAN -------------------------------------------------------------------------------- - Lokasi Modul: Form Sales Order, Purchase Order, dan Mutasi Transfer Barang di ERP. - Masalah Sebelumnya: Tampilan tabel rincian item (nama produk, kuantitas, harga) pada layar handphone/smartphone sempat mengalami teks bertumpuk atau terpotong. - Perbaikan: * Mengoptimalkan tampilan pada layar kecil smartphone menjadi tata letak kartu mobile (card view) responsif: nama produk, jumlah, satuan, dan subtotal tersusun rapi dan nyaman dioperasikan lewat perangkat mobile. 7. KASIR & ERP: PENDAFTARAN MEMBER LOYALTY BARU DI TERMINAL POS & ERP -------------------------------------------------------------------------------- - Lokasi Modul: * Terminal Kasir POS (/pos) & Menu Pelanggan POS (/customers). * Menu Keanggotaan ERP (/masterdata/memberships) & Pelanggan ERP (/masterdata/customers). - Pembaruan: * Pendaftaran Member Baru di Kasir POS: Kasir kini dapat langsung mendaftarkan pelanggan menjadi member loyalty dari antarmuka kasir tanpa harus berpindah ke sistem lain. * Form Registrasi Lengkap: Mencakup pengisian Nama, Nomor WhatsApp/Telepon, Email, Tier awal masuk (default: Bronze), dan Tanggal Lahir. * Pendaftaran Member di ERP: Menambahkan tombol "+ Daftar Member Baru" pada halaman Daftar Member dan Pelanggan ERP, mendukung auto-fill dari data customer yang sudah ada atau pembuatan customer baru secara langsung. * Proteksi Re-entrancy: Tombol pendaftaran otomatis menampilkan status loading dan mencegah duplikasi data jika tombol diklik berulang kali secara cepat. * Validasi Nomor Telepon Ganda: Sistem mendeteksi nomor telepon yang sudah terdaftar dan memberikan pesan peringatan yang informatif tanpa memicu crash antarmuka. 8. ERP: PERBAIKAN RESPONSIVE LAYOUT MOBILE & WIDGET DASHBOARD -------------------------------------------------------------------------------- - Lokasi Modul: Seluruh Halaman ERP (/dashboard, /sales, /purchasing, /inventory, dll). - Masalah Sebelumnya: * Angka metrik pada kartu ringkasan (KStatCard) terpotong atau patah ke baris bawah pada layar ponsel (< 400px). * Header kartu grafik (KChartCard) menghimpit judul seperti "Nilai Stok per Produk (HPP)" menjadi kolom huruf vertikal karena berbagi ruang sejajar dengan tombol aksi. * Muncul scrollbar horizontal liar di bawah daftar nilai stok akibat margin negatif. - Perbaikan: * Optimasi Tipografi Kartu Metrik: Angka nominal dan kuantitas kini menggunakan format satu baris dengan pemotongan elipsis rapi dan penempatan icon di samping label, menghilangkan teks angka yang patah ke baris bawah. * Header Kartu Adaptif: Header kartu beralih otomatis ke tata letak kolom (flex-col) pada perangkat mobile dan baris (flex-row) pada tablet/desktop, memberikan lebar penuh 100% untuk judul kartu sehingga tidak pernah lagi terhimpit oleh tombol aksi. * Eliminasi Scrollbar Horizontal Liar: Menghapus margin negatif pada komponen StockValueList dan mengaktifkan proteksi luapan horizontal (overflow-x-hidden) di semua kontainer widget dashboard (LowStockList, PendingInvoices, RecentOrders, dll). * Penataan Item 2 Baris Bersih: Pada layar ponsel, nama produk & spesifikasi tampil di baris atas, sedangkan nominal Rupiah HPP tertata rapi di baris bawah dengan garis pembatas halus. * Toolbar & Header Halaman Fleksibel: Toolbar pencarian, filter, dan tombol aksi di seluruh modul ERP (SO, PO, Hutang, Piutang, Arus Kas Kasir, dll) kini dapat membungkus rapi (flex-wrap) tanpa terpotong di layar sempit. ================================================================================ CATATAN RILIS SEBELUMNYA (24 September 2026 - Malam) ================================================================================ 1. E-COMMERCE: FLEKSIBILITAS INPUT JUMLAH PEMBELIAN (QUANTITY > 2 ANGKA) -------------------------------------------------------------------------------- - Lokasi Modul: Halaman Detail Produk (/products/[slug]) dan Keranjang (/cart). - Masalah Sebelumnya: Kotak input quantity kaku dan membatasi pembeli ketika mengetik jumlah pesanan di atas 2 digit (misal: 100, 250, 500 pcs) akibat pembatasan atribut max ke angka stok gudang fisik yang kecil. - Perbaikan: * Menghapus pembatasan atribut max yang terikat pada stok sisa gudang e-commerce, sehingga pembeli bebas mengetik angka pembelian dalam partai besar tanpa terpotong / ter-clamp. * Memperluas lebar input stepper quantity pada tampilan desktop maupun mobile sticky bar dengan font semibold dan layout yang responsif dan leluasa. * Menghapus validasi pembatalan di keranjang yang sebelumnya memblokir pemesanan melebihi stok sisa gudang fisik lokal. 2. E-COMMERCE: STATUS PESANAN BARU TETAP "MENUNGGU KONFIRMASI" -------------------------------------------------------------------------------- - Lokasi Modul: Server API Backend (cmd/server/main.go) dan Alur Checkout (/cart/checkout). - Masalah Sebelumnya: Pesanan yang baru dibuat langsung melompat ke status "Diproses" karena sistem secara otomatis memicu generator Surat Jalan (Delivery Order) dan Invoice tepat pada saat checkout selesai, padahal pesanan belum diverifikasi / disetujui. - Perbaikan: * Menghapus auto-trigger `onOrderConfirmed` dari hook `cartSvc.WithAfterPlace`. * Pesanan e-commerce kini konsisten berstatus awal `pending_approval` ("Menunggu Konfirmasi"). * Status "Diproses" dan pembuatan Surat Jalan / Faktur hanya akan dieksekusi setelah atasan atau staf penjualan/admin meninjau dan menekan tombol "Konfirmasi" pada pesanan di ERP. 3. E-COMMERCE: TOMBOL "BATALKAN PESANAN" UNTUK PELANGGAN -------------------------------------------------------------------------------- - Lokasi Modul: Halaman Lacak Pesanan (/orders/[id]/tracking) & Detail Pesanan (/orders/[id]). - Pembaruan: * Menambahkan tombol merah "Batalkan Pesanan" secara jelas dan mudah diakses pada header halaman Pelacakan Pesanan (/orders/[id]/tracking) dan Rincian Pesanan (/orders/[id]). * Menyediakan modal dialog konfirmasi pembatalan lengkap dengan kolom alasan pembatalan (cancel reason) yang aman dan informatif. * Tombol otomatis aktif selama pesanan belum dikirim / selesai (selama canCancel bernilai true). 4. E-COMMERCE: PENYEMBUNYIAN JUMLAH SISA STOK DARI TAMPILAN CUSTOMER -------------------------------------------------------------------------------- - Lokasi Modul: Halaman Katalog, Daftar Produk, dan Rincian Produk (/products/[slug]). - Masalah Sebelumnya: Menampilkan sisa angka stok atau label "Stok Menipis" membuat pembeli grosir/B2B ragu untuk melakukan pemesanan dalam jumlah banyak jika melihat stok sedikit. - Perbaikan: * Menghapus angka sisa stok dan peringatan stok menipis dari antarmuka storefront customer. * Indikator ketersediaan disederhanakan secara elegan: hanya menampilkan label hijau "Tersedia" (In Stock) bila barang siap dipesan, dan label merah "Habis" jika produk memang tidak tersedia. * Menghapus teks peringatan "Stok saat ini di bawah batas minimum pemesanan" pada halaman produk. 5. E-COMMERCE: GEOCODING ALAMAT CHECKOUT DALAM TEKS BACAAN JELAS (BUKAN TITIK KOORDINAT) -------------------------------------------------------------------------------- - Lokasi Modul: Halaman Checkout (/checkout) & Pendeteksi Lokasi GPS (/app/composables/useLocation.ts). - Masalah Sebelumnya: Alamat yang terdeteksi via GPS otomatis masih memuat string koordinat mentah seperti "GPS (-6.12345, 106.84321)" ke dalam kolom alamat pengiriman. - Perbaikan: * Memperbarui modul `reverseGeocode.ts` dengan dukungan parsing hirarki administratif Indonesia (jalan, nomor, kelurahan, kecamatan, kota/kabupaten, dan provinsi) serta fallback ke `display_name` OpenStreetMap Nominatim. * Menghilangkan penyisipan format "GPS (lat, lng)" dari helper `formatAddressText` dan `useLocation`. * Koordinat numerik tetap disimpan di field internal `latitude` dan `longitude` untuk keperluan akurasi armada pengiriman tanpa mengotori tampilan teks alamat tertulis. 6. ERP: JENDELA KHUSUS RINCIAN BARANG KOSONG & MENIPIS PADA HALAMAN POSISI STOK -------------------------------------------------------------------------------- - Lokasi Modul: Modul Posisi Stok ERP (/inventory/stock) & Dashboard Utama (LowStockList). - Pembaruan: * Menambahkan tombol aksi khusus di header halaman Posisi Stok: "Rincian Barang Kosong & Menipis" lengkap dengan badge jumlah produk yang bermasalah. * Menyediakan jendela pop-up/modal (window) interaktif pada halaman yang sama tanpa perlu berpindah halaman atau memuat route baru: - Tab filter: "Semua Kritis", "Stok Kosong (0)", dan "Stok Menipis". - Indikator ringkasan jumlah produk kosong vs menipis. - Kolom lengkap: Produk (Nama, Kode, Kategori), Gudang/Outlet, Sisa Stok (merah untuk 0, kuning untuk menipis), Min. Stok, Kolom Defisit (selisih kekurangan stok untuk restock), dan Badge Status. - Tombol aksi langsung "Buat PO" pada setiap baris produk untuk langsung memesan ke supplier. * Menambahkan link "Lihat Rincian" pada kartu Stok Menipis di Dashboard Utama untuk langsung membuka jendela rincian stok kritis ini. 7. ERP: DETAIL STOK AWAL DAN STOK AKHIR PADA PERGERAKAN STOK -------------------------------------------------------------------------------- - Lokasi Modul: Modul Pergerakan Stok ERP (/inventory/stock-movements). - Pembaruan: * Menata ulang urutan kolom tabel buku besar pergerakan stok menjadi alur pembukuan alami: Tanggal -> No. Referensi -> Produk -> Tipe -> Gudang -> Stok Awal -> Perubahan (+/-) -> Stok Akhir. * Kolom "Stok Awal" dan "Stok Akhir" kini tampil rapi dan akurat pada tabel utama, modal rincian transaksi, ekspor Excel (.xlsx), serta dokumen cetak / PDF. * Melengkapi data generator mock dan backend repository agar field `quantity_before` dan `quantity_after` selalu terisi dan tersinkronisasi dengan kalkulasi arah pergerakan stok (in/out). ================================================================================ CATATAN RILIS SEBELUMNYA (24 September 2026 - Sore) ================================================================================ 1. DASHBOARD ERP: NILAI STOK (HPP) PER PRODUK REAL-TIME -------------------------------------------------------------------------------- - Lokasi Modul: Dashboard Utama ERP (/). - Pembaruan & Penyempurnaan: * Kartu KPI Nilai Stok (HPP) kini dihitung secara akurat langsung dari database berdasarkan total akumulasi kuantitas stok dikalikan harga beli (HPP) satuan per produk. * Menambahkan kartu tabel rincian "Nilai Stok per Produk (HPP)" berdampingan dengan Peringatan Stok Menipis, yang menyajikan 10 produk persediaan dengan valuasi HPP tertinggi lengkap dengan informasi SKU, jumlah stok fisik, HPP satuan, dan total nilai valuasi persediaan. * Dilengkapi tombol navigasi langsung ke modul Posisi Stok (/inventory/stock). 2. FITUR TARGET SALES BERJENJANG (GM, BM, SPV, SALES LAPANGAN) -------------------------------------------------------------------------------- - Lokasi Modul: Modul Sales ERP (/sales/targets) dan API Backend (/api/v1/sales-targets). - Struktur Skema Berjenjang (Hierarchical Scoping): * General Manager (GM) : Target mencakup seluruh sales (BM, SPV, Sales Lapangan) dengan lingkup wilayah tingkat Kota/Kabupaten (contoh: Kota Binjai). * Branch Manager (BM) : Target diperkecil mencakup SPV dan Sales Lapangan dengan lingkup wilayah tingkat Kecamatan (contoh: Kec. Binjai Kota). * Supervisor (SPV) : Target diperkecil mencakup Sales Lapangan dengan lingkup wilayah tingkat Kelurahan (contoh: Kelurahan Setia). * Sales Lapangan : Target diperkecil untuk area retail/toko dengan lingkup wilayah tingkat Desa / Titik Toko (contoh: Desa Sukamaju). - Fitur Antarmuka & Backend: * Kartu panduan interaktif hierarki jabatan dan wilayah untuk memfilter target. * Stat card ringkasan Target Omzet vs Realisasi (Rp), Target Transaksi vs Realisasi, Target Kunjungan vs Realisasi, dan Total Wilayah Target Aktif. * Progress bar persentase pencapaian (% Achievement) dengan sinkronisasi kalkulasi live dari pesanan penjualan (sales_orders) dan kunjungan (sales_visits). * Modal input "+ Tetapkan Target" dengan pemilihan periode bulan, tingkatan jabatan, cakupan wilayah otomatis, penanggung jawab (PIC), target nominal, target order, target kunjungan, serta catatan strategi. * Modal konfirmasi hapus target dan aksi edit target. * Otorisasi izin terintegrasi: `sales.targets.view` dan `sales.targets.manage`. 3. INTEGRASI & PENGHUBUNGAN PENUH FITUR AKTIVITAS SALES LAPANGAN -------------------------------------------------------------------------------- - Lokasi Modul: Sales Tracking ERP (/tracking/activities) & API (/api/v1/sales-tracking/activities). - Pembaruan & Penyempurnaan: * Menghubungkan modul Aktivitas Sales antara frontend dan backend database. * Menambahkan tombol dan modal form "+ Catat Aktivitas" lengkap dengan pilihan tanggal, sales PIC, customer tujuan, tipe aktivitas (Kunjungan, Telepon, Order, Penagihan, Follow Up, Catatan), jam aktivitas, serta jadwal follow-up. * Query backend kini melakukan relasi otomatis (LEFT JOIN) ke data master karyawan (sales_name) dan pelanggan (customer_name) agar nama customer dan sales tampil jelas. * Memperbarui check constraint database pada tabel `sales_activities` agar mencakup seluruh tipe aktivitas penjualan lapangan secara valid tanpa error SQL. 4. INTEGRASI & PENGHUBUNGAN PENUH FITUR RUTE AKTIVITAS SALES -------------------------------------------------------------------------------- - Lokasi Modul: Sales Tracking ERP (/tracking/routes) & API (/api/v1/sales-tracking/routes). - Pembaruan & Penyempurnaan: * Menghubungkan fitur pembuatan dan pemantauan rute sales ke backend server. * Menambahkan tombol dan modal form "+ Buat Rute" dengan pemilih multi-customer stops (menambah dan menghapus daftar titik toko yang akan dikunjungi sales dalam rute), tanggal penugasan rute, pemilihan sales PIC, dan arahan rute. * Memperbaiki penghitungan jumlah lokasi (`location_count`) pada backend database agar secara akurat menghitung total titik kunjungan pelanggan terencana. ================================================================================ CATATAN RILIS & PEMBARUAN SISTEM KELUARGAMART PLATFORM Tanggal Rilis : 24 September 2026 (Pagi) Aplikasi : KeluargaMart Ekosistem Terintegrasi (B2B E-Commerce, ERP, Akuntansi, POS) ================================================================================ 1. PERBAIKAN PENGIRIMAN DELIVERY ORDER KE DRIVER (DO E-COMMERCE / B2B STORE) -------------------------------------------------------------------------------- - Lokasi Kendala: Modul Distribusi & Logistik ERP (/distribution) — "Kirim ke Driver". - Penyebab: Pesanan dari toko B2B online (order_type = ecommerce) telah memotong stok fisik secara langsung saat checkout. Ketika staf gudang menerbitkan surat jalan (Kirim ke Driver), sistem backend sebelumnya mencoba memotong stok fisik untuk kedua kalinya. Jika sisa stok fisik di gudang bernilai 0 (karena seluruh stok sudah dibeli), sistem menolak pengiriman dengan status HTTP 409 ("Konflik data: permintaan tidak dapat diproses"). - Solusi & Hasil: Backend kini mendeteksi tipe pesanan sumber dari Delivery Order. Untuk pesanan e-commerce, pengiriman ke driver tidak lagi memotong stok fisik ulang (mencegah double-deduction dan pencegahan kirim), surat jalan pengiriman (DO) berhasil diteruskan ke driver armada, dan status pengiriman beralih ke Dalam Perjalanan (In Transit) dengan aman tanpa kendala konflik stok. 2. PENAMBAHAN ENDPOINT PERSETUJUAN TRANSFER STOK ANTAR GUDANG (TRANSFER APPROVE) -------------------------------------------------------------------------------- - Lokasi Kendala: Modul Inventori ERP (/inventory/transfers) — Tombol "Setujui". - Penyebab: Frontend ERP memiliki tombol aksi "Setujui transfer & pindahkan stok" yang memanggil API `POST /api/v1/inventory/transfers/:id/approve`. Namun pada backend, rute approve ini belum terdaftar pada router Chi dan logic mutasi stok antar gudang belum diimplementasikan, sehingga server mengembalikan HTTP 404 ("Data tidak ditemukan"). - Solusi & Hasil: * Backend kini menyediakan rute resmi `POST /api/v1/inventory/transfers/{id}/approve` yang dilindungi otorisasi izin `inventory.transfers.create`. * Menjalankan mutasi stok secara atomik dalam satu transaksi database: 1) Mengunci dokumen transfer dan memvalidasi status dokumen masih 'draft'. 2) Memeriksa ketersediaan stok fisik bebas di gudang asal (tidak boleh memakan stok yang sedang direservasi untuk pesanan pelanggan). 3) Mengurangi stok di gudang asal dengan mencatat pergerakan stok bertipe `transfer_out`. 4) Menambah stok di gudang tujuan (otomatis menginisialisasi baris stok jika baru) dengan mencatat pergerakan stok bertipe `transfer_in`. 5) Memperbarui status dokumen transfer menjadi 'completed' dan mencatat petugas penyetuju (`approved_by`). * Telah didokumentasikan pada OpenAPI spec (`docs/openapi.yaml`) dan lolos seluruh uji kontrak rute backend. ================================================================================ CATATAN RILIS & PEMBARUAN SISTEM KELUARGAMART PLATFORM Tanggal Rilis : 23 September 2026 (Malam) Aplikasi : KeluargaMart Ekosistem Terintegrasi (B2B E-Commerce, ERP, Akuntansi, POS) ================================================================================ 1. LOKALISASI PELACAKAN PESANAN & RUTE ARMADA SUMATERA UTARA (MEDAN & BINJAI) -------------------------------------------------------------------------------- - Lokalisasi Peta Logistik Akurat: Peta pelacakan pesanan armada pada B2B E-Commerce (AppTrackingMap) kini 100% berpusat di wilayah operasional resmi KeluargaMart di Sumatera Utara, menghilangkan sepenuhnya koordinat bawaan Jakarta (Marunda/Kemayoran). - Pemetaan Jaringan Gudang Aktif Sumatera Utara: Titik gudang pengirim otomatis mendeteksi lokasi gudang pemroses pesanan: * Gudang Pusat Medan (WH1 / WH-KM-PST) : Jl. Gatot Subroto / Sudirman Medan * KeluargaMart Binjai (WH-KM-BNJ) : Jl. Jend. Ahmad Yani No. 8, Binjai * KeluargaMart Plasamas (WH-KM-PLM) : Jl. Plasamas Raya, Medan * Outlet Sei Batang Hari (WH-SBTH) : Jl. Sei Batang Hari, Medan * Outlet Tembung (WH-TEMBUNG) : Jl. Besar Tembung, Percut Sei Tuan * KeluargaMart Marelan (WH-MRL) : Jl. Marelan Raya, Medan * Gudang Transit Deli Serdang (WH3) : Kawasan Industri Deli Serdang / Tj. Morawa - Ekstraksi Koordinat GPS & Pengenalan Wilayah Otomatis: Sistem otomatis mengekstrak koordinat GPS jika tersimpan dalam alamat toko mitra, mengenali nama kecamatan/arteri Sumut (Sunggal, Helvetia, Amplas, Denai, Johor, Kesawan, Petisah, Setiabudi, Ringroad, Lubuk Pakam, dll.), serta menyediakan radius rute lokal deterministik (~3-5 km dari gudang asal). - Peta Reaktif & Tombol Navigasi Google Maps: Marker kurir logistik bergerak dinamis seiring pembaruan status pesanan. Tombol "Buka di Google Maps" langsung membuka rute GPS berkendara di Sumut. - Teks Wilayah Default: Teks wilayah pengiriman mobile header disesuaikan menjadi "Medan (Gudang Pusat)" dan placeholder input alamat menjadi "Contoh: Medan". 2. OTORISASI GUDANG PADA SALES ORDERS (HANYA PESANAN APPROVED) -------------------------------------------------------------------------------- - Otorisasi Khusus Staf Gudang (Warehouse Role): Pada modul ERP Sales Orders (/sales/orders dan /sales/orders/:id), pesanan penjualan kini hanya akan tampil di akun staf gudang setelah pesanan tersebut disetujui (Approved) oleh Supervisor/Atasan. - Pencegahan Salah Siap Barang: Pesanan yang masih berstatus draft, menunggu persetujuan (pending approval), maupun tertahan kendala limit piutang (blocked overdue) otomatis disembunyikan dari staf gudang untuk memastikan barang hanya disiapkan setelah diverifikasi. - Fokus Aksi Pemenuhan Logistik: Tombol aksi persetujuan sales (Approve, Reject, Cancel) disembunyikan dari staf gudang; staf gudang difokuskan pada aksi pemenuhan fisik barang dan penerbitan surat jalan pengiriman (Delivery Order/DO). 3. PENYEMPURNAAN TOMBOL CLEAR (X) DROPDOWN FORMULIR ERP (KSELECT & KMULTISELECT) -------------------------------------------------------------------------------- - Perataan Vertikal Simetris: Memperbaiki posisi tanda silang (X) pada komponen dropdown seleksi (KSelect dan KMultiSelect) di seluruh modul ERP agar berada tepat di tengah vertikal (self-center) sejajar dengan panah dropdown chevron. - Eksekusi Pengosongan Nilai Instan: Mengklik tombol (X) kini secara instan mengosongkan nilai yang terpilih tanpa memicu pembukaan menu popover dropdown, dilengkapi dukungan tombol keyboard (Enter/Space) dan event emit `@clear`. 4. PEMBERSIHAN NOTICE STOK FISIK & PERBAIKAN KATALOG GUDANG -------------------------------------------------------------------------------- - Penghapusan Notice Redundan: Menghapus card/banner statis "Menampilkan stok fisik" yang mengganggu tampilan katalog saat pengguna memfilter stok per gudang cabang. - Informasi Error Jelas: Pesan galat yang informatif dan ramah pengguna kini ditampilkan secara eksplisit bila terjadi gangguan koneksi saat penarikan data stok gudang. - Kapasitas Paginasi Hingga 1000 Item: Mendukung penarikan data stok inventaris cabang hingga 1000 item per halaman tanpa ter-reset otomatis, serta kejelasan penandaan barang habis per gudang. 5. STANDARISASI BAGAN AKUN AKUNTANSI (CHART OF ACCOUNTS / COA 5 KELOMPOK) -------------------------------------------------------------------------------- - 5 Kelompok Utama Standar Akuntansi: Menstrukturkan Bagan Akun Akuntansi (COA) ke dalam 5 kelompok baku: * 1000 - Aset (Kas, Bank, Piutang Usaha, Persediaan Barang, Aset Tetap) * 2000 - Kewajiban (Hutang Usaha Supplier, Hutang Gaji, Beban Akrual) * 3000 - Ekuitas (Modal Disetor, Laba Ditahan) * 4000 - Pendapatan (Penjualan B2B, Penjualan POS Retail, Pendapatan Galon) * 5000 - Beban (Beban Pokok Penjualan, Beban Operasional, Beban Gaji) - Penyajian Kartu Ringkasan & Desain Elegan: Menyelaraskan kartu ringkasan saldo kelompok akun dan badge tabel dengan token desain visual resmi KeluargaMart. - Otomatisasi Jurnal Pengeluaran Kas Aman: Pencatatan jurnal pengeluaran kas (cash disbursement) kini berjalan dengan context sistem yang terverifikasi dan aman. 6. MODUL PENAGIHAN KUNJUNGAN SALES (LHPP) & PELUNASAN FAKTUR -------------------------------------------------------------------------------- - Modul LHPP Sales Terintegrasi: Implementasi Laporan Hasil Penagihan Piutang (LHPP) untuk verifikasi penerimaan pembayaran dari kunjungan sales ke mitra toko. - Validasi Bukti Pembayaran: Mewajibkan input nomor referensi bukti pembayaran / transfer bank saat pelunasan faktur piutang untuk mencegah potensi selisih pembukuan dan mempermudah audit. 7. PEMBAYARAN HUTANG SUPPLIER & PEMINDAI BARCODE PURCHASE ORDER (PO) -------------------------------------------------------------------------------- - Pelunasan Hutang Supplier: Menambahkan fitur eksekusi pembayaran hutang supplier terintegrasi langsung dari halaman rincian kewajiban pembelian. - Pemindai Barcode Kamera pada PO: Mendukung pemindaian barcode produk menggunakan kamera perangkat untuk mempercepat penyusunan barang pada Purchase Order (PO). - Penarikan Data Massal (fetchAllPages): Utilitas penarikan seluruh halaman data untuk ekspor dan rekapitulasi data PO/SO. 8. PENINGKATAN FITUR B2B E-COMMERCE (MITRA TOKO) -------------------------------------------------------------------------------- - Map Picker Interaktif pada Form Alamat: Menambahkan pemilih titik peta Leaflet interaktif dan deteksi GPS perangkat saat menambah atau mengubah alamat pengiriman mitra (/account/addresses/new). - Indikator Keranjang Berbasis Item Unik (Distinct SKU): Badge keranjang belanja pada header kini menghitung jumlah variasi produk (SKU) yang dipilih, bukan total unit kuantitas barang. - Pengayaan Variasi Transaksi Depot Galon: Pemuatan opsi transaksi galon yang lebih lengkap (isi ulang, beli galon baru, deposit pinjam) pada detail produk (/products/[slug]). - Hotline Resmi CS WhatsApp: Pembaruan nomor tujuan tombol floating WhatsApp ke kontak resmi operasional. 9. LOKALISASI BAHASA BAKU & MANAJEMEN HAK AKSES SISTEM -------------------------------------------------------------------------------- - Standarisasi Bahasa Baku Formal: Seluruh menu navigasi sidebar sistem, hak akses izin (permissions), dan label peran pengguna (roles) diselaraskan ke Bahasa Indonesia baku formal. - Dialog Konfirmasi Hapus Peran: Penambahan konfirmasi pengamanan sebelum menghapus data role untuk mencegah kehilangan akses secara tidak sengaja. - Izin Cek Stok untuk Tim Sales: Tim sales kini memiliki hak akses membaca endpoint inventaris stok cabang untuk kemudahan pengecekan barang saat melayani orderan pembeli. 10. PENINGKATAN APLIKASI KASIR POS (NEXTREPORT & EXCEL) -------------------------------------------------------------------------------- - Cetak PDF NextReport & Ekspor Excel: Penyatuan utilitas cetak slip transaksi dan pergantian shift kasir ke format resmi PDF NextReport serta ekspor data ke file Excel (.xlsx). - Keamanan Fail-Closed Pelanggan Kasir: Mencegah substitusi otomatis ke pelanggan umum (walk-in) jika ID pelanggan yang dicari tidak ditemukan. - Fitur Transaksi Kilat: Tombol pembatalan kilat (rapid undo), routing pesanan depot galon, modal pemindai barcode kamera, dan modal panduan pintasan tombol keyboard. ================================================================================ CATATAN RILIS SEBELUMNYA (18 September 2026) ================================================================================ 1. MASTER DATA KARYAWAN & IDENTITAS KETENAGAKERJAAN -------------------------------------------------------------------------------- - Dukungan Tunjangan Tetap Bulanan: Menambahkan input tunjangan tetap (allowance) pada master karyawan yang akan otomatis diperhitungkan dalam komponen penghasilan kotor pada slip gaji. - Data Pajak & Jaminan Sosial (BPJS): Form data karyawan kini dilengkapi pencatatan Nomor Pokok Wajib Pajak (NPWP), Nomor BPJS Ketenagakerjaan (BPJS TK), dan Nomor BPJS Kesehatan untuk kebutuhan administrasi dan kepatuhan hukum ketenagakerjaan. 2. MANAJEMEN CUTI & SINKRONISASI KEHADIRAN (LEAVE MANAGEMENT) -------------------------------------------------------------------------------- - Alur Pengajuan Cuti Mandiri & Fleksibel: Tersedia modal "Ajukan Cuti" untuk staf/karyawan dengan pilihan jenis cuti (Tahunan, Sakit, Melahirkan, Unpaid / Izin Tanpa Gaji). - Approval & Validasi Kuota Cuti: HR/Manager dapat menyetujui (Approve) atau menolak (Reject) pengajuan cuti. Sistem secara cerdas hanya memotong kuota cuti tahunan jika jenis cuti bukan Unpaid Leave. - Otomatisasi Absensi Saat Cuti: Persetujuan cuti secara otomatis membuat dan menyinkronkan rekap kehadiran karyawan berstatus "leave" pada rentang tanggal cuti yang disetujui. 3. REKAPITULASI PRESENSI & AKUMULASI JAM LEMBUR -------------------------------------------------------------------------------- - Perhitungan Lembur Presisi: Akumulasi total jam lembur kini tercatat otomatis pada sistem presensi dan terintegrasi langsung ke dalam perhitungan upah lembur bulanan. - Tampilan Kolom & Ekspor Lengkap: Kolom jam lembur kini tampil pada tabel data presensi, format cetak laporan, dan file ekspor Excel (.xlsx). 4. GENERATOR DRAFT PENGGAJIAN OTOMATIS (PAYROLL ENGINE) -------------------------------------------------------------------------------- - Generate Draft Gaji Berbasis Kehadiran Riil: Modal generator penggajian bulanan memungkinkan pembuatan draft gaji otomatis untuk seluruh karyawan aktif berdasarkan data rekapitulasi kehadiran pada periode bulan & tahun berjalan. - Komponen Perhitungan Finansial Akurat: * Penghasilan: Gaji Pokok + Tunjangan Tetap + Upah Lembur (1/173 x Gaji Pokok per jam). * Potongan Kehadiran: Denda telat (Rp 25.000/kali) dan potongan absen/unpaid (Gaji Pokok / 25 per hari). * Potongan Jaminan Sosial: Iuran BPJS Ketenagakerjaan (2.7%) dan BPJS Kesehatan (1.0%). * Gaji Bersih (Take Home Pay): Otomatis dikalkulasi tanpa selisih pembulatan. - Alur Persetujuan (Approval) Bertingkat: Draft gaji dapat diperiksa dan disetujui oleh HR Manager sebelum diproses ke bagian keuangan. 5. INTEGRASI PEMBAYARAN GAJI & JURNAL KEUANGAN (GL DISBURSEMENT) -------------------------------------------------------------------------------- - Eksekusi Pembayaran Terverifikasi: Tombol "Bayar Gaji" dilengkapi modal konfirmasi pemilihan sumber dana (Kas Toko atau Bank BCA) beserta tanggal pembayaran dan nomor referensi. - Otomatisasi Jurnal Umum (General Ledger Voucher): Pembayaran gaji secara instan menerbitkan dan memposting Jurnal Voucher ke modul Akuntansi GL secara otomatis: * Debit : Akun 5000.02 (Beban Gaji Karyawan) * Kredit : Akun 1000.01.01 (Kas Toko) atau 1000.03.01 (Bank BCA) - Audit Trail & Kunci Status: Status payroll langsung berubah menjadi "Paid", transaksi terkunci dari perubahan ganda, dan tercatat riwayat tanggal serta staf pemroses. 6. SLIP GAJI STANDAR KELUARGAMART (PRINT & EXPORT READY) -------------------------------------------------------------------------------- - Tampilan Cetak Resmi: Desain slip gaji cetak diperbarui dengan kop resmi KeluargaMart, nomor referensi, rincian lengkap komponen penghasilan & potongan, informasi nomor rekening bank, serta kolom tanda tangan ganda (Staf Penerima & Bagian Keuangan/HRD). 7. SINKRONISASI TOTAL PRODUK STOK & NAVIGASI PAGINASI (INVENTORY) -------------------------------------------------------------------------------- - Sinkronisasi Kartu Statistik & Total Paginasi: Kartu ringkasan "Total Produk" pada halaman Stok Gudang kini menampilkan jumlah keseluruhan produk/SKU dari database yang sinkron 100% dengan total data pada kontrol paginasi tabel (bukan hanya menghitung baris halaman aktif). - Kontrol Paginasi Server-Side: Pengaktifan navigasi halaman tabel stok dengan pilihan batas baris per halaman (10, 20, 50, 100 item) untuk performa muat yang cepat pada ribuan SKU. - Metadata Ringkasan Stok Backend: Endpoint inventaris kini menyediakan kalkulasi agregat terpusat mencakup total kuantitas fisik, valuasi nominal persediaan, dan deteksi stok menipis/habis. 8. PENINGKATAN LAPORAN NERACA & SATUAN SALES ORDER -------------------------------------------------------------------------------- - Akurasi Stok Rendah pada Rasio Likuiditas: Laporan Neraca kini membaca data resmi `low_stock_count` langsung dari ringkasan inventaris terpusat untuk akurasi indikator kesehatan stok vs likuiditas kas. - Tampilan Satuan Unit Barang (Sales Order): Daftar rincian item Sales Order kini menampilkan simbol satuan unit barang (seperti Pcs, Karton, Galon) untuk mencegah kerancuan kuantitas pemesanan. 9. KEAMANAN VALIDASI TRANSAKSI KASIR (POS CART CONFLICT) -------------------------------------------------------------------------------- - Deteksi Konflik Stok POS: Penanganan kekurangan stok saat transaksi penjualan di kasir POS kini dipetakan ke respon HTTP 409 Conflict, sehingga kasir segera mendapatkan peringatan jelas jika barang yang di-scan melebihi sisa fisik di toko. ================================================================================ CATATAN RILIS SEBELUMNYA (17 September 2026) ================================================================================ 1. PEMBARUAN TAMPILAN LAPORAN ARUS KAS (CASHFLOW) -------------------------------------------------------------------------------- - Pemisahan Kategori Kas Lebih Jelas: Tampilan kartu ringkasan arus kas kini dibagi menjadi 2 baris terstruktur: * Baris 1 (Arus Kas Operasional): [Uang Masuk] | [Uang Keluar] | [Net Cashflow (+/-)] * Baris 2 (Struktur Modal & Belanja Aset): [Modal Usaha] | [Belanja Aset Tetap] | [Net Kas Modal] - Kalkulasi Net Kas Modal Otomatis: Memudahkan pemantauan sisa kas modal usaha setelah dialokasikan untuk belanja aset dan inventaris toko (Net Kas Modal = Modal Usaha - Belanja Aset). - Penyederhanaan Bahasa Bisnis: Menghilangkan istilah teknis akademis (seperti PSAK 2 / Metode Langsung) dan menggantinya dengan istilah bisnis operasional yang bersih: "Rincian Arus Kas" dan "Tabel Aktivitas". 2. PERBAIKAN SIMPAN DATA PELANGGAN (MASTER DATA CUSTOMER) -------------------------------------------------------------------------------- - Penyederhanaan Validasi: Form penyimpanan pelanggan kini hanya mewajibkan field Nama Toko/Pelanggan sesuai ketentuan backend. - Kelancaran Input: Data kontak, alamat, termin pembayaran, maupun batas plafon kredit yang belum lengkap tidak lagi memblokir proses simpan data baru atau pembaruan data lama. 3. PENCATATAN BARANG RETUR & FOTO CACAT (PENERIMAAN BARANG / GR) -------------------------------------------------------------------------------- - Input Barang Tidak Sesuai / Rusak: Pada proses penerimaan barang fisik di gudang (baik dari PO maupun input manual), staf gudang kini dapat mencatat: * Jumlah barang ditolak/rusak (Qty Retur) * Catatan/alasan penolakan barang * Unggah foto bukti cacat (bisa langsung menggunakan kamera ponsel/tablet) - Pratinjau Foto Lebih Lega: Modal pratinjau bukti foto cacat kini lebih lebar dan nyaman dilihat di berbagai ukuran layar. 4. PENINGKATAN KEAMANAN & PENGUNCIAN VOUCHER PEMBAYARAN -------------------------------------------------------------------------------- - Penguncian Otomatis: Voucher pembayaran yang statusnya telah dibayar (Paid) atau terpakai (Used) kini dikunci secara otomatis oleh sistem. - Hak Akses Admin: Staf operasional biasa tidak dapat lagi mengubah data atau status voucher yang telah cair. Perubahan hanya dapat dilakukan oleh role Admin dan Superadmin. 5. IDENTIFIKASI DRIVER & DETEKSI NAMA KEMBAR -------------------------------------------------------------------------------- - Penambahan ID Driver: Kolom ID resmi (#ID) kini ditampilkan pada daftar master driver. - Deteksi Duplikat: Sistem otomatis mendeteksi nama driver yang serupa/sama dan menampilkan label peringatan "Duplikat (ID: #...)" pada tabel serta format dropdown penugasan armada ("Nama Driver (ID: #...)") untuk mencegah kekeliruan pemilihan driver. 6. ANALISIS RASIO LIKUIDITAS PADA NERACA KEUANGAN -------------------------------------------------------------------------------- - Metrik Kesehatan Modal Kerja: Laporan Neraca kini dilengkapi panel evaluasi rasio likuiditas otomatis: * Current Ratio : Mengukur kemampuan aset lancar menutup hutang lancar (Target >= 1.5x). * Quick Ratio : Mengukur likuiditas cepat tanpa menghitung persediaan stok (Target >= 1.0x). * Cash Ratio : Mengukur rasio kas langsung terhadap kewajiban lancar (Target >= 1.0x). * Net Working Capital : Total modal kerja bersih (Aset Lancar - Kewajiban Lancar). - Alur Likuiditas Real-Time (POS -> Neraca): Menampilkan alur terpadu sinkronisasi kasir (Cash/QRIS/Transfer), pemotongan stok & HPP, hingga pencatatan arus kas dan pembentukan neraca secara real-time. - Alokasi Kas & Bank Terkumpul: Panel pengambilan keputusan alokasi kas terkumpul untuk: 1. Alokasi Pembayaran Hutang Supplier / Operasional (daya bayar hutang lancar). 2. Pembelian Restock Barang (kontrol batas minimum/maksimum stok). - Evaluasi Rasio Likuiditas Terpadu: Indikator status kesehatan ganda berbasis target "Cash Ratio >= 1.0x & Stok Terkendali". 7. INTEGRASI CETAK & PEMBERSIHAN ELEMEN REDUNDAN (DO, LHPP, GR, TRANSFER) -------------------------------------------------------------------------------- - Tampilan Tabel Fokus & Ringkas: Tombol aksi pada tabel depan (Delivery Order, LHPP, Penerimaan Barang) disederhanakan menjadi tombol "Detail", menghilangkan tombol cetak/unduh ganda di baris tabel yang membingungkan. - Footer Modal Lapang: Menghilangkan tombol "Tutup" yang redundan di footer modal (cukup menggunakan tombol silang [X] di pojok kanan atas), sehingga tombol aksi utama (Cetak, Unduh PDF, Kirim ke Driver, Approve) memiliki ruang yang leluasa dan tidak berdesakan. 8. PENINGKATAN TAMPILAN NOTIFIKASI (TOAST & MODAL) -------------------------------------------------------------------------------- - Prioritas Lapisan Notifikasi: Pesan notifikasi berhasil/gagal/error kini selalu berada di lapisan teratas (z-index tertinggi), sehingga pesan tidak lagi tertutup efek blur atau latar belakang popup modal. 9. PENYEMPURNAAN FORMAT EKSPOR EXCEL (.XLSX) -------------------------------------------------------------------------------- - Format Nilai Rupiah, Tanggal, dan Kode Akun pada file Excel kini rapi, akurat, dan otomatis menyesuaikan lebar kolom. 10. ARUS KAS SEPENUHNYA MANUAL & PENAMAAN ULANG "ARUS KAS KASIR" -------------------------------------------------------------------------------- - Pencatatan Manual Penuh: Modul ERP Arus Kas (finance/cashflows) kini sepenuhnya manual — tidak ada lagi entri otomatis dari transaksi lain, sehingga setiap pemasukan/pengeluaran kasir dicatat eksplisit oleh pengguna yang berwenang. - Penamaan Ulang Menu: Menu "Arus Kas" diubah menjadi "Arus Kas Kasir" agar jelas menunjukkan sumber pencatatan dari sisi kasir. 11. PEMOTONGAN STOK FISIK SAAT CHECKOUT E-COMMERCE & RESTOCK OTOMATIS -------------------------------------------------------------------------------- - Potong Stok Saat Checkout: Checkout B2B E-Commerce kini langsung mengurangi stok fisik gudang walaupun status pesanan masih pending, sehingga stok yang tampil selalu akurat dan mencegah oversell saat banyak pembeli memesan bersamaan. - Restock Saat Batal: Pembatalan pesanan (B2B maupun POS) otomatis mengembalikan stok fisik ke gudang. - Pembayaran Tidak Menyentuh Stok: Pembayaran (PayCheckout) tidak lagi memotong stok — stok hanya dipotong sekali saat checkout, sehingga tidak terjadi pengurangan ganda. - Piutang Otomatis: Checkout katalog otomatis membukukan piutang (receivable) dan daftar piutang kini diurutkan dari faktur terbaru. 12. ALAMAT TERSIMPAN & ALUR STATUS PENGIRIMAN E-COMMERCE -------------------------------------------------------------------------------- - Pilihan Alamat Tersimpan: Halaman checkout B2B kini menyediakan pemilih alamat yang tersimpan (saved address picker) dengan fallback otomatis, sehingga pembeli tidak perlu mengetik ulang alamat setiap memesan. - Alur Status Pengiriman Benar: Status pengiriman tidak lagi langsung "diterima" — pesanan mengikuti alur bertahap (diproses -> dikirim -> diterima) dan tombol Terima hanya aktif saat status terkirim (shipped). - Label Status Konsisten: Status faktur (invoiced) dan lunas (paid) kini ditampilkan sebagai "Diterima" di halaman detail pesanan, selaras dengan pemetaan status daftar pesanan. 13. KASIR POS DAPAT MEMBUAT MEMBER PELANGGAN LANGSUNG -------------------------------------------------------------------------------- - Pembuatan Member Inline: Kasir POS kini dapat mendaftarkan member baru untuk pelanggan langsung dari halaman kasir (inline, dengan pelindung re-entrancy), tanpa harus berpindah ke modul lain. - Lingkup Transaksi Toko Aktif: Daftar transaksi POS dibatasi pada toko/outlet aktif dan stok produk otomatis diperbarui (refresh) setelah checkout, termasuk tampilan jumlah stok pada kartu produk. 14. PEMISAHAN LAPORAN ARUS KAS UTAMA & KAS KASIR (MANUAL) -------------------------------------------------------------------------------- - Pemisahan Fitur & Rute URL Eksplisit: * Laporan Arus Kas Resmi (/reports/cashflow-statement): Merupakan laporan arus kas utama perusahaan (Cash Flow Statement) yang memuat seluruh pergerakan kas masuk dan keluar operasional secara terperinci. * Kas Kasir Manual (/finance/cashier-cash): Merupakan modul sekunder khusus pencatatan fisik dan mutasi kas kecil register. * Pengalihan Otomatis: Rute lama (/reports/financial dan /finance/cashflow) otomatis dialihkan sehingga tidak ada bookmark atau tautan navigasi yang terputus. - Sintesis Data Arus Kas Riil Real-Time: Laporan Arus Kas resmi kini tidak lagi menjadi Rp 0 saat tabel kasir dibersihkan. Sistem menyintesis langsung dari transaksi bisnis nyata: * Kas Masuk : Pelunasan penjualan POS dan invoice B2B (tabel payments). * Kas Keluar: Pelunasan pembelian barang dagang ke supplier (tabel purchase_orders). * Mutasi Tambahan: Pencatatan kas kecil/manual kasir (tabel cashflows). - Fitur Hapus Transaksi Kasir Manual: Pengguna dengan hak akses kini dapat menghapus mutasi kas kecil yang salah input langsung dari tabel Kas Kasir (Manual). - Pembersihan Data Lama (Migrasi 000083): Pembersihan menyeluruh atas data dummy dan entri auto-generated lama melalui script migrasi truncate database yang aman. 15. PEMULIHAN HAK AKSES PEMBELIAN (PURCHASING) & STOK GUDANG -------------------------------------------------------------------------------- - Hak Persetujuan PO untuk Kepala Keuangan (Finance Head): Memulihkan kewenangan persetujuan Purchase Order (purchasing.purchase-orders.approve) khusus kepada Kepala Keuangan (finance_head) sesuai matriks SOP perusahaan. - Hak Pembuatan PO untuk Tim Gudang & Manajer: Memberikan izin pembuatan PO (purchasing.purchase-orders.create) kepada staf Gudang (warehouse), General Manager (GM), dan Branch Manager (BM). - Akses Cek Stok Inventaris untuk Staf Gudang: Memulihkan izin melihat data stok cabang (/inventory/stock) untuk staf gudang agar proses verifikasi fisik barang berjalan lancar. 16. STABILITAS PENOMORAN JURNAL & AKRUAL PENERIMAAN BARANG -------------------------------------------------------------------------------- - Perbaikan Nomor Jurnal Bentrok ('Kode Sudah Digunakan'): Menjalankan sinkronisasi urutan penomoran (document_number_sequences) secara otomatis ke nilai tertinggi (GREATEST) yang idempoten, mencegah terjadinya kegagalan pembuatan jurnal akibat benturan nomor pada nomor jurnal bawaan. - Keandalan Jurnal Akrual Penerimaan Barang (Goods Receipt): Memperbaiki penanganan dan pencatatan logging saat pembuatan draf jurnal akuntansi akrual pada transaksi penerimaan barang dari supplier, memastikan proses tidak berhenti secara senyap jika terjadi kendala. 17. PENYEGARAN ALAMAT OTOMATIS SAAT CHECKOUT B2B (WINDOW FOCUS) -------------------------------------------------------------------------------- - Deteksi Fokus Jendela: Daftar alamat pengiriman pada halaman checkout B2B E-Commerce kini otomatis dimuat ulang (reload) saat pengguna kembali berfokus ke tab checkout setelah menambahkan alamat baru di halaman buku alamat, tanpa perlu menekan tombol muat ulang manual. ================================================================================ Dokumen ini dibuat otomatis sebagai panduan rilis pembaruan sistem KeluargaMart. ================================================================================