Lewati ke konten utama

Domain Model

Entitas Inti

EntitasTabelPeran
Userusersakun + role
Projectprojectsproyek utama
SPBspbssurat permintaan barang
Itemitemsitem dari SPB
PreOrder (PO)pre_orderspurchase order
POItempo_itemspivot item ke PO + status item PO
Suppliersuppliersvendor/supplier
Paymentpaymentsdata pembayaran PO
PaymentTermpayment_termstermin pembayaran
Taxtaxesdata pajak terkait payment
PaymentSplitpayment_splitsskema DP/pelunasan
PriceChangeRequestprice_change_requestsusulan perubahan total PO
SPKspkskontrak kerja
SPKPaymentspk_paymentspembayaran SPK
SPKRevisionspk_revisionsrevisi SPK
SPKPaymentAccountingspk_payment_accountingsaccounting SPK payment
PO/SPK Payment Receiptpo_payment_receipts, spk_payment_receiptsbukti pembayaran

Relasi Penting

Invariant Bisnis (indikatif)

  • SPB approved bisa lanjut ke PO.
  • PO received mendorong proses pembayaran.
  • Payment status bergerak waiting → approved → verified.
  • SPK payment & accounting terpisah tapi terhubung pada spk_payment_id.

Field Kritikal

ModelFieldCatatan
PreOrderstatus, received_at, approved_by, received_bylifecycle PO
Paymentsubtotal, total, new_total, is_split, statusfinal nominal
SPBstatus, delivery_datelifecycle SPB
SPKstatus, contract_nominallifecycle kontrak

Catatan Verifikasi

  • Status: Partial
  • Scope: Constraint FK aktual di production belum diverifikasi langsung ke instance DB running.
  • Action: Ambil snapshot constraint dari DB live lalu cocokkan dengan model/migration.