Lewati ke isi

State Machine & Workflow

Flow persetujuan untuk setiap tipe expense.

Advance (Uang Muka)

draft -> submitted -> approved_atasan -> approved_finance -> disbursed -> [realisasi] -> done
Step State Method Siapa
1 submitted action_submit() Pemohon
2 approved_atasan action_approve_atasan() Manager / Admin
3 approved_finance action_approve_finance_advance() Finance
4 disbursed action_disburse() Finance
5 done via realisasi selesai Auto

Pencairan

Saat disburse: _create_disburse_move() buat journal Debit UM, Credit Bank/Cash.

Realisasi (Settlement)

draft -> submitted -> approved_1 -> [approved_2] -> [approved_hr (BPD only)] -> approved_finance -> done
Approver Siapa Kapan
approver_1 PIC (jika ada) atau Atasan langsung Selalu
approver_2 Atasan PIC Hanya jika PIC di-set
HR group_expense_hr Hanya BPD
Finance group_expense_finance Selalu (step terakhir)

Finalisasi

Saat done: _finalize_settlement() update parent UM, hitung selisih, buat settlement + return journal.

Reimburse

draft -> submitted -> approved_atasan -> approved_finance -> done

Tanpa pencairan. Langsung done setelah Finance approve. Journal: Debit Biaya, Credit Hutang Karyawan.

Company Paid

draft -> submitted -> approved_atasan -> approved_finance -> done

Journal: Debit Biaya, Credit Kas Perusahaan.


Selanjutnya: Accounting & Journal Entry | Sebelumnya: Struktur Direktori & Model Reference