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

2.2 KiB

Runbook Database Production — Tahap 5

Preflight wajib

  1. Full backup dan uji restore pada staging.
  2. Bekukan pembuatan invoice/pembayaran selama migration.
  3. Rekonsiliasi total invoice, pembayaran, piutang, jurnal, stock log, dan barcode.
  4. Periksa nomor invoice duplikat:
SELECT no_invoice, COUNT(*), GROUP_CONCAT(id ORDER BY id)
FROM invoices GROUP BY no_invoice HAVING COUNT(*) > 1;
  1. Periksa pembayaran tanpa invoice/customer, pembayaran melebihi invoice, jurnal hilang, dan detail stok ganda. Jangan mengoreksi otomatis sebelum Finance menyetujui mapping.
  2. Tinjau akun kontrol: Piutang Usaha, Utang Pajak Penjualan, Uang Muka Pelanggan, Beban Kerugian Piutang, HPP, Persediaan, dan akun pendapatan.

Migration

Jalankan berurutan: 20260831001000, 20260831001100, lalu 20260901000100. Migration 010 berhenti aman jika nomor invoice duplikat ditemukan.

Migration membuat akun default berikut hanya bila kodenya belum ada:

  • 2191 Utang Pajak Penjualan
  • 2192 Uang Muka Pelanggan
  • 6191 Beban Kerugian Piutang

Production wajib menyesuaikan system_account_mappings dengan chart of accounts resmi perusahaan. Jangan mengandalkan nama/kode default jika COA Production berbeda.

Validasi setelah migration

SELECT workflow_status, status, COUNT(*) FROM invoices GROUP BY workflow_status,status;
SELECT COUNT(*) FROM payments p LEFT JOIN payment_allocations a ON a.payment_id=p.id WHERE a.id IS NULL;
SELECT no_invoice, COUNT(*) FROM invoices GROUP BY no_invoice HAVING COUNT(*)>1;

Uji pada staging: quotation→SO/invoice, submit→approve→post, partial dan multi-invoice payment, uang muka, credit note, write-off, refund, reversal, aging, statement, receipt, attachment, jurnal balance, serta stok/barcode berkurang tepat sekali.

Invoice historis tidak boleh diposting ulang otomatis. Jika flag legacy posted tidak sesuai jurnal sebenarnya, rekonsiliasi per invoice dan gunakan change script yang disetujui Finance/DBA.

Operasional

Batasi endpoint credit note, refund, write-off, posting, dan reversal kepada role berwenang. Konfigurasikan provider reminder terpisah. Backup lampiran uploads/accounting bersama database dan terapkan malware scanning pada infrastruktur Production.