06
Purchase
Management
Mengelola Pengadaan dari Permintaan hingga Pembayaran
Sistem Informasi Enterprise — ERP Odoo 19.0
dengan Real UMKM Partner Program
Mengelola Pengadaan dari Permintaan hingga Pembayaran
Sistem Informasi Enterprise — ERP Odoo 19.0
dengan Real UMKM Partner Program
| # | Topik | Waktu |
|---|---|---|
| 1 | Pre-Test & Diskusi Awal | 10 min |
| 2 | Fondasi: LO & Peta Konsep P2P | 10 min |
| 3 | 6.1 — Procure-to-Pay Process Overview | 15 min |
| 4 | 6.2 — Request for Quotation (RFQ) | 15 min |
| 5 | 6.3 — Purchase Order Management | 15 min |
| 6 | 6.4 — Vendor Management | 10 min |
| 7 | 6.5 — Purchase Approval Workflow | 10 min |
| 8 | 6.6 — Purchase Reporting & Analytics | 10 min |
| 9 | Studi Kasus BBS + Rangkuman + Preview Lab | 15 min |
Jawab berdasarkan pemahaman saat ini — tanpa mencari referensi. Setelah selesai bab ini, kita akan kembali membandingkan.
Aturan: Diskusikan dengan teman sebangku selama 1 menit per pertanyaan. Tidak ada jawaban yang salah — ini tentang mengaktifkan prior knowledge.
Q1: Apa perbedaan antara Request for Quotation (RFQ) dan Purchase Order (PO)?
Q2: Apa itu three-way matching dan dokumen apa saja yang dicocokkan? Mengapa ini penting untuk mencegah kesalahan pembayaran?
Q3: Mengapa UMKM perlu approval workflow untuk pembelian? Kapan tidak perlu?
💬 Diskusikan 1 menit per pertanyaan — catat jawaban Anda
Q4: Apa yang terjadi di Odoo jika barang yang diterima hanya setengah dari yang dipesan? Bagaimana sistem mengelola sisa pesanan?
Q5: Apa perbedaan antara Blanket Order dan Purchase Order biasa? Kapan sebaiknya UMKM menggunakan Blanket Order?
💬 Diskusikan 1 menit per pertanyaan — simpan catatan Anda untuk dibandingkan nanti
🧠 LO 6.1 — Procure-to-Pay: Menjelaskan dan melacak alur lengkap P2P (RFQ → PO → Receipt → Vendor Bill → Payment) dalam konteks bisnis UMKM
🔧 LO 6.2 — RFQ & PO: Membuat RFQ, membandingkan vendor, dan mengkonfirmasi Purchase Order dengan data yang akurat
🔍 LO 6.3 — Vendor Management: Mengelola vendor pricelists, purchase agreements (blanket orders), dan evaluasi kinerja vendor
🔧 LO 6.4 — Three-Way Matching: Memverifikasi konsistensi PO vs Receipt vs Vendor Bill dan menjelaskan implikasi ketidaksesuaian bagi pengendalian internal
💡 LO 6.5 — Approval Workflow: Merancang dan mengkonfigurasi purchase approval workflow berdasarkan struktur organisasi dan kebijakan UMKM
🔍 LO 6.6 — Reporting & Reorder: Menganalisis data pembelian menggunakan purchase reports dan mengkonfigurasi reorder rules untuk pengadaan otomatis
🔗 Dua Sisi Mata Uang: Bab 5 (Sales) mengelola arus kas masuk, Bab 6 (Purchase) mengelola arus kas keluar. Keduanya bermuara di modul Accounting (Bab 8) — Customer Invoice & Vendor Bill bertemu di jurnal yang sama.
Siklus Pengadaan: Dari Kebutuhan Barang hingga Pembayaran Lunas
| # | Tahap | Dokumen / Status | Modul |
|---|---|---|---|
| 1 | Identifikasi kebutuhan | Reorder Rule / Manual | Purchase |
| 2 | Permintaan harga ke vendor | RFQ (Sent) | Purchase |
| 3 | Vendor konfirmasi harga | Purchase Order | Purchase |
| 4 | Barang dikirim vendor | Receipt (Waiting) | Inventory |
| 5 | Barang diterima & dicek | Receipt (Done) | Inventory |
| 6 | Vendor kirim tagihan | Vendor Bill (Draft) | Accounting |
| 7 | Verifikasi & posting | Vendor Bill (Posted) | Accounting |
| 8 | Pembayaran ke vendor | Payment (Paid) | Accounting |
📝 P2P bukan tugas 1 orang — melibatkan: Operasional (identifikasi + terima barang), Manajemen (approve PO), dan Keuangan (verifikasi bill + bayar).
| Aspek | O2C (Bab 5) | P2P (Bab 6) |
|---|---|---|
| Arah | Keluar (jual) | Masuk (beli) |
| Dokumen awal | Quotation / SO | RFQ / PO |
| Pergerakan | Delivery Order | Receipt |
| Keuangan | Customer Invoice | Vendor Bill |
| Dampak kas | Kas masuk (+) | Kas keluar (−) |
3 dokumen dicocokkan:
① PO (apa & harga yang disepakati)
② Receipt (apa yang diterima)
③ Vendor Bill (apa yang ditagih)
⚠️ Selisih → Odoo auto-flag → Jangan bayar sebelum klarifikasi!
Skenario: Staf keuangan UMKM menerima invoice Rp 4.250.000 dari vendor kain. Dokumen yang ada:
Pertanyaan: Apakah Odoo akan menampilkan peringatan? Apa yang harus dilakukan staf keuangan?
💬 Diskusikan 1 menit — jawaban di slide berikutnya
Ya — Odoo menampilkan peringatan karena harga di Bill (Rp 14.167/m) ≠ harga di PO (Rp 13.800/m). Selisih: Rp 110.000.
Langkah yang benar:
Memulai Proses Pengadaan dengan Tepat
| Field | Keterangan |
|---|---|
| Vendor | Auto-fill payment terms & lead time |
| Order Deadline | Batas konfirmasi harga dari vendor |
| Receipt Date | Estimasi barang tiba (dari lead time) |
| Order Lines | Produk, qty, harga, pajak |
Purchase → Orders → Purchase Orders → New
Kirim ke vendor → Send by Email → PDF auto-generate → status "RFQ Sent"
⚠️ Kosongkan harga jika ingin vendor yang menentukan — harga terisi bisa diartikan sebagai persetujuan.
🔄 RFQ Otomatis (Reorder Rules)
Stok < minimum → Odoo scheduler → RFQ Draft otomatis dari preferred vendor
RFQ tetap Draft → review manusia tetap perlu sebelum confirm menjadi PO
Contoh BBS: Kain Mori min 150m, max 500m → RFQ 350m auto-generate
📊 Multi-Vendor RFQ
Kirim RFQ produk yang sama ke 2–3 vendor → bandingkan harga → pilih vendor terbaik → cancel sisanya
💡 Rekomendasikan UMKM: bandingkan ≥ 2 vendor untuk pembelian > Rp 5 juta
💡 Tip: Lead time vendor harus akurat — lead time yang terlalu optimis membuat jadwal tidak realistis. Review setiap kuartal berdasarkan data Receipt historis.
Pasangkan pernyataan dengan status yang tepat:
Pilihan: RFQ · RFQ Sent · Purchase Order · Done
💬 Pasangkan dalam 1 menit — jawaban di slide berikutnya
| Pernyataan | Status |
|---|---|
| A. Belum mengikat — vendor bisa menolak | RFQ / RFQ Sent |
| B. Komitmen hukum — harga & qty terkunci | Purchase Order |
| C. Baru dibuat, belum dikirim ke vendor | RFQ (Draft) |
| D. Semua Receipt & Bill sudah selesai | Done |
⚠️ Implikasi kritis: Transisi dari RFQ ke PO terjadi saat tombol Confirm Order diklik — dari titik itu, membatalkan bisa dikenai biaya atau merusak relasi vendor. Konfirmasi harga tertulis sebelum menekan Confirm!
Dari Konfirmasi hingga Penerimaan Barang
Saat PO dikonfirmasi, 4 aksi otomatis:
① Nomor PO permanen (P00001, …) ② Receipt terbuat di Inventory ③ Forecasted stock terupdate ④ Notifikasi vendor
| Kolom | Keterangan |
|---|---|
| Ordered Qty | Kuantitas yang dipesan |
| Received Qty | Kuantitas yang sudah diterima |
| Billed Qty | Kuantitas yang sudah ditagihkan |
⚠️ Warning: Input kuantitas yang BENAR-BENAR diterima — bukan yang "harusnya datang". Stok yang di-inflate sulit dikoreksi (perlu Return Transfer).
"Create Backorder"
✅ Receipt baru otomatis untuk sisa qty
✅ Vendor Bill hanya untuk qty diterima
⟶ Gunakan hampir selalu!
"No Backorder"
⚠️ Sisa qty dibatalkan permanen
⚠️ Tidak ada tracking lanjutan
⟶ Hanya jika vendor tidak akan kirim sisa
💡 Tip: Lampirkan foto/scan surat jalan ke Receipt — bukti tak ternilai saat terjadi dispute kuantitas. Di BBS, kebiasaan ini menghemat 3 hari penyelesaian masalah.
Mana Billing Policy yang tepat? Rekomendasikan Received Quantities atau Ordered Quantities:
💬 Diskusikan 1 menit — jawaban di slide berikutnya
| # | UMKM | Rekomendasi | Alasan |
|---|---|---|---|
| 1 | Manufaktur batik | Received | Partial delivery → tagih hanya yang sudah benar-benar diterima |
| 2 | Konsultan IT | Ordered | Tidak ada barang fisik — tagihan berdasarkan kontrak |
| 3 | Toko retail | Received | Bayar setelah delivery (Net 30) = selaras dengan Received |
| 4 | Distributor | Received | Multi-batch → verifikasi per batch, bill per batch |
📝 Aturan praktis: Ordered Quantities cocok untuk Service (jasa, langganan). Untuk semua produk fisik yang bisa partial delivery → pilih Received Quantities (lebih aman).
Pricelist, Agreements, dan Evaluasi Kinerja
| Vendor | Price/m | Min. Qty | Lead Time |
|---|---|---|---|
| CV Sarana Batik | Rp 14.500 | 50m | 2 hari |
| UD Tekstil Makmur | Rp 13.800 | 200m | 5 hari |
| Toko Kain Barokah | Rp 15.200 | 10m | 1 hari |
Odoo otomatis pilih vendor prioritas yang memenuhi min.qty
Definisi: Perjanjian jangka menengah — harga terkunci, volume berkomitmen, pengambilan bertahap.
Contoh BBS: 1.200m × Rp 13.800/m, 3 bulan, CV Sarana Batik
Hemat: Rp 700/m × 1.200m = Rp 840.000
💡 Blanket Order = instrumen negosiasi — tukar komitmen volume dengan kepastian harga
| Vendor | Harga (30%) | Waktu (30%) | Kualitas (25%) | Respons (15%) | Skor | Kategori |
|---|---|---|---|---|---|---|
| CV Kimia Warna | 88 | 92 | 95 | 96 | 92,3 | Preferred |
| Toko Barokah | 95 | 85 | 88 | 96 | 91,2 | Preferred |
| CV Sarana Batik | 90 | 95 | 85 | 92 | 90,9 | Preferred |
| UD Tekstil | 92 | 78 | 80 | 80 | 83,5 | Under Review |
| Vendor X | 85 | 50 | 60 | 65 | 66,0 | Exit |
4 Kategori: Preferred (≥90) · Approved (75–89) · Under Review (60–74) · Exit (<60)
💡 Review kuartalan — data dari Purchase Analysis. Mengubah "gut feeling" menjadi keputusan berbasis data.
Kontrol Otorisasi untuk Setiap Pembelian Signifikan
Purchase → Settings → Purchase Order Approval
✅ Aktifkan → set Minimum Amount
Approver = user dengan role Purchase Manager
Threshold BBS: Rp 3.000.000
Di bawah → staf langsung proses
Di atas → Hj. Fatimah harus approve
⚠️ Threshold terlalu rendah → approval fatigue (approver setujui tanpa review). Terlalu tinggi → tidak ada kontrol bermakna. Gunakan persentil 60–70 distribusi PO historis.
Benar atau Salah?
💬 Jawab B/S dalam 1 menit — jawaban di slide berikutnya
| # | B/S | Penjelasan |
|---|---|---|
| 1 | SALAH | Hanya PO di atas threshold yang butuh approval |
| 2 | SALAH | PO kembali ke status Draft — bisa direvisi dan diajukan ulang |
| 3 | SALAH | "Waiting Approval" = PO belum confirmed. Tidak ada Receipt/Bill sampai approved. |
| 4 | BENAR | Settings → Purchase → Minimum Order Amount |
💡 Miskonsepsi paling umum: mahasiswa mengira "Waiting Approval" = proses sudah berjalan. Kenyataannya: PO frozen total sampai approver bertindak.
Mengubah Data Pengadaan Menjadi Wawasan Bisnis
📊 Purchase Dashboard
5 KPI: Total Spent, Awaiting Approval, Receipts, Bills to Review, Late Orders
Ritual pagi 5 menit/hari
📈 Purchase Analysis
Pivot / Graph / List — Group By: Vendor, Product, Month — Measures: Qty, Total, Avg Cost
Analisis multidimensi
📅 Aged Payable
5 bucket: Not Due, 0–30, 31–60, 61–90, >90 hari — per vendor
💡 Review setiap Senin 5 menit
4 Quick Analysis: ① Vendor terbesar (Graph + Group by Vendor) ② Bahan terlaris (Pivot + Avg Cost) ③ Tren 6 bulan (Line Chart + Month) ④ Gap Ordered vs Received vs Billed (Pivot + 3 measures)
🏢 Profil
UMKM manufaktur batik, Yogyakarta
12 karyawan, 400–600 lembar/bulan
Pemilik: Hj. Fatimah Rahayu
😰 Masalah Sebelum Odoo
"20 kontak WhatsApp = manajemen vendor"
Harga berubah tanpa dokumentasi
Bayar tagihan tanpa verifikasi
Stock-out 2–3×/bulan karena reaktif
"Saya bayar karena saya percaya. Tapi kepercayaan bukan pengganti dokumentasi." — Hj. Fatimah
Vendor Terkelola
23 kontak
Tidak terstruktur
Vendor Terkelola
8 aktif
Terdokumentasi + scorecard
Three-Way Matching
Tidak ada
Bayar tanpa verifikasi
Three-Way Matching
Auto-detect
Selisih Rp 100.000 terdeteksi
Blanket Order
Verbal
Janji WA — tidak formal
Blanket Order
Rp 840K
Hemat per siklus kontrak
Utang Dagang
~Rp 15–20 jt
Estimasi kasar
Utang Dagang
Rp 18,3 jt
Aged Payable per vendor
1. Vendor yang banyak ≠ vendor yang dikelola
23 kontak → 8 vendor aktif terdokumentasi. Lebih sedikit vendor yang dikelola baik > banyak kontak tidak terstruktur.
2. Sistem formal tidak mengurangi kepercayaan — mendefinisikannya
Blanket Order formal justru membuat vendor merasa lebih dihargai. Komitmen terdokumentasi > janji verbal.
3. Three-Way Matching = investasi, bukan overhead
Rp 100.000 selisih × 20% dari 30 transaksi/bulan × 12 bulan = potensi kebocoran jutaan/tahun. Sistem bukan biaya — sistem adalah perlindungan.
6.1 P2P Overview: 8 tahap, 3 modul. Three-way matching = kontrol internal kritis.
6.2 RFQ: Manual, otomatis (reorder rules), atau multi-vendor. Lead time vendor harus akurat.
6.3 PO Management: Confirm = 4 aksi otomatis. Partial delivery → Create Backorder. Jangan inflate qty Receipt.
6.4 Vendor: Pricelist di tab Purchase produk. Blanket Order = hemat 5–15%. Scorecard → keputusan berbasis data.
6.5 Approval: Threshold dari distribusi PO historis. Terlalu rendah = approval fatigue. Terlalu tinggi = tanpa kontrol.
6.6 Reporting: Dashboard harian, Purchase Analysis multidimensi, Aged Payable tiap Senin.
🛒
RFQ → PO
Buat RFQ manual, kirim ke vendor, konfirmasi menjadi PO
📦
Receipt & Backorder
Validasi penerimaan barang termasuk pengiriman parsial
✅
Approval Workflow
Konfigurasi approval threshold dan test alur persetujuan PO
📊
Purchase Reports
Purchase Analysis + Aged Payable untuk data hari ini
⏱ 120 menit · Tim 3–4 orang · Prasyarat: data vendor & produk dari Lab 4
📘 van Weele, A. J. (2018). Purchasing and Supply Chain Management (7th ed.). Cengage Learning EMEA.
📘 Monczka, R. M., et al. (2015). Purchasing and Supply Chain Management (6th ed.). Cengage Learning.
📘 CIPS. (2023). Procurement Principles and Management (11th ed.). Chartered Institute of Procurement & Supply.
🌐 Odoo S.A. (2024). Purchase: Overview, RFQ, Purchase Orders, Agreements, Approval, Reporting. Odoo Documentation 19.0.
🇮🇩 Kementerian Koperasi dan UKM. (2023). Statistik UMKM Indonesia 2023.
Bab 5 mengelola kas masuk, Bab 6 mengelola kas keluar — keduanya harus seimbang agar kesehatan finansial UMKM terjaga.
Sistem Informasi Enterprise — ERP Odoo 19.0
dengan Real UMKM Partner Program