{
  "schema": "warehouse-audit-preparation/1.0",
  "prepared_on": "2026-10-25",
  "purpose": "Perangkat persiapan audit; bukan laporan audit aktual",
  "verification_decision": "Pengumpulan SOP aktif, salinan ISO internal dan bukti Stockwiz dilewati atas instruksi pengguna.",
  "criteria": [
    {
      "id": "C01",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "7.1.2.1",
      "topic": "Verifikasi bahan",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana identitas bahan dan pemasok ditelusuri?",
      "evidence_required": "Spesifikasi, bukti receiving, identitas pemasok, lot.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C02",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "7.1.2.1.2",
      "topic": "Karantina sebelum penggunaan",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana status sebelum issue dikendalikan?",
      "evidence_required": "Rekaman keputusan mutu, label/status dan transaksi issue.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C03",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "9.1.1",
      "topic": "Dokumen berlaku",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana versi lama dicegah dipakai?",
      "evidence_required": "Master list, versi efektif dan distribusi instruksi.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C04",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "9.1.2",
      "topic": "Koreksi rekaman",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana informasi awal dan perubahan ditelusuri?",
      "evidence_required": "Rekaman asal, perubahan, pelaksana dan tanggal.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C05",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "9.1.4",
      "topic": "Pengesahan dokumen",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Siapa mengesahkan instruksi yang digunakan?",
      "evidence_required": "Dokumen bertanggal dan bukti mandat pengesah.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C06",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "X",
      "topic": "Audit internal",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana program, tim dan tindak lanjut dibuktikan?",
      "evidence_required": "Program, penugasan, laporan serta register tindakan.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C07",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "11.1.1–11.1.2",
      "topic": "Area dan kondisi simpan",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana kesesuaian area serta kondisi ditinjau?",
      "evidence_required": "Pemetaan lokasi/status, spesifikasi dan rekaman kondisi.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C08",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "11.2.1.1–11.2.1.2",
      "topic": "Penerimaan",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana dokumen, fisik dan hasil receiving dicocokkan?",
      "evidence_required": "Order, surat jalan, receipt dan exception.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "C09",
      "reference": "Lampiran PerBPOM 31/2020",
      "locator": "11.2.2.1–11.2.2.3",
      "topic": "Rekaman, rotasi dan identitas",
      "source": "S26",
      "source_status": "bagian teks publik diperiksa",
      "audit_question_proposed": "Bagaimana pengeluaran dan barang tidak layak dikendalikan?",
      "evidence_required": "Mutasi, batch/expiry, aturan FIFO/FEFO dan disposition.",
      "sop_id": null,
      "sop_version": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "I01",
      "reference": "ISO 9001:2026",
      "locator": null,
      "topic": "Pengendalian proses, dokumentasi dan evaluasi",
      "source_status": "katalog/cakupan publik; klausul teks penuh dilewati",
      "sop_id": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "I02",
      "reference": "ISO 22716:2007",
      "locator": null,
      "topic": "GMP kosmetik pada scope relevan",
      "source_status": "katalog/cakupan publik; klausul teks penuh dilewati",
      "sop_id": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    },
    {
      "id": "I03",
      "reference": "ISO 19011:2026",
      "locator": null,
      "topic": "Metode dan program audit",
      "source_status": "katalog/cakupan publik; klausul teks penuh dilewati",
      "sop_id": null,
      "qa_pjt_validation": null,
      "actual_result": "tidak diperiksa; dilewati"
    }
  ],
  "scope": [
    {
      "id": "SC01",
      "area": "Gudang pabrik: RM/PM/bulk",
      "proposed_scope": "Receiving, status, putaway, simpan, issue/return.",
      "boundary": "Manufaktur dan keputusan mutu berada pada fungsi terkait.",
      "proposed_owner": "Warehouse; PPIC; Production; Quality",
      "actual_location_id": null,
      "period": null,
      "approved_scope": null,
      "status": "rancangan; pengesahan dilewati"
    },
    {
      "id": "SC02",
      "area": "Produk jadi/stockroom/DC",
      "proposed_scope": "Receipt FG, alokasi, picking, dispatch, transfer dan count.",
      "boundary": "Transport/pengantaran sesudah serah terima ditelusuri sebagai interface.",
      "proposed_owner": "Warehouse/Stock Control; Logistics",
      "actual_location_id": null,
      "period": null,
      "approved_scope": null,
      "status": "rancangan; pengesahan dilewati"
    },
    {
      "id": "SC03",
      "area": "Toko/kanal tujuan",
      "proposed_scope": "Konfirmasi receipt, retur dan data penjualan untuk planning.",
      "boundary": "Audit seluruh operasional toko tidak diasumsikan termasuk.",
      "proposed_owner": "Pemilik Retail/kanal; PPIC",
      "actual_location_id": null,
      "period": null,
      "approved_scope": null,
      "status": "rancangan; pengesahan dilewati"
    },
    {
      "id": "SC04",
      "area": "Gudang pihak ketiga bila digunakan",
      "proposed_scope": "Custody, kondisi, batch, laporan dan bukti handover sesuai kontrak.",
      "boundary": "Keberadaan penyedia serta kontrak belum divalidasi.",
      "proposed_owner": "Pemilik kontrak; Logistics; Quality",
      "actual_location_id": null,
      "period": null,
      "approved_scope": null,
      "status": "rancangan; pengesahan dilewati"
    },
    {
      "id": "SC05",
      "area": "Sistem Stockwiz dan interface",
      "proposed_scope": "Master, transaksi, hak akses, log, sinkronisasi, rekonsiliasi/recovery.",
      "boundary": "Kemampuan produk dan akses lingkungan belum diperiksa.",
      "proposed_owner": "Pemilik sistem/IT dan pemilik proses",
      "actual_location_id": null,
      "period": null,
      "approved_scope": null,
      "status": "rancangan; pengesahan dilewati"
    }
  ],
  "authority": [
    {
      "decision": "Jadwal dan kebutuhan material",
      "document_basis": "Piagam gabungan PPIC & Gudang mencakup planning dan warehouse.",
      "proposed_control": "PPIC mengonfirmasi demand, material dan kapasitas bersama fungsi terkait.",
      "approval_rule": "Sesuai delegasi sah; perubahan material dieskalasikan.",
      "appointed_person": null,
      "mandate_reference": null,
      "status": "pemetaan acuan; bukan surat penugasan"
    },
    {
      "decision": "Hold/release/disposition",
      "document_basis": "Piagam memisahkan keputusan Quality dari penjagaan stok.",
      "proposed_control": "Warehouse memastikan status dan bukti sebelum issue.",
      "approval_rule": "Fungsi Quality berwenang; identitas pejabat belum ditetapkan di paket.",
      "appointed_person": null,
      "mandate_reference": null,
      "status": "pemetaan acuan; bukan surat penugasan"
    },
    {
      "decision": "Pembelian dan pembayaran",
      "document_basis": "Piagam tidak memindahkan purchasing/pembayaran ke PPIC.",
      "proposed_control": "PPIC mengajukan kebutuhan; Procurement dan Finance menjalankan fungsi masing-masing.",
      "approval_rule": "Delegasi komersial/keuangan yang sah.",
      "appointed_person": null,
      "mandate_reference": null,
      "status": "pemetaan acuan; bukan surat penugasan"
    },
    {
      "decision": "Koreksi atau penghapusan material",
      "document_basis": "Piagam meminta pemeriksaan independen dan review Finance/Accounting.",
      "proposed_control": "Pisahkan pengusul, pemeriksa, penyetuju serta pembuku.",
      "approval_rule": "Pejabat berwenang; tidak menetapkan batas rupiah atau nama otomatis.",
      "appointed_person": null,
      "mandate_reference": null,
      "status": "pemetaan acuan; bukan surat penugasan"
    },
    {
      "decision": "Audit dan penutupan CAPA",
      "document_basis": "Program audit perlu penugasan dan kriteria yang sah.",
      "proposed_control": "Pemilik tindakan menyediakan bukti; verifier memeriksa efektivitas.",
      "approval_rule": "Pihak sesuai penugasan audit; pengesahan tidak disimulasikan.",
      "appointed_person": null,
      "mandate_reference": null,
      "status": "pemetaan acuan; bukan surat penugasan"
    }
  ],
  "evidence": [
    {
      "id": "EV01",
      "process": "Receiving",
      "requested_records": "PO, surat jalan, receipt, inspeksi/exception.",
      "reconciliation_rule": "Cocokkan item, UOM, lot, jumlah dan waktu.",
      "proposed_reviewer": "In Out/Admin dan Warehouse",
      "sample_id": null,
      "evidence_reference": null,
      "result": null,
      "status": "tidak diperiksa; pengumpulan dilewati"
    },
    {
      "id": "EV02",
      "process": "Release",
      "requested_records": "Keputusan mutu, hasil pemeriksaan dan status stok.",
      "reconciliation_rule": "Hubungkan lot dengan waktu release dan waktu issue.",
      "proposed_reviewer": "Quality",
      "sample_id": null,
      "evidence_reference": null,
      "result": null,
      "status": "tidak diperiksa; pengumpulan dilewati"
    },
    {
      "id": "EV03",
      "process": "Transfer",
      "requested_records": "Permintaan, dispatch, receipt parsial/final dan in-transit.",
      "reconciliation_rule": "Satu referensi; seluruh kuantitas harus terjelaskan.",
      "proposed_reviewer": "Pengirim, penerima dan pemeriksa stok",
      "sample_id": null,
      "evidence_reference": null,
      "result": null,
      "status": "tidak diperiksa; pengumpulan dilewati"
    },
    {
      "id": "EV04",
      "process": "Adjustment",
      "requested_records": "Count, snapshot, investigasi, approval dan jurnal koreksi.",
      "reconciliation_rule": "Buktikan sebab dan satu dampak saldo; tanpa koreksi ganda.",
      "proposed_reviewer": "Pemeriksa independen, Finance/Accounting",
      "sample_id": null,
      "evidence_reference": null,
      "result": null,
      "status": "tidak diperiksa; pengumpulan dilewati"
    },
    {
      "id": "EV05",
      "process": "CAPA",
      "requested_records": "Masalah, containment, sebab, tindakan dan uji efektivitas.",
      "reconciliation_rule": "Tautkan kasus dengan bukti implementasi serta hasil observasi.",
      "proposed_reviewer": "Pemilik tindakan dan verifier",
      "sample_id": null,
      "evidence_reference": null,
      "result": null,
      "status": "tidak diperiksa; pengumpulan dilewati"
    }
  ],
  "uat": [
    {
      "id": "U01",
      "feature": "Status mutu",
      "proposed_test": "Siapkan lot uji hold; coba issue melalui alur yang diizinkan.",
      "expected": "Issue dibatasi sesuai aturan yang disahkan; event/exception dapat ditelusuri.",
      "evidence_required": "EV02",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U02",
      "feature": "UOM",
      "proposed_test": "Uji 10 karton × 24 pcs pada lingkungan uji.",
      "expected": "Jika konversi tersebut disahkan, saldo dasar 240 pcs; tidak dikonversi dua kali.",
      "evidence_required": "EV01",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U03",
      "feature": "Transfer parsial",
      "proposed_test": "Dispatch 20 pcs; receipt 18 pcs.",
      "expected": "Sisa 2 pcs tetap terjelaskan; tidak otomatis ditambah atau dihapus.",
      "evidence_required": "EV03",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U04",
      "feature": "Retry/duplikasi",
      "proposed_test": "Kirim ulang ID transaksi yang sama setelah timeout.",
      "expected": "Status transaksi diperiksa; saldo tidak berubah dua kali.",
      "evidence_required": "Log integrasi",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U05",
      "feature": "Adjustment",
      "proposed_test": "Uji koreksi dengan bukti dan peran berbeda.",
      "expected": "Pengusul tidak mengesahkan sendiri kasus yang perlu pemeriksaan independen.",
      "evidence_required": "EV04",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U06",
      "feature": "Hak akses",
      "proposed_test": "Gunakan akun uji tanpa delegasi pada fungsi sensitif.",
      "expected": "Server menolak tindakan tanpa hak, bukan hanya menyembunyikan tombol.",
      "evidence_required": "Matriks akses dan log",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U07",
      "feature": "Audit trail",
      "proposed_test": "Ubah data uji melalui jalur resmi dan periksa riwayat.",
      "expected": "Identitas perubahan, waktu dan referensi dapat dipertanggungjawabkan sesuai desain sah.",
      "evidence_required": "Log perubahan",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U08",
      "feature": "Planning",
      "proposed_test": "Uji order yang mengonsumsi forecast, inbound terlambat dan BOM berversi.",
      "expected": "Tidak ada demand ganda; shortage tetap terlihat pada tanggal kebutuhan.",
      "evidence_required": "Rencana dan hasil netting",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U09",
      "feature": "Rekonsiliasi cutoff",
      "proposed_test": "Bandingkan snapshot dan movement dalam interval count.",
      "expected": "Perbedaan waktu terjelaskan sebelum adjustment.",
      "evidence_required": "EV04",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    },
    {
      "id": "U10",
      "feature": "Gangguan/recovery",
      "proposed_test": "Di lingkungan terisolasi, simulasi putus koneksi atau pemulihan salinan data yang disetujui IT.",
      "expected": "Integritas, kelengkapan dan urutan transaksi direkonsiliasi; gap tetap tercatat.",
      "evidence_required": "Log pemulihan dan rekonsiliasi",
      "environment": null,
      "tester": null,
      "actual": null,
      "evidence_reference": null,
      "result": "belum diuji; dilewati",
      "feature_status": "belum dikonfirmasi tersedia"
    }
  ],
  "baseline": [
    {
      "id": "K01",
      "metric": "Inventory record accuracy",
      "numerator_definition": "Baris eligible yang cocok dengan fisik.",
      "denominator_definition": "Baris yang dihitung; toleransi ditetapkan sebelumnya.",
      "source_required": "Count, snapshot dan rekonsiliasi.",
      "proposed_owner": "Inventory Control/Warehouse",
      "period": null,
      "cutoff": null,
      "numerator": null,
      "denominator": null,
      "baseline": null,
      "target": null,
      "status": "belum dapat dihitung; pengumpulan data dilewati"
    },
    {
      "id": "K02",
      "metric": "OTIF order-based",
      "numerator_definition": "Order eligible diterima tepat waktu dan lengkap.",
      "denominator_definition": "Seluruh order eligible pada periode yang sama.",
      "source_required": "Order, komitmen awal dan bukti receipt.",
      "proposed_owner": "Logistics/Commercial",
      "period": null,
      "cutoff": null,
      "numerator": null,
      "denominator": null,
      "baseline": null,
      "target": null,
      "status": "belum dapat dihitung; pengumpulan data dilewati"
    },
    {
      "id": "K03",
      "metric": "Material readiness",
      "numerator_definition": "Order yang seluruh bahan perlu sudah eligible pada cutoff.",
      "denominator_definition": "Order yang dinilai sesuai jadwal baseline.",
      "source_required": "MPS, BOM, issue readiness dan keputusan mutu.",
      "proposed_owner": "PPIC/Quality/Warehouse",
      "period": null,
      "cutoff": null,
      "numerator": null,
      "denominator": null,
      "baseline": null,
      "target": null,
      "status": "belum dapat dihitung; pengumpulan data dilewati"
    },
    {
      "id": "K04",
      "metric": "Schedule adherence",
      "numerator_definition": "Order selesai sesuai jumlah/waktu baseline disepakati.",
      "denominator_definition": "Order baseline eligible.",
      "source_required": "Rencana berversi dan realisasi produksi.",
      "proposed_owner": "PPIC/Production",
      "period": null,
      "cutoff": null,
      "numerator": null,
      "denominator": null,
      "baseline": null,
      "target": null,
      "status": "belum dapat dihitung; pengumpulan data dilewati"
    },
    {
      "id": "K05",
      "metric": "Inventory turnover",
      "numerator_definition": "HPP/COGS periode.",
      "denominator_definition": "Rata-rata nilai inventory pada basis biaya sebanding.",
      "source_required": "Data biaya dan valuasi inventory tervalidasi.",
      "proposed_owner": "Finance/Accounting",
      "period": null,
      "cutoff": null,
      "numerator": null,
      "denominator": null,
      "baseline": null,
      "target": null,
      "status": "belum dapat dihitung; pengumpulan data dilewati"
    }
  ],
  "source_inventory": [
    {
      "reference": "acuan internal",
      "status": "Dokumen internal tidak disertakan dalam versi publik."
    }
  ],
  "document_conflicts": [
    {
      "issue": "Piagam Warehouse & Inventory memisahkan PPIC, sedangkan piagam gabungan mencakup PPIC. Lampiran ROLE-009 menyatakan perlu pengesahan sebelum terbit.",
      "handling": "Kedua model dicatat; paket tidak menetapkan dokumen pengganti atau menganggap draft sudah sah.",
      "status": "penetapan organisasi dilewati"
    }
  ],
  "recovery_protocol": {
    "environment": "hanya lingkungan uji terisolasi yang diotorisasi IT",
    "preconditions": [
      "Salinan data dan prosedur recovery yang disetujui tersedia.",
      "Ruang lingkup serta kriteria kelengkapan disepakati.",
      "Tidak menjalankan pemulihan destruktif pada produksi."
    ],
    "checks": [
      "Bandingkan saldo awal + masuk − keluar dengan saldo akhir per SKU/lokasi/batch/UOM.",
      "Periksa ID unik, jumlah transaksi, transaksi hilang/ganda dan status parsial.",
      "Periksa relasi order/receipt/transfer dan hak akses setelah pemulihan.",
      "Catat waktu mulai/selesai; bandingkan dengan RTO/RPO hanya jika target sudah disahkan."
    ],
    "actual_result": null,
    "status": "protokol disiapkan; tidak dieksekusi"
  }
}
