• Fitur
    Pembelian Penjualan Keuangan Persediaan Manufaktur Laporan HRIS Multi Cabang WA Assistant Semua fitur →
  • Harga
  • Partner
  • Blog
  • Bantuan
Masuk Daftar Masuk Sebagai Tamu
  • Navbar :
  • Fitur
    • Pembelian
    • Penjualan
    • Keuangan
    • Persediaan
    • Manufaktur
    • Laporan
    • HRIS
    • Multi Cabang
    • WA Assistant
    • Semua fitur →
  • Harga
  • Partner
  • Blog
  • Bantuan
← Kembali ke Blog
Efisiensi operasional toko/distributor

Supplier Scorecard Praktis: Hitung Lead Time, On-Time, dan OTIF dari PO–Penerimaan di Marlin

10 Oktober 2026
Supplier Scorecard Praktis: Hitung Lead Time, On-Time, dan OTIF dari PO–Penerimaan di Marlin

"Barangnya datang Senin ya, Pak." Nyatanya, masuk Kamis sore

Anda sudah pasang promo minggu ini. Stok best-seller harusnya mendarat hari Senin sesuai janji supplier. Nyatanya, baru nyampe Kamis sore, dan Senin–Rabu kasir cuma ngelus dada menghadapi pelanggan yang kecewa. Di meeting, semua saling menyalahkan: gudang dibilang lambat, purchasing katanya kurang tegas, supplier minta dimaklumi. Padahal masalahnya sederhana: kita nggak punya angka yang rapi untuk menilai performa pemasok. Tanpa angka, susah negosiasi, susah setel safety stock, dan siklus ‘telat lagi’ terus berulang.

Yuk bikin supplier scorecard yang praktis: kita tarik data dari PO dan penerimaan (GRN) di Marlin, lalu hitung tiga metrik kunci—Lead Time, On-Time, dan OTIF. Hasilnya bisa langsung dipakai buat setel safety stock/reorder point dan jadi amunisi negosiasi SLA.

1) Siapkan data dasar dari PO–Penerimaan (langsung dari Marlin)

Targetnya: satu dataset rapih per baris PO (per SKU) yang berisi tanggal PO, ETA, tanggal penerimaan, dan kuantitas. Langkah konkret:

  • Wajib isi ETA di PO. Di Marlin, saat buat PO: pastikan field Tanggal Janji Kirim/ETA terisi. Idealnya per baris. Kalau ETA belum konsisten, mulai minggu ini diwajibkan (cek Permission agar kolom ini mandatory).
  • Pastikan penerimaan barang link ke PO. Di Penerimaan Barang (GRN), selalu pilih PO yang sesuai agar line matching rapi. Hindari manual tanpa referensi PO kecuali benar-benar urgent.
  • Export data 3 bulan terakhir. Menu Pembelian > Purchase Order (Export CSV) dengan kolom: Supplier, Nomor PO, Tanggal PO (rilis/approved), ETA, Kode Barang, Qty Dipesan. Lalu dari Penerimaan Barang (Export): Nomor PO, Kode Barang, Tanggal Penerimaan, Qty Diterima, Qty Ditolak/Retur, Gudang/Cabang.
  • Gabungkan di spreadsheet. Gunakan join berdasarkan Nomor PO + Kode Barang. Hasil akhirnya, setiap baris adalah 1 PO Line yang punya daftar penerimaan terkait (bisa beberapa baris jika split shipment).
  • Tetapkan toleransi on-time. Praktisnya: ToleranceDays = 1 (hari). Artinya, diterima hingga H+1 dari ETA masih dianggap on-time. Sesuaikan sesuai kategori barang Anda.

2) Hitung 3 metrik inti: Lead Time, On-Time, OTIF (pakai rumus yang jelas)

Lead Time

Definisi: jumlah hari dari PO diterbitkan ke supplier sampai barang pertama kali mendarat (per baris barang).

  • LeadTimeFirst = TanggalPenerimaanPertama − TanggalPO
  • LeadTimeFull (opsional) = Tanggal saat kumulatif qty diterima mencapai qty dipesan (net of cancel) − TanggalPO
  • Tips pemakaian: Gunakan LeadTimeFirst untuk kecepatan respons supplier, LeadTimeFull untuk akurasi komitmen total.

On-Time %

Definisi: persentase baris PO yang pertama kali diterima tidak lewat dari ETA + toleransi.

  • OnTimeFlag = 1 jika TanggalPenerimaanPertama ≤ (ETA + ToleranceDays), jika tidak 0
  • %OnTime per supplier = (Jumlah OnTimeFlag = 1) / (Jumlah baris PO yang punya penerimaan) × 100%
  • Catatan: Jika tidak ada penerimaan sama sekali sampai 14 hari setelah ETA, tandai sebagai 0 (telat) kecuali PO resmi dibatalkan di Marlin.

OTIF (On Time In Full)

Definisi: baris PO yang diterima tepat waktu (≤ ETA + toleransi) dan penuh (kuantitas lengkap diterima sampai batas ETA + toleransi).

  • QtyDiterimaHinggaETA = total qty diterima dengan TanggalPenerimaan ≤ (ETA + ToleranceDays)
  • TargetQty = QtyDipesan − QtyDibatalkan (jika ada cancel resmi)
  • OTIFFlag = 1 jika QtyDiterimaHinggaETA ≥ TargetQty × (1 − ShortageTolerance)
  • ShortageTolerance: set 0.02 (2%) untuk mengakomodasi selisih minor.
  • %OTIF per supplier = (Jumlah OTIFFlag = 1) / (Jumlah baris PO relevan) × 100%

Contoh cepat: PO 100 pcs, ETA 10 Jan. Diterima 60 pcs tgl 9, 40 pcs tgl 11. Dengan toleransi 1 hari, ETA+Tol = 11 Jan. QtyDiterimaHinggaETA = 100. OnTimeFlag = 1 (pertama kali masuk 9, masih sebelum ETA+Tol). OTIFFlag = 1 (penuh sebelum batas). Kalau 10 pcs baru datang 12 Jan, OTIFFlag turun ke 0 karena tidak penuh dalam batas waktu.

3) Rekap per supplier: pakai pivot + bobot yang adil

Begitu tiap baris PO sudah punya LeadTime dan flag On-Time/OTIF, rangkum per pemasok:

  • Lead time rata-rata berbobot = SUM(LeadTimeFirst × QtyDipesan) / SUM(QtyDipesan). Kenapa berbobot? PO kecil 2 pcs jangan setara bobotnya dengan PO 2.000 pcs.
  • %On-Time = SUM(OnTimeFlag) / COUNT(Baris) × 100%
  • %OTIF = SUM(OTIFFlag) / COUNT(Baris) × 100%
  • Outlier check: lihat p95 LeadTimeFirst (percentile 95) untuk gambaran skenario buruk yang masih sering terjadi.
  • Aturan kasus khusus:
    • PO dibatalkan oleh Anda karena demand drop: keluarkan dari perhitungan (tidak adil ke supplier).
    • Retur karena cacat: kurangi dari QtyDiterima; jika retur terjadi sebelum ETA, OTIF hanya lolos jika supplier replacement datang sebelum batas waktu.

Di spreadsheet, buat Pivot Table dengan Rows = Supplier, Values = Weighted Avg LeadTimeFirst, %OnTime, %OTIF, dan Count of Lines. Filter tanggal 3–6 bulan terakhir agar relevan.

4) Pakai angkanya untuk setel Safety Stock dan Reorder Point

Setelah tahu lead time dan ketepatan supplier, kita konversi ke stok pengaman yang realistis.

Metode cepat (praktis untuk mulai)

  • Data yang dibutuhkan per SKU: Rata-rata penjualan harian (AvgDailySales) 60–90 hari terakhir, LeadTimeAvg (hari) dari supplier utamanya, LeadTimeMax (hari) p95 untuk jaga-jaga.
  • Safety Stock (SS) sederhana = (LeadTimeMax − LeadTimeAvg) × AvgDailySales
  • Reorder Point (ROP) = LeadTimeAvg × AvgDailySales + SS
  • Contoh: AvgDailySales = 30 pcs/hari, LeadTimeAvg = 5 hari, LeadTimeMax = 8 hari. SS = (8−5)×30 = 90 pcs. ROP = 5×30 + 90 = 240 pcs. Jadi saat stok turun ke 240, buat PO.

Metode lebih akurat (kalau punya data variasi)

  • Ambil deviasi standar penjualan harian (SigmaDemand) dan deviasi standar lead time (SigmaLT).
  • Pilih tingkat layanan (ServiceLevel) 95% → Z ≈ 1.65.
  • Safety Stock ≈ Z × sqrt( (AvgDailySales^2 × SigmaLT^2) + (LeadTimeAvg^2 × SigmaDemand^2) )
  • ROP = LeadTimeAvg × AvgDailySales + SS

Implementasi di Marlin: di master item cabang, isi Min/Max atau Reorder Point berdasarkan hasil di atas. Banyak SKU? Import via CSV: kolom Kode Barang, Cabang/Gudang, ROP, dan Max. Setelah itu, gunakan saran pembelian otomatis agar PO terpicu saat stok menyentuh ROP.

5) Jadikan bahan negosiasi SLA dan perbaikan proses

  • Set target per kategori supplier. Misal Fast-Moving: LeadTimeAvg ≤ 5 hari, %On-Time ≥ 95%, %OTIF ≥ 98%.
  • Negosiasi berbasis data 3 bulan terakhir. Contoh kalimat: 'Rata-rata lead time Anda 7,2 hari dengan OTIF 91%. Kami butuh 5 hari dan OTIF 97% untuk menekan stockout. Jika tercapai konsisten 2 bulan, kami tingkatkan porsi PO +15%.'
  • Masukkan toleransi dan konsekuensi. ToleranceDays = 1, ShortageTolerance = 2%. Jika di bawah SLA, minta opsi: potongan ongkir, diskon 0,5–1%, atau prioritas alokasi saat barang langka.
  • Perbaiki internal. Kalau LeadTimeFirst bagus tapi LeadTimeFull jelek, periksa apakah PO Anda sering minta campur varian yang stoknya jarang. Pecah PO: barang cepat vs barang lambat, supaya yang cepat tidak ikut tersandera.

Sedikit tentang praktiknya di Marlin

Semua langkah di atas bisa dilakukan tanpa tim IT. Marlin menyimpan link PO–penerimaan per baris, jadi rumus LeadTimeFirst dan OTIF tinggal bermain di level line. Anda bisa:

  • Mewajibkan ETA di PO dan memberi default toleransi per supplier via catatan/SLA di master supplier.
  • Menyimpan Saved Report gabungan PO–GRN dan menjadwalkan export bulanan (CSV) untuk diolah cepat di spreadsheet atau BI favorit Anda.
  • Mengaktifkan saran pembelian berbasis ROP yang baru Anda hitung, lalu memantau dampaknya ke rasio stockout dan perputaran persediaan.

Kalau selama ini keputusan pembelian terasa 'pakai feeling', scorecard ini akan bikin obrolan dengan supplier lebih dewasa dan stok di rak lebih tenang. Sisihkan satu jam pertama untuk set data dan rumus, minggu depannya Anda sudah bicara SLA pakai angka yang nggak bisa dibantah.

Artikel Lainnya
Kelola DP/Deposit Pelanggan: Tanda Terima di POS, Auto‑Jurnal ke Uang Muka, Potong Saat Pelunasan & Refund Rapi di Marlin
15 Oktober 2026
3-Way Match Pembelian UMKM: Cocokkan PO–Penerimaan–Invoice, Catat GRNI, dan Cegah Double Bayar
14 Oktober 2026
Basmi Dead Stock: Analisis Slow‑Moving 90–180 Hari, Auto‑Markdown & Bundling Clearance, plus Rekomendasi Likuidasi di Marlin
13 Oktober 2026
Konsinyasi Tanpa Pusing: Stok Titipan Supplier & Titip Jual ke Mitra, Penjualan Real-Time, dan Settlement Komisi Otomatis di Marlin
12 Oktober 2026
Proyeksi Arus Kas 14 Hari untuk UMKM Retail: Tarik Data Piutang/Hutang & Rencana Pembelian dari Marlin, Tanpa Excel Ribet
11 Oktober 2026
+6281335344967 (hanya WA)
admin@marlinpos.id
Gg. Sadewa No.25, Kalirandu, Bangunjiwo, Kec. Kasihan, Kabupaten Bantul, Daerah Istimewa Yogyakarta 55184
Menu Utama :
Tentang
Perbandingan Harga
Partner(Referal)
Layanan Kami :
Pembelian
Penjualan
Keuangan
Persediaan
Manufaktur
Laporan
HRIS

© 2026 PT. Media Solusi Fiskal
Syarat Dan Ketentuan Kebijakan Privasi
Butuh bantuan?