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