Files
accounting_dev_v2/docs/PRODUCTION-DB-WORKFLOW-PEMBELIAN.md
T
2026-09-11 16:03:00 +07:00

2.6 KiB

Catatan Production — Penyatuan Workflow Pembelian

Perubahan konsep

  • Barang Pending hanya membuat master/rencana barang gudang dengan stok 0.
  • Tidak ada barcode, stock log, jurnal, atau pembayaran ketika master pending dibuat.
  • Stok menjadi tersedia hanya setelah Goods Receipt untuk PO gudang diposting.
  • Pembelian aset tidak masuk stok gudang; Goods Receipt membuat data pada asset register.
  • Pembayaran dilakukan melalui tagihan supplier/hutang, bukan dari master barang.

Migrasi wajib

Jalankan migration sampai versi 20260902000500 setelah backup dan uji staging. Migrasi menambah tujuan pembelian (warehouse/asset), metadata kapitalisasi aset, relasi receipt ke aset, serta kolom rencana pada items. Kolom item dan gudang pada detail transaksi terkait dibuat nullable agar pembelian aset tidak dipaksa mempunyai master barang gudang.

php index.php migrate latest
php index.php migrate status

Pemeriksaan sebelum cut-over

  1. Pastikan semua item berstatus draft mempunyai stok nol dan tidak digunakan pada penjualan.
  2. Item draft legacy yang sudah mempunyai stok harus diklasifikasikan sebagai item aktif.
  3. Pastikan mapping akun inventory, accounts_payable, dan purchase_input_tax aktif.
  4. Pastikan akun aset dan lokasi aset tersedia sebelum membuat PO aset.
  5. Uji satu siklus gudang dan satu siklus aset di staging: PR, approval, PO, approval, receipt, tagihan, posting hutang, lalu pembayaran.
  6. Rekonsiliasi stock ledger dengan akun persediaan dan asset register dengan akun aset setelah cut-over.

Rollback migration ini tidak dilakukan dengan menghapus kolom pada database aktif. Gunakan backup terverifikasi apabila deployment harus dibatalkan.

Biaya administrasi bank pada pembayaran

Migration 20260905000700 wajib dijalankan sebelum kode pembayaran terbaru digunakan. Migration ini menambahkan bank_charge_amount, bank_charge_account_id, dan total_cash_out pada supplier_payments, serta mapping bank_charge_expense.

Sebelum Production:

  1. Cocokkan mapping bank_charge_expense dengan akun beban administrasi bank resmi pada COA perusahaan; jangan mengandalkan kode seed Development 6298 bila COA Production berbeda.
  2. Pastikan supplier_payments.amount tetap diperlakukan sebagai pokok pembayaran yang mengurangi PO/invoice. total_cash_out adalah pokok ditambah biaya admin.
  3. Rekonsiliasi total purchase_payment_sources dengan supplier_payments.total_cash_out dan alokasi invoice dengan supplier_payments.amount.
  4. Uji masing-masing satu transaksi pembayaran awal/DP, pembayaran setelah penerimaan, dan pelunasan Hutang & Pembayaran dengan admin bank sebelum cut-over.