Panduan Lengkap Workflow ERP Siumang

Selamat datang di panduan lengkap untuk fitur Workflow di ERP Siumang! Fitur ini adalah alat canggih untuk mengotomatisasi dan merapikan alur kerja dokumen di perusahaan Anda.

Bayangkan Workflow sebagai "aturan main" yang cerdas untuk setiap dokumen, misalnya Permintaan Pembelian atau Permohonan Cuti. Dengan Workflow, setiap dokumen akan bergerak dari satu tahapan ke tahapan berikutnya secara otomatis, memastikan semua proses berjalan sesuai aturan yang telah ditetapkan. Tidak ada lagi dokumen yang terselip, tidak ada lagi proses yang terlewat.

1. Pengantar: Memahami Apa Itu Workflow

Di ERP Siumang, fitur Workflow dirancang sebagai otak sentral yang mengatur setiap dokumen penting, memastikan alur kerja berjalan secara otomatis, terstruktur, dan efisien. Fitur ini bukan hanya tentang otomatisasi, melainkan juga tentang standarisasi proses bisnis.

Dengan mengaktifkan Workflow, setiap dokumen (seperti Permintaan Pembelian, Permintaan Cuti, atau Laporan Biaya) akan mengikuti jalur yang telah ditentukan, melewati serangkaian "pos" atau tahapan, dan hanya dapat diproses oleh peran pengguna yang berwenang di setiap tahap. Ini memastikan semua proses bisnis dilakukan dengan konsisten dan mengurangi risiko kesalahan manual.

2. Konsep-Konsep Dasar Workflow

Sebelum kita mulai membuat workflow, ada tiga konsep dasar yang perlu Anda pahami. Memahami konsep-konsep ini akan menjadi kunci dalam merancang workflow yang efektif dan sesuai dengan kebutuhan bisnis Anda.

2.1. State (Status)

**State** adalah tahapan atau status yang bisa dilalui oleh sebuah dokumen. Anggaplah ini sebagai "pos-pos pemeriksaan" dalam perjalanan dokumen. Sebuah dokumen akan selalu berada di salah satu status yang telah Anda definisikan.

Detail Teknis: Ketika membuat `Workflow States` di ERP Siumang, Anda akan mengisi kolom-kolom berikut:

  • State: Kolom ini diisi dengan nama unik untuk setiap status. Nama ini akan menjadi label yang jelas untuk mengidentifikasi posisi dokumen saat ini. Contoh: `Draft`, `Submitted`, `Approved`, `Rejected`. Pastikan nama yang Anda berikan deskriptif.
  • Doc Status: Kolom ini menentukan status internal dokumen di ERP Siumang. Opsi yang tersedia adalah:
    • `0` (Draft): Digunakan untuk dokumen yang masih dalam tahap awal atau belum diserahkan. Dokumen di status ini bisa diubah.
    • `1` (Submitted): Digunakan untuk dokumen yang telah diserahkan (submit) dan tidak bisa lagi diubah. Ini biasanya status untuk dokumen yang sedang menunggu persetujuan.
    • `2` (Cancelled): Digunakan untuk dokumen yang telah dibatalkan.
    Menentukan `Doc Status` yang tepat sangat penting karena ini mempengaruhi hak akses dan kemampuan untuk mengedit dokumen.
  • Only Allow Edit For: Di sini Anda menentukan peran (`Role`) pengguna yang masih diperbolehkan untuk mengedit dokumen saat berada di status ini. Jika kolom ini dibiarkan kosong (atau ditandai dengan `-`), artinya tidak ada peran yang bisa mengedit dokumen, yang seringkali menjadi kondisi penting untuk dokumen yang sudah disubmit.

2.2. Transition (Transisi)

**Transition** adalah aksi atau tindakan yang membuat dokumen berpindah dari satu status ke status lain. Transisi ini akan muncul sebagai tombol di antarmuka dokumen, dan hanya peran pengguna yang berhak yang bisa melihatnya.

Detail Teknis: Saat membuat `Transitions`, Anda akan mengisi kolom-kolom berikut:

  • State: Kolom ini menentukan status dokumen saat ini. Transisi hanya akan aktif jika dokumen berada di status ini.
  • Action: Ini adalah nama tombol yang akan tampil di layar pengguna. Contoh: `Submit`, `Approve`, `Reject`, `Cancel`. Nama ini harus jelas dan mencerminkan tindakan yang akan dilakukan.
  • Next State: Kolom ini menentukan status tujuan setelah `Action` dilakukan. Misalnya, jika `State` saat ini adalah `Submitted` dan `Action` adalah `Approve`, maka `Next State` bisa jadi `Approved by Manager`.
  • Allowed: Di sini Anda menentukan satu atau lebih `Role` (peran) yang memiliki hak untuk melihat dan mengklik tombol `Action` ini. Hanya peran yang terdaftar di sini yang bisa melakukan transisi.
  • Condition: Kolom ini bersifat **opsional**. Jika Anda mengosongkan kolom ini (ditandai dengan `-`), transisi akan selalu tersedia untuk peran yang diizinkan (`Allowed`). Namun, jika Anda mengisinya dengan ekspresi Python, tombol `Action` hanya akan muncul jika kondisi tersebut terpenuhi.

Memahami Kolom Kondisi (`Condition`)

Kolom kondisi adalah fitur yang sangat kuat untuk membuat alur kerja dinamis. Anda bisa menggunakan ekspresi Python sederhana hingga yang rumit untuk membandingkan nilai-nilai pada dokumen. Berikut adalah beberapa contoh formula yang bisa Anda gunakan:

  • Contoh Sederhana:
    • `doc.grand_total > 5000000`: Transisi hanya akan muncul jika total nominal dokumen lebih dari 5 juta.
    • `doc.is_paid == 1`: Transisi hanya bisa dilakukan jika dokumen sudah lunas.
    • `doc.employee == frappe.session.user`: Transisi hanya bisa dilakukan oleh karyawan yang namanya terdaftar di dokumen.
  • Contoh Rumit (Menggunakan Operator Logika):
    • `doc.grand_total > 10000000 and doc.project_status == 'On Hold'`: Transisi hanya muncul jika total nominal di atas 10 juta DAN status proyek adalah 'On Hold'.
    • `doc.grand_total > 5000000 or doc.is_urgent == 1`: Transisi akan muncul jika total nominal di atas 5 juta ATAU jika dokumen ditandai sebagai mendesak.
    • `frappe.db.get_value("Employee", {"user_id": frappe.session.user}, "department") == "IT"`: Transisi hanya bisa dilakukan oleh pengguna yang departemennya adalah IT.

2.3. Role (Peran Pengguna)

**Role** adalah peran atau jabatan yang diberikan kepada pengguna. Peran ini adalah fondasi dari sistem otorisasi di ERP Siumang.

Dalam konteks workflow, peran ini digunakan di dua tempat utama:

  • Di Kolom `Only Allow Edit For` (States): Kolom ini menentukan peran mana yang dapat mengubah dokumen saat berada di status tertentu. **Jika kolom ini dikosongkan, tidak ada yang dapat mengedit dokumen**. Ini sangat penting untuk menjaga integritas dokumen yang sudah disubmit atau diapprove.
  • Di Kolom `Allowed` (Transitions): Kolom ini menentukan peran mana yang memiliki hak untuk melihat dan mengaktifkan transisi. **Jika kolom ini dikosongkan, tidak ada yang dapat melakukan transisi tersebut**.

Dengan memahami kedua kolom ini, Anda bisa mengontrol alur kerja secara ketat, memastikan hanya peran yang benar yang memiliki akses untuk mengedit atau memproses dokumen di setiap tahapannya.

3. Panduan Umum: Langkah-Langkah Membuat Workflow

Berikut adalah panduan umum dan teknis untuk membuat workflow, dengan referensi langsung ke formulir di ERP Siumang.

3.1. Langkah 1: Merancang Alur

Sebelum membuka ERP, sangat penting untuk merancang alur kerja secara terstruktur. Pertimbangkan hal-hal berikut:

  • Dokumen apa yang akan diatur (misalnya: `Material Request`).
  • Status apa saja yang akan dilalui dokumen tersebut (`Draft`, `Submitted`, `Approved`, dst.).
  • Aksi apa saja yang akan memindahkan status (`Submit`, `Approve`, `Reject`).
  • Siapa saja yang berhak melakukan aksi tersebut (peran atau `Role`).

3.2. Langkah 2: Membangun Workflow Secara Teknis

Setelah alur sudah jelas, saatnya membangunnya di ERP Siumang.

  1. Buka Awesome Bar dan ketik `Workflow List`, lalu klik `Add Workflow`.
  2. Isi detail utama:
    • Workflow Name: Berikan nama yang jelas untuk workflow Anda, misalnya `Workflow Pembelian Bahan Baku`.
    • Document Type: Pilih jenis dokumen yang akan diatur, misalnya `Material Request`.
  3. Scroll ke bagian **States**. Klik `Add Row` dan isi setiap kolom sesuai kebutuhan Anda.

3.3. Langkah 3: Menentukan Aturan Perpindahan (Transitions)

Bagian ini adalah "otak" workflow Anda. Di sini kita membuat aturan untuk setiap perpindahan status.

  1. Scroll ke bagian **Transitions**. Klik `Add Row` untuk setiap aturan yang Anda buat.
  2. Isi setiap kolom, termasuk **Conditions** (kondisi) jika diperlukan.

4. Studi Kasus Approval: Pembelian Bahan Baku

4.1. Skenario Alur Kerja

Kita akan membuat workflow persetujuan untuk Permintaan Pembelian Bahan Baku dengan skenario sebagai berikut:

  1. Staf Gudang RM mengisi dan mengajukan Material Request.
  2. Dokumen disetujui oleh Manajer Gudang.
  3. Jika nominal pembelian > Rp 5.000.000, dokumen butuh persetujuan Plant Manager.
  4. Jika nominal <= Rp 5.000.000, langsung disetujui Manajer Purchasing.
  5. Dokumen berakhir di persetujuan Manajer Purchasing sebelum diubah menjadi Purchase Order.

4.2. Implementasi Teknis (Menggunakan Tabel)

Berikut adalah detail `States` dan `Transitions` yang perlu Anda masukkan di ERP Siumang. Kolom yang kosong ditandai dengan `-`.

Tabel States:

State Doc Status Only Allow Edit For
Draft 0 Staf Gudang
Submitted 1 -
Approved by Manager Gudang 1 -
Approved by Plant Manager 1 -
Approved by Purchasing 1 -
Rejected 2 -

Tabel Transitions:

State Action Next State Allowed Condition
Draft Submit Submitted Staf Gudang -
Submitted Approve Approved by Manager Gudang Manajer Gudang -
Submitted Reject Rejected Manajer Gudang -
Approved by Manager Gudang Approve Approved by Plant Manager Plant Manager doc.grand_total > 5000000
Approved by Manager Gudang Approve Approved by Purchasing Manajer Purchasing doc.grand_total <= 5000000
Approved by Manager Gudang Reject Rejected Plant Manager, Manajer Purchasing -
Approved by Plant Manager Approve Approved by Purchasing Manajer Purchasing -
Approved by Plant Manager Reject Rejected Manajer Purchasing -
Approved by Purchasing Approve Finalized Manajer Purchasing -

5. Studi Kasus Workflow Approval: Pengajuan Cuti Karyawan

5.1. Skenario Alur Kerja

Kita aplikasikan logika yang sama untuk membuat workflow pengajuan cuti dengan skenario berikut:

  1. Karyawan mengisi dan mengajukan Form Pengajuan Cuti.
  2. Dokumen di-review oleh Staf HRD.
  3. Disetujui oleh Manager Karyawan.
  4. Disetujui lagi oleh Manager HRD.
  5. Karyawan mendapatkan notifikasi persetujuan atau penolakan.

5.2. Implementasi Teknis (Menggunakan Tabel)

Berikut adalah detail `States` dan `Transitions` yang perlu Anda masukkan di ERP Siumang. Kolom yang kosong ditandai dengan `-`.

Tabel States:

State Doc Status Only Allow Edit For
Draft 0 Karyawan
HRD Review 1 -
Approved by Manager 1 -
Approved by HRD 1 -
Approved 1 -
Rejected 2 -

Tabel Transitions:

State Action Next State Allowed Condition
Draft Submit HRD Review Karyawan -
HRD Review Approve Approved by Manager Staf HRD -
HRD Review Reject Rejected Staf HRD -
Approved by Manager Approve Approved by HRD Manager Karyawan -
Approved by Manager Reject Rejected Manager Karyawan -
Approved by HRD Approve Approved Manager HRD -
Approved by HRD Reject Rejected Manager HRD -

6. Studi Kasus Workflow Non-Approval

Tidak semua workflow melibatkan persetujuan. Ada juga workflow yang dirancang untuk mengelola proses sederhana, seperti notifikasi atau pergerakan tugas.

6.1. Studi Kasus 1: Diseminasi Informasi

Skenario: Anda ingin memastikan memo kebijakan baru didistribusikan ke semua karyawan di divisi tertentu dan mereka mengonfirmasi telah membacanya.

Tabel States:

State Doc Status Only Allow Edit For
Draft 0 Admin
Published 1 -
Acknowledged 1 -

Tabel Transitions:

State Action Next State Allowed Condition
Draft Publish Published Admin -
Published Acknowledge Acknowledged Employee -

6.2. Studi Kasus 2: Validasi Data

Skenario: Setiap data pelanggan baru harus diverifikasi kelengkapannya oleh tim QA sebelum bisa digunakan.

Tabel States:

State Doc Status Only Allow Edit For
Draft 0 Sales
Pending Validation 1 -
Validated 1 -
Rejected 2 -

Tabel Transitions:

State Action Next State Allowed Condition
Draft Submit Pending Validation Sales -
Pending Validation Validate Validated QA Team -
Pending Validation Reject Rejected QA Team -

6.3. Studi Kasus 3: Manajemen Tugas Proyek

Skenario: Mengatur tugas-tugas sederhana dalam sebuah proyek.

Tabel States:

State Doc Status Only Allow Edit For
To-Do 0 Project Member
In Progress 1 Project Member
Completed 1 -

Tabel Transitions:

State Action Next State Allowed Condition
To-Do Start In Progress Project Member -
In Progress Complete Completed Project Member -

7. Kesimpulan

Fitur Workflow di ERP Siumang adalah alat yang sangat kuat dan fleksibel untuk mengotomatisasi berbagai proses bisnis. Dengan mendefinisikan States, Transitions, dan Roles secara cermat, Anda dapat memastikan setiap alur kerja berjalan dengan efisien, konsisten, dan transparan.

Mulai dari proses persetujuan yang kompleks hingga alur kerja non-approval sederhana, Workflow membantu mengurangi kesalahan manual, menghemat waktu, dan meningkatkan akuntabilitas di seluruh tim.

Sekarang Anda sudah memiliki panduan lengkap untuk mulai membangun workflow pertama Anda. Jangan ragu untuk berkreasi dan menyesuaikannya dengan kebutuhan unik bisnis Anda. Selamat mencoba!