> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simplus.id/llms.txt
> Use this file to discover all available pages before exploring further.

# Kenapa HPP saya berubah?

> Penyebab HPP bergerak atau jadi minus di Simplus, cara mencegah stok minus, dan cara membaca riwayat perhitungannya.

HPP bukan angka yang Anda isi sekali lalu diam. Simplus menghitung ulang setiap kali stok bergerak. Halaman ini menjelaskan penyebabnya supaya Anda tidak panik saat angkanya berubah.

<Warning>
  **Penyebab nomor satu HPP kacau adalah stok minus.** Kalau HPP Anda pernah terlihat minus, melompat jauh, atau tidak masuk akal sama sekali, hampir pasti ini penyebabnya. Baca bagian di bawah sebelum menelusuri yang lain.
</Warning>

## Stok minus merusak HPP

Stok minus terjadi saat ada penjualan tercatat untuk barang yang **secara data tidak ada**. Biasanya karena barang fisik sudah sampai dan langsung dijual, tapi restoknya belum diinput.

Akibatnya sistem harus mengeluarkan modal dari persediaan yang kosong:

| Metode        | Yang terjadi saat stok minus                                                                                                                           |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Rata-Rata** | Nilai persediaan terus dikurangi padahal stok sudah nol atau minus. Nilai persediaan ikut minus, dan HPP (nilai ÷ stok) jadi minus atau melompat liar. |
| **FIFO**      | Tidak ada lapisan yang bisa diambil, jadi barang keluar tanpa modal yang jelas. Urutan lapisan Anda rusak.                                             |

Efek berantainya:

<Steps>
  <Step title="Penjualan tercatat tanpa modal">
    Margin penjualan itu terlihat hampir 100%. Laporan laba Anda terlalu bagus untuk jadi kenyataan.
  </Step>

  <Step title="Restok datang dan langsung menambal lubang">
    Modal barang baru terpakai untuk menutup penjualan yang sudah lewat, sehingga HPP melompat tiba-tiba tanpa sebab yang terlihat.
  </Step>

  <Step title="Nilai persediaan jadi salah">
    Angka yang Anda pakai untuk mengatur belanja tidak lagi bisa dipercaya.
  </Step>

  <Step title="Laporan laba rugi ikut salah">
    Untung bulan ini kebesaran, untung bulan depan kekecilan. Keduanya tidak menggambarkan keadaan sebenarnya.
  </Step>
</Steps>

<Info>
  Stok minus tidak pernah memperbaiki dirinya sendiri. Selama lubangnya tidak ditutup dengan data pembelian yang benar, angka HPP Anda akan terus meleset.
</Info>

### Cegah dengan mematikan "Jual Stok Habis"

Simplus punya pengaman untuk ini. Matikan setelan **Jual Stok Habis** agar kasir tidak bisa menjual produk yang stoknya sudah nol.

<Steps>
  <Step title="Buka Pengaturan Umum">
    Masuk ke **Pengaturan Umum** di aplikasi.
  </Step>

  <Step title="Matikan Jual Stok Habis">
    Cari **Jual Stok Habis**, lalu matikan toggle-nya. Dengan begini POS menolak transaksi untuk produk yang stoknya habis, sehingga stok minus tidak pernah terbentuk.

    <Frame>
      <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/jual-stok-habis.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=5fba7e50ad57bf7052583a38f1a211dd" alt="Setelan Jual Stok Habis dan Batas Stok Minimum di Pengaturan Umum Simplus" width="1346" height="588" data-path="images/hpp/jual-stok-habis.png" />
    </Frame>
  </Step>

  <Step title="Atur Batas Stok Minimum">
    Di setelan yang sama, isi **Batas Stok Minimum**. Produk dengan stok di bawah atau sama dengan angka ini ditandai menipis, jadi Anda bisa restok sebelum benar-benar habis.
  </Step>
</Steps>

<Note>
  **Jual Stok Habis berlaku untuk seluruh bisnis**, bukan per outlet. Sekali dimatikan, semua outlet Anda ikut menolak penjualan produk yang stoknya habis.
</Note>

<Tip>
  Kalau bisnis Anda memang perlu menerima pesanan untuk barang yang belum datang (pre-order atau indent), biarkan **Jual Stok Habis** aktif, tapi disiplinkan input restok di hari yang sama saat barang diterima. Pengaman aplikasi tidak bisa menggantikan kebiasaan input yang rapi.
</Tip>

### Memperbaiki stok minus yang sudah terlanjur

<Steps>
  <Step title="Cari restok yang terlewat">
    Telusuri nota atau invoice pembelian yang belum pernah diinput untuk produk tersebut.
  </Step>

  <Step title="Input sebagai restok, bukan penyesuaian">
    Masukkan dengan **tanggal dan harga beli yang sebenarnya**. Penyesuaian stok kosongan hanya membetulkan jumlah, tapi tidak mengembalikan modalnya, jadi HPP Anda tetap salah.
  </Step>

  <Step title="Periksa ulang riwayat HPP">
    Buka riwayat produk itu dan pastikan angkanya sudah masuk akal kembali.
  </Step>
</Steps>

## HPP berubah karena stok bergerak

Yang **mengubah** HPP hanyalah barang masuk di harga berbeda dari HPP saat ini:

| Kejadian                       | HPP berubah? | Kenapa                                      |
| ------------------------------ | ------------ | ------------------------------------------- |
| Restok di harga berbeda        | **Ya**       | Modal baru masuk ke perhitungan             |
| Restok di harga sama           | Tidak        | Rata-ratanya tetap                          |
| Penjualan                      | Tidak        | Stok berkurang, modal per unit tetap        |
| Retur pembelian ke supplier    | **Ya**       | Modal yang tadi masuk ditarik lagi          |
| Retur penjualan dari pelanggan | Tidak        | Barang kembali di HPP yang sama             |
| Penyesuaian stok / opname      | Tergantung   | Lihat penjelasan di bawah                   |
| Ubah harga jual                | Tidak        | Harga jual dan HPP tidak saling memengaruhi |

<Note>
  Mengubah **harga jual** tidak pernah mengubah HPP. HPP datang dari harga beli, bukan harga jual.
</Note>

## Penyebab yang sering ditanyakan

<AccordionGroup>
  <Accordion title="HPP saya naik padahal belum belanja lagi" icon="arrow-trend-up">
    Cek apakah ada restok yang diinput orang lain, atau pesanan pembelian yang baru diterima. Setiap barang masuk dengan harga lebih tinggi akan menaikkan HPP.

    Pada metode FIFO, HPP juga naik saat **lapisan lama habis** dan penjualan berikutnya mulai mengambil dari lapisan yang lebih baru dan lebih mahal. Tidak ada transaksi pembelian baru, tapi HPP tetap bergerak. Ini normal.
  </Accordion>

  <Accordion title="HPP produk baru saya Rp0" icon="circle-exclamation">
    Produk yang belum pernah direstok belum punya modal, jadi HPP-nya nol. Akibatnya semua penjualan terlihat untung 100%, dan laporan laba Anda terlalu bagus untuk jadi kenyataan.

    Isi stok awal beserta harga belinya agar HPP mulai terbentuk.
  </Accordion>

  <Accordion title="Setelah stock opname, HPP saya berubah" icon="clipboard-check">
    Tergantung arah selisihnya:

    | Selisih opname                           | Butuh harga beli? | Efek ke HPP                                                                                                         |
    | ---------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------- |
    | **Berkurang** (stok fisik lebih sedikit) | Tidak             | Barang keluar memakai HPP berjalan, sama seperti penjualan. HPP per unit tidak berubah.                             |
    | **Bertambah** (stok fisik lebih banyak)  | Opsional          | Kolom **Harga Beli** terbuka. Kalau dikosongkan, Simplus memakai HPP berjalan. Kalau diisi, angka itu yang dipakai. |

    Di layar **Buat Stok Opname**, kolom **Harga Beli** hanya aktif pada baris yang selisihnya positif. Baris dengan selisih nol atau minus menampilkan `N/A`.

    <Frame caption="Kolom Harga Beli terbuka pada baris dengan selisih +2.">
      <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/opname-harga-beli.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=12c0da23a3877e55cfd98f1df86fd420" alt="Layar Buat Stok Opname di Simplus dengan kolom Harga Beli terisi pada baris selisih positif" width="3018" height="1543" data-path="images/hpp/opname-harga-beli.png" />
    </Frame>

    <Tip>
      Kalau Anda tahu barang lebih itu berasal dari nota pembelian yang belum diinput, isi **Harga Beli** sesuai nota tersebut, atau lebih baik lagi input lewat restok biasa. Membiarkannya kosong membuat barang baru masuk di HPP lama, dan HPP Anda jadi kurang akurat.
    </Tip>
  </Accordion>

  <Accordion title="Saya salah input restok, bisa diperbaiki?" icon="pen-to-square">
    Bisa. Restok yang sudah tersimpan masih bisa diedit, dan **HPP otomatis dihitung ulang** begitu perubahan disimpan. Anda tidak perlu membuat transaksi koreksi terpisah.

    Setelah mengedit, buka kembali riwayat HPP produk itu dan pastikan angkanya sudah masuk akal.
  </Accordion>

  <Accordion title="HPP beda antara outlet saya" icon="store">
    Tidak akan beda. Nilai persediaan dan HPP dihitung **per produk untuk seluruh bisnis**. Stok bisa Anda lihat per outlet, tapi harga pokoknya satu untuk semua outlet.

    Kalau angka di dua layar berbeda, kemungkinan Anda membandingkan jumlah stok per outlet dengan nilai persediaan keseluruhan.
  </Accordion>

  <Accordion title="Barang hilang atau kadaluwarsa, apa pengaruhnya?" icon="box-open">
    Stok yang hilang atau kadaluwarsa mengurangi jumlah stok dan dihitung sebagai kerugian sebesar HPP-nya. Selisih 3 pcs terdengar kecil, tapi kalau HPP-nya Rp24.500, itu kerugian Rp73.500 yang nyata.

    Lihat [Waktu kadaluwarsa stok](/tutorial/produk/expiry-batch) untuk pengurangan stok otomatis.
  </Accordion>
</AccordionGroup>

## Membaca riwayat HPP

Setiap produk punya riwayat perhitungan sendiri. Riwayat ini yang menjawab pertanyaan "kenapa angkanya jadi segini".

### Cara membukanya

<Steps>
  <Step title="Buka menu Produk">
    Dari menu samping, klik **Produk**.
  </Step>

  <Step title="Pilih produk yang mau diperiksa">
    Klik nama produknya. Panel detail produk terbuka di sebelah kanan.
  </Step>

  <Step title="Scroll ke bagian Harga Gudang, lalu klik Lebih Detil">
    Di bagian paling bawah panel ada **HARGA GUDANG** dengan angka HPP produk itu. Klik **Lebih Detil** di sebelah kanannya.

    <Frame>
      <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/harga-gudang-lebih-detil.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=255a1e63ed6c501025495ec8d04478a7" alt="Bagian Harga Gudang dengan tombol Lebih Detil di panel detail produk Simplus" width="1956" height="1336" data-path="images/hpp/harga-gudang-lebih-detil.png" />
    </Frame>
  </Step>

  <Step title="Klik baris Harga Gudang">
    Layar **Harga Gudang** terbuka. Klik sekali lagi baris **Harga Gudang** yang menampilkan angka HPP. Nama layar dan nama barisnya memang sama, jadi jangan bingung.

    <Frame>
      <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/harga-gudang-baris.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=5295caacc6642bbdd425f9e2050310dd" alt="Layar Harga Gudang dengan baris Harga Gudang yang menampilkan angka HPP di Simplus" width="1956" height="1336" data-path="images/hpp/harga-gudang-baris.png" />
    </Frame>
  </Step>

  <Step title="Klik Cara HPP ini dihitung">
    Layar **Rincian Lapisan Harga** terbuka. Di bagian bawahnya ada **Cara HPP ini dihitung**. Klik untuk membuka riwayat lengkapnya.

    <Frame caption="Klik &#x22;Cara HPP ini dihitung&#x22; untuk membuka riwayat perhitungan.">
      <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/rincian-lapisan-harga-fifo.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=f390b51557e63a20322b47ae22a766ac" alt="Layar Rincian Lapisan Harga dengan tautan Cara HPP ini dihitung di Simplus" width="1357" height="1445" data-path="images/hpp/rincian-lapisan-harga-fifo.png" />
    </Frame>
  </Step>
</Steps>

<Note>
  Jalurnya panjang, tapi semuanya ada di dalam satu panel produk. Kalau tersesat, klik **Kembali** di pojok kiri atas sampai kembali ke detail produk, lalu ulangi dari bagian **Harga Gudang**.
</Note>

### Cara membacanya

| Kolom         | Artinya                                                 |
| ------------- | ------------------------------------------------------- |
| **Transaksi** | Kejadian yang menggerakkan stok, dan perubahan nilainya |
| **Sisa**      | Jumlah stok **setelah** transaksi itu                   |
| **Nilai**     | Total modal yang masih tertahan di stok tersebut        |
| **HPP**       | Modal per satu unit setelah transaksi itu               |

Riwayat dibaca dari bawah ke atas: baris terbaru ada di paling atas.

<Frame caption="Riwayat perhitungan HPP pada satu produk.">
  <img src="https://mintcdn.com/simplus/uJP4UuEABN9Jxbux/images/hpp/riwayat-hpp-rata-rata.png?fit=max&auto=format&n=uJP4UuEABN9Jxbux&q=85&s=6985df7903859b88543bf04e28086c93" alt="Riwayat perhitungan HPP di Simplus" width="1348" height="1439" data-path="images/hpp/riwayat-hpp-rata-rata.png" />
</Frame>

<Tip>
  Kalau ada angka yang mencurigakan, telusuri riwayatnya dari baris paling atas ke bawah sampai ketemu transaksi yang membuatnya melompat. Hampir selalu ada satu input yang salah di situ.
</Tip>

<Info>
  Untuk saat ini riwayat ditampilkan lengkap dari transaksi terbaru ke terlama. **Filter per jenis transaksi dan per rentang tanggal** <Badge color="orange" size="sm">Coming Soon</Badge> dan **notifikasi saat HPP naik melewati batas tertentu** <Badge color="orange" size="sm">Coming Soon</Badge>. Sementara ini, periksa manual lewat layar ini atau lewat [laporan margin per produk](/tutorial/hpp/margin-per-produk).
</Info>

## Bagaimana Simplus bisa membantu

Di pembukuan manual, HPP yang tiba-tiba berubah hampir mustahil ditelusuri. Anda hanya melihat angka akhirnya, tanpa tahu transaksi mana yang menggesernya.

Simplus menyimpan setiap langkah perhitungannya:

<CardGroup cols={2}>
  <Card title="Riwayat per produk" icon="clock-rotate-left">
    Layar **Cara HPP ini dihitung** mencatat setiap transaksi yang menggerakkan harga pokok, lengkap dengan sisa stok dan nilai persediaan setelahnya.
  </Card>

  <Card title="Pengaman stok minus" icon="shield-check">
    Setelan **Jual Stok Habis** dan **Batas Stok Minimum** mencegah penyebab nomor satu HPP kacau sebelum terjadi.
  </Card>

  <Card title="Koreksi tanpa transaksi tambahan" icon="pen-to-square">
    Edit restok yang salah, dan HPP langsung dihitung ulang. Tidak perlu jurnal koreksi manual.
  </Card>

  <Card title="Opname yang sadar modal" icon="clipboard-check">
    Saat stok bertambah lewat opname, Anda bisa langsung mengisi harga belinya supaya modal barang baru masuk dengan benar.
  </Card>
</CardGroup>

## Langkah berikutnya

<CardGroup cols={2}>
  <Card title="Mengatur metode HPP" icon="sliders" href="/tutorial/hpp/mengatur-metode-hpp">
    Pilih dan ganti metode FIFO atau Rata-Rata.
  </Card>

  <Card title="Nilai persediaan" icon="wallet" href="/tutorial/hpp/nilai-persediaan">
    Berapa banyak uang Anda yang sedang tertahan di stok.
  </Card>
</CardGroup>
