Pembelian
Siklus pengadaan lengkap: permintaan internal, pesanan pembelian, penerimaan barang, faktur pembelian dan retur — ditambah pengelolaan pemasok dan saldo pemasok.
Konsep yang berlaku untuk semua dokumen pembelian
Setiap dokumen pembelian menggunakan pola editor yang sama. Pelajari sekali, dan semua layar di bawah ini berperilaku dengan cara yang sama.
Siklus hidup dokumen dan status
| Status | Arti | Yang dapat Anda lakukan |
|---|---|---|
| Draf | Dokumen tersimpan tetapi belum berpengaruh pada stok maupun akuntansi. | Edit dengan bebas, simpan kembali, hapus, atau setujui/posting dokumen. |
| Disetujui (permintaan pembelian, pesanan pembelian, penerimaan barang) | Dokumen terkunci dan menjadi sumber yang dapat digunakan untuk dokumen berikutnya dalam siklus. | Cetak / unduh, konversikan ke dokumen berikutnya. Dokumen tidak dapat lagi diedit atau dihapus. |
| Diposting (faktur pembelian, retur pembelian) | Pergerakan stok dan jurnal otomatis telah dibukukan. | Cetak / unduh, lihat jurnal, buat retur; posting faktur dapat dibatalkan dari daftar. |
Nomor dokumen otomatis
Nomor diberikan oleh sistem saat penyimpanan pertama dan tidak pernah diketik secara manual:
| Dokumen | Prefiks | Contoh |
|---|---|---|
| Permintaan pembelian | PREQ- | PREQ-00012 |
| Pesanan pembelian | PORD- | PORD-00025 |
| Penerimaan barang | GRN- | GRN-00108 |
| Faktur pembelian | PINV- | PINV-00341 |
| Retur pembelian | PRET- | PRET-00007 |
Bilah alat dokumen
| Tombol | Ditampilkan saat | Fungsinya |
|---|---|---|
| Baru | Selalu | Mengosongkan editor dan memulai dokumen baru (nomor berikutnya diberikan saat Anda menyimpan). |
| Simpan | Draf | Menyimpan draf dan kembali ke daftar. Tidak ada efek stok maupun akuntansi. |
| Setujui / Posting | Draf | Menyimpan terlebih dahulu, lalu mengunci dokumen (Setujui) atau membukukan stok + jurnal (Posting). |
| Cetak / Unduh | Disetujui / Diposting | Membuka lembar cetak A4 dwibahasa bersama; Unduh menyimpannya sebagai berkas. |
| Konversi ke … | Disetujui / Diposting | Membuka dokumen berikutnya dalam siklus dengan semua data terisi otomatis (lihat masing-masing layar). |
| Lihat Jurnal | Diposting (faktur, retur); juga pada penerimaan barang | Menampilkan entri Debit/Kredit otomatis yang dihasilkan dokumen. Penerimaan barang itu sendiri tidak menghasilkan entri — entrinya muncul pada faktur pembelian. |
| Kembali | Selalu | Kembali ke daftar tanpa perubahan lebih lanjut. |
Grid baris — mekanisme pengisian
- Navigasi tombol Enter: Enter berpindah dari sel ke sel; pada sel terakhir baris terakhir, Enter menambahkan baris baru secara otomatis, sehingga seluruh dokumen dapat diketik tanpa mouse.
- Pemilihan barang: dropdown yang dapat dicari. Memilih barang mengisi satuan dasarnya dan harga belinya dari kartu barang (harga yang sudah diketik tetap dipertahankan).
- Pemilihan satuan: satuan dasar barang beserta satuan alternatifnya. Memilih satuan alternatif menerapkan harga beli satuan tersebut dan faktor konversinya — stok selalu bergerak dalam satuan dasar (kuantitas × faktor).
- Sel diskon: satu kotak dengan tombol pengalih %/mata uang. Masukkan persentase atau nominal; representasi lainnya dihitung otomatis dan tetap sinkron. Persentase tetap “melekat” saat Anda kemudian mengubah kuantitas atau harga.
- Sel PPN: tombol pengalih yang menampilkan jumlah dan tarif PPN (default 15%). Mengekliknya mematikan PPN (tarif 0) untuk baris tersebut; klik lagi untuk mengembalikan tarif sebelumnya.
- Harga termasuk PPN: saat kotak centang header ini aktif, harga yang diketik dianggap sudah termasuk PPN dan pajaknya diekstraksi dari harga tersebut, bukan ditambahkan di atasnya.
Strip total
| Baris | Cara penghitungannya |
|---|---|
| Diskon tambahan | Diskon di tingkat header (%, atau nominal melalui tombol pengalih) yang didistribusikan secara proporsional ke seluruh baris; baris terakhir menyerap sisa pembulatan sehingga total selalu cocok dengan server. |
| Total diskon | Jumlah semua diskon baris + diskon tambahan yang telah dihitung. |
| Subtotal | Nilai bersih tidak termasuk PPN, setelah semua diskon. |
| Total PPN | Jumlah PPN per baris (diekstraksi saat harga termasuk PPN, ditambahkan saat harga bersih). |
| Total | Subtotal + Total PPN. |
Pemasok
Rute: Pembelian › Pemasok — /commercial/suppliers

Tujuan: berkas induk semua pihak yang menjadi tempat Anda membeli. Setiap pesanan pembelian, penerimaan barang, faktur dan retur merujuk pada pemasok dari daftar ini, dan saldo pemasok terbentuk dari faktur, retur dan bukti pembayaran yang telah diposting.
Kapan digunakan: sebelum mencatat pembelian pertama dari vendor baru, atau setiap kali data kontak/pajak berubah.
Kolom kartu pemasok
| Kolom | Wajib | Catatan |
|---|---|---|
| Kode | Otomatis | Diberikan dari urutan kode pemasok saat kartu dibuka; hanya-baca — tidak dapat diubah setelahnya. |
| Nama (Arab) | Ya | Nama tampilan utama yang digunakan di seluruh dokumen dan daftar. |
| Nama (Inggris) | Tidak | Jika dikosongkan, akan disimpan sebagai salinan dari nama Arab. |
| Nomor PPN | Tidak | Nomor registrasi pajak pemasok; dicetak pada dokumen. |
| Telepon / Email / Alamat | Tidak | Data kontak. |
| Aktif | — | Hanya ditampilkan saat mengedit. Pemasok nonaktif tetap ada dalam riwayat tetapi sebaiknya tidak digunakan untuk dokumen baru. |
Aksi
- Simpan / Simpan & Baru / Kembali — aksi edit standar; “Simpan & Baru” menyimpan lalu membuka kartu kosong baru untuk input cepat.
- Laporan Rekening (hanya mode edit) — melompat ke pusat laporan dengan pemasok ini sudah terpilih dan laporan rekening pemasok langsung dijalankan.
- Aksi baris daftar: edit (pensil) dan hapus (tempat sampah, dengan konfirmasi).
Kolom daftar
Kode, Nama (Arab), Nama (Inggris), Telepon, Nomor PPN, Saldo (dibangun dari transaksi yang diposting), Aktif.
Validasi & kesalahan umum
- Menyimpan tanpa nama Arab menampilkan notifikasi “kolom wajib” yang mencantumkan apa saja yang belum diisi.
- Menghapus pemasok yang sudah memiliki dokumen diblokir oleh integritas referensial — nonaktifkan pemasok sebagai gantinya.
Tanya Jawab
- Di mana saya mengatur saldo awal? Bukan di kartu — catat melalui modul akuntansi (jurnal awal/jurnal umum pada akun pemasok) agar muncul di saldo dan laporan rekening.
- Mengapa kode hanya-baca? Kode berasal dari urutan terpusat untuk menjamin keunikan; kode mengidentifikasi pemasok di laporan dan tidak akan pernah bentrok.
- Bagaimana kolom Saldo dihitung? Dari faktur pembelian yang diposting dikurangi retur yang diposting dan alokasi bukti pembayaran; gunakan Laporan Rekening untuk rincian pergerakannya.
Permintaan pembelian
Rute: Pembelian › Permintaan Pembelian — /commercial/purchase-requisitions

Tujuan: permintaan internal dari departemen atau gudang untuk barang yang dibutuhkan — sengaja tanpa pemasok maupun harga. Setelah disetujui, permintaan dikonversi menjadi pesanan pembelian untuk pemasok yang dipilih.
Kapan digunakan: saat orang yang mengetahui apa yang dibutuhkan bukanlah orang yang memilih di mana membelinya. Perusahaan kecil dapat melewatinya dan langsung memulai dari pesanan pembelian.
Kolom
| Kolom | Wajib | Catatan |
|---|---|---|
| Tanggal | Ya (default hari ini) | Tanggal permintaan. |
| Gudang | Tidak | Gudang tujuan; gudang default Anda terisi otomatis pada dokumen baru. |
| Catatan | Tidak | Teks bebas. |
| Baris: Barang + Kuantitas | ≥ 1 baris | Hanya barang dan kuantitas — tanpa harga satuan, diskon maupun PPN pada permintaan pembelian. |
Alur kerja
- Isi tanggal dan (opsional) gudang, lalu daftarkan barang dan kuantitasnya. Tambah Baris atau tombol Enter menambahkan baris.
- Simpan mempertahankannya sebagai Draf yang masih dapat diubah, atau langsung tekan Setujui — menyimpan dan mengunci dalam satu langkah.
- Buka permintaan yang telah disetujui dan tekan Konversi ke Pesanan Pembelian — pesanan baru terbuka dengan gudang dan baris-baris sudah terisi.
Status
Draf → dapat diedit/dihapus. Disetujui → terkunci; menampilkan Cetak, Unduh dan Konversi ke Pesanan Pembelian. Tidak ada efek stok maupun akuntansi pada tahap mana pun dari permintaan pembelian.
Validasi & kesalahan umum
- Minimal satu baris dengan barang dan kuantitas > 0 wajib diisi; baris kosong diabaikan saat menyimpan.
- Permintaan yang telah disetujui tidak dapat diedit — jika disetujui karena keliru, buat permintaan koreksi yang baru (tidak ada fitur batal-setuju).
Tanya Jawab
- Mengapa saya tidak bisa memasukkan harga? Memang dirancang demikian: pemohon menyatakan kebutuhan, pembeli menegosiasikan harga pada tahap pesanan pembelian.
- Apa saja yang sebenarnya disalin oleh konversi? Gudang dan baris barang beserta kuantitasnya; pesanan kemudian menyarankan harga beli setiap barang (dapat diedit) dan PPN 15%.
- Bisakah satu permintaan menghasilkan beberapa pesanan? Tombol Konversi mengisi pesanan baru setiap kali ditekan, jadi bisa — pangkas baris di masing-masing pesanan untuk membagi permintaan ke beberapa pemasok.
Pesanan pembelian
Rute: Pembelian › Pesanan Pembelian — /commercial/purchase-orders


Tujuan: komitmen formal kepada pemasok atas barang, kuantitas dan harga yang disepakati. Pesanan pembelian tidak memiliki efek akuntansi maupun stok — efek dimulai pada faktur pembelian.
Kolom header
| Kolom | Wajib | Catatan |
|---|---|---|
| Tanggal | Ya (default hari ini) | Tanggal pesanan. |
| Pemasok | Ya | Dropdown berkas pemasok yang dapat dicari. |
| Gudang | Ya | Gudang tujuan; gudang default Anda terisi otomatis. |
| Catatan | Tidak | Teks bebas, dicetak pada pesanan. |
| Harga termasuk PPN | — | Kotak centang — lihat bagian konsep bersama. |
Kolom grid baris
#, Barang, Satuan, Kuantitas, Harga Satuan, Diskon (pengalih %/nominal), PPN (pengalih), Total Baris, hapus. Memilih barang menyarankan harga beli dari kartu barang; memilih satuan alternatif menerapkan harga dan faktor konversi milik satuan tersebut.
Langkah-langkah
- Pilih pemasok dan gudang, atau tiba di sini melalui Konversi ke Pesanan Pembelian pada permintaan yang telah disetujui (gudang + baris terisi otomatis).
- Masukkan barang, kuantitas dan harga/diskon yang disepakati; perhatikan strip total yang terhitung secara langsung.
- Simpan untuk mempertahankan Draf, atau Setujui untuk menguncinya. Cetak/Unduh pesanan yang disetujui dan kirimkan ke pemasok.
- Saat barang tiba: Konversi ke Penerimaan Barang. Saat faktur pemasok tiba: Konversi ke Faktur Pembelian (salah satunya boleh lebih dulu).
Status
Hanya dua: Draf (dapat diedit) dan Disetujui (terkunci, dapat dikonversi). Kemajuan penerimaan/pemfakturan dilacak pada dokumen penerimaan dan faktur itu sendiri.
Contoh perhitungan — matematika header pesanan
Pesanan PORD-00025 untuk pemasok “Alpha Supplies”, harga belum termasuk PPN:
| # | Barang | Kts | Harga satuan | Diskon | Bersih | PPN 15% | Total baris |
|---|---|---|---|---|---|---|---|
| 1 | Braket baja | 50 | 13.00 | — | 650.00 | 97.50 | 747.50 |
| 2 | Panel kayu | 20 | 40.00 | 5% = 40.00 | 760.00 | 114.00 | 874.00 |
Strip total: Total diskon 40.00 · Subtotal 1,410.00 · Total PPN 211.50 · Total 1,621.50. Pesanan ini dilanjutkan melalui penerimaan dan pemfakturan dalam contoh perhitungan lengkap di bawah.
Validasi & kesalahan umum
- Pemasok, gudang dan minimal satu baris valid (barang + kts > 0) wajib diisi — notifikasi mencantumkan apa saja yang belum lengkap.
- Pesanan yang telah disetujui tidak dapat diedit atau dihapus; hanya draf yang bisa.
- Lupa menekan pengalih diskon: kotak yang sama berfungsi sebagai % atau nominal — periksa tombol pengalih kecil sebelum mengetik “40” yang dimaksudkan sebagai mata uang padahal modenya %.
Tanya Jawab
- Mengapa stok tidak berubah setelah menyetujui pesanan? Memang demikian rancangannya — pesanan hanyalah komitmen. Stok dan akuntansi bergerak saat faktur pembelian diposting.
- Dari mana harga yang disarankan berasal? Dari harga beli yang tersimpan di kartu barang (per satuan). Timpa dengan harga yang disepakati; kartu barang tidak diubah oleh pesanan.
- Bisakah saya membuat faktur tanpa penerimaan barang? Bisa — “Konversi ke Faktur Pembelian” langsung pada pesanan; langkah penerimaan bersifat opsional.
Penerimaan barang
Rute: Pembelian › Penerimaan Barang — /commercial/goods-receipts

Tujuan: mendokumentasikan apa yang secara fisik tiba di gudang — biasanya sebelum faktur pemasok. Dokumen ini mencatat kuantitas dan nilai yang diterima sebagai bukti pemenuhan terhadap pesanan, dan menjadi sumber impor bagi faktur pembelian.
Kolom
| Kolom | Wajib | Catatan |
|---|---|---|
| Tanggal penerimaan | Ya (default hari ini) | Hari barang tiba. |
| Pemasok | Ya | Terisi otomatis saat dibuat dari pesanan. |
| Gudang | Ya | Terisi otomatis dari pesanan atau dari gudang default Anda. |
| Catatan | Tidak | Teks bebas. |
| Harga termasuk PPN + grid berharga lengkap | — | Grid yang sama dengan pesanan: Barang, Satuan, Kuantitas, Harga Satuan, Diskon, PPN, Total Baris, plus strip total dengan diskon tambahan. |
Penerimaan parsial — langkah demi langkah
- Buka pesanan pembelian yang telah disetujui dan tekan Konversi ke Penerimaan Barang — pemasok, gudang dan semua baris terisi otomatis dengan kuantitas yang dipesan.
- Kurangi setiap kuantitas menjadi jumlah yang benar-benar tiba. Contoh: dipesan 50 + 20, tiba 60% → isi 30 dan 12. Diskon baris dihitung ulang otomatis (diskon 5% tetap 5%).
- Hapus baris yang sama sekali tidak tiba, lalu Setujui.
- Saat sisanya tiba, tekan Konversi ke Penerimaan Barang pada pesanan sekali lagi dan pertahankan hanya kuantitas sisa (20 dan 8) pada penerimaan kedua.
Aksi
Draf: Baru, Simpan, Setujui, Kembali. Disetujui: Cetak, Unduh, Konversi ke Faktur Pembelian, Lihat Jurnal (kosong sampai faktur diposting), Kembali. Baris daftar: edit, hapus (hanya draf), cetak/unduh (hanya yang disetujui).
Validasi & kesalahan umum
- Pemasok, gudang dan minimal satu baris valid wajib diisi.
- “Penerimaan barang yang telah disetujui tidak dapat dihapus” — penghapusan hanya mungkin selama masih draf.
- Jangan menerima seluruh kuantitas yang dipesan saat hanya sebagian yang tiba — faktur yang diimpor dari penerimaan akan melebih-lebihkan pengiriman.
Tanya Jawab
- Mengapa tidak ada pergerakan stok setelah persetujuan? Lihat peringatan di atas — posting faktur membukukan kuantitas dan nilai bersama-sama.
- Bisakah saya membuat penerimaan tanpa pesanan? Bisa — buka penerimaan barang baru dan isi semuanya secara manual; tautan ke pesanan bersifat opsional.
- Pesanan menampilkan harga — bisakah saya mengubahnya di penerimaan? Bisa, grid penerimaan sepenuhnya dapat diedit selama masih draf; faktur akan mengimpor apa pun yang tercantum di penerimaan.
Faktur pembelian
Rute: Pembelian › Faktur Pembelian — /commercial/purchase-invoices


Tujuan: dokumen yang membuat semuanya menjadi nyata: memposting faktur memasukkan barang ke stok pada biaya rata-rata tertimbang dan membukukan jurnal otomatis (pembelian + PPN masukan + utang pemasok).
Kolom header
| Kolom | Wajib | Catatan |
|---|---|---|
| Tanggal | Ya (default hari ini) | Tanggal posting pergerakan stok dan jurnal. |
| Cabang | Otomatis | Terisi otomatis dengan cabang default Anda; terkunci jika cakupan izin Anda hanya mencakup tepat satu cabang. |
| Pemasok | Ya | Dropdown yang dapat dicari. |
| Gudang | Ya | Tempat barang masuk ke stok. |
| No. Faktur Pemasok | Tidak | Nomor yang tercetak pada faktur milik pemasok — referensi pencocokan Anda. |
| Metode Pembayaran | Ya (Tunai/Kredit) | Klasifikasi informatif; pelunasan aktual dicatat melalui bukti pembayaran pemasok (lihat Tanya Jawab). |
| Mata uang + Kurs | Tidak | Faktur mata uang asing memposting jurnal pada kurs yang dimasukkan; kosongkan untuk mata uang dasar. |
| Catatan | Tidak | Teks bebas. |
| Harga termasuk PPN | — | Lihat bagian konsep bersama. |
Grid baris — termasuk keterlacakan
Grid berharga yang sama dengan pesanan ditambah kolom Lacak. Untuk barang yang ditandai dengan pelacakan kedaluwarsa atau nomor seri, muncul tombol penanda: merah = data belum lengkap, hijau = lengkap. Tombol ini membuka lapisan tempat Anda memasukkan:
- Tanggal kedaluwarsa — wajib saat penerimaan untuk barang yang dilacak kedaluwarsanya.
- Nomor seri — satu per baris; jumlahnya harus sama dengan kuantitas × faktor satuan (penghitung langsung menampilkan yang terisi/yang dibutuhkan).
Membuat dan memposting
- Pilih pemasok dan masukkan nomor faktur pemasok serta tanggalnya.
- Impor baris-barisnya: gunakan Konversi ke Faktur Pembelian pada pesanan atau penerimaan barang yang telah disetujui (pemasok, gudang dan baris berharga terisi otomatis), gunakan Salin pada faktur yang sudah ada, atau ketik barisnya langsung.
- Sesuaikan kuantitas/harga agar cocok dengan faktur kertas pemasok; lengkapi data pelacakan pada barang yang ditandai.
- Pilih metode pembayaran dan (jika perlu) mata uang serta kurs.
- Posting. Jika aturan persetujuan aktif dan totalnya melebihi batasnya, permintaan persetujuan dibuat sebagai gantinya dan faktur diposting setelah disetujui.
Efek posting — jurnal
| Akun (dari pengaturan Pembelian) | Debit | Kredit |
|---|---|---|
| Persediaan | Subtotal (bersih setelah semua diskon) | — |
| PPN Masukan | Total PPN | — |
| Utang Usaha (pemasok) | — | Total faktur |
Stok: setiap baris yang dilacak persediaannya masuk ke gudang dalam satuan dasar (kuantitas × faktor satuan) pada biaya satuan sebesar nilai bersih baris ÷ kuantitas dasar — sehingga diskon baris, diskon tambahan dan penetapan harga termasuk-PPN semuanya mengalir dengan benar ke dalam biaya rata-rata tertimbang. Barang berseri didaftarkan ke registri nomor seri pada saat ini. Barang non-stok (jasa) memposting jurnal tanpa pergerakan stok.
Setelah posting — pelunasan
Editor menampilkan chip Dibayar / Sisa. Daftar menambahkan kolom Dibayar dan status Pelunasan per faktur: Belum Dibayar, Sebagian, Lunas (draf menampilkan “—”). Jumlahnya berasal dari bukti pembayaran pemasok yang diposting dan dialokasikan ke faktur ini — memposting faktur tunai tidak membuat bukti pembayaran secara otomatis; catat di layar Bukti Pembayaran dan alokasikan.
Batal posting (membatalkan posting)
- Tersedia dari daftar pada faktur yang diposting (ikon urungkan). Ini membalik jurnal, mengeluarkan kembali stok yang diterima pada biaya bukunya, menghapus nomor seri yang diterima, dan mengembalikan faktur ke status Draf.
- Diblokir jika faktur memiliki pembayaran diposting yang teralokasi (hapus terlebih dahulu), jika nomor seri yang diterima sudah terjual, atau jika pengeluaran stok akan membuat saldo barang menjadi negatif (sudah dikonsumsi/terjual).
Validasi & kesalahan umum
| Pesan / gejala | Penyebab | Solusi |
|---|---|---|
| Notifikasi kolom wajib | Pemasok, gudang atau baris belum diisi. | Lengkapi kolom yang ditandai. |
| “Hanya faktur pembelian berstatus draf yang dapat diedit.” | Mencoba mengubah faktur yang sudah diposting. | Batalkan postingnya terlebih dahulu (jika diizinkan), edit, lalu posting ulang. |
| Tombol Lacak tetap merah / posting ditolak | Tanggal kedaluwarsa belum diisi, atau jumlah nomor seri ≠ kuantitas × faktor. | Buka lapisan Lacak dan lengkapi datanya. |
| “…memiliki pembayaran yang diposting — hapus terlebih dahulu.” | Membatalkan posting faktur yang memiliki pembayaran teralokasi. | Batalkan posting/hapus alokasi bukti pembayaran, lalu batalkan posting faktur. |
| Faktur tidak terposting, muncul permintaan persetujuan | Jumlahnya melebihi batas aturan persetujuan yang aktif. | Tunggu pemberi persetujuan; dokumen diposting setelah disetujui. |
Tanya Jawab
- Apa sebenarnya yang dilakukan “Tunai”? Ia mengklasifikasikan faktur dan tercetak pada dokumen; buku besar tetap mengkredit Utang Usaha. Catat pembayaran tunai aktual sebagai bukti pembayaran pemasok dan alokasikan ke faktur — status pelunasan kemudian menjadi Lunas.
- Saya menerima barang dalam dua penerimaan — bagaimana cara membuat fakturnya? Bisa satu faktur per penerimaan (Konversi pada masing-masing), atau satu faktur manual yang cocok dengan tagihan gabungan pemasok.
- Mengapa biaya barang berubah setelah posting? Rata-rata tertimbang: lihat contoh perhitungan lengkap di bawah untuk aritmetika persisnya.
- Bisakah saya menyalin faktur bulan lalu? Bisa — aksi baris Salin membuka draf baru dengan pemasok, gudang dan baris yang sama; hanya nomor dan tanggal yang baru.
Contoh perhitungan lengkap — pesanan → penerimaan 60% → faktur → biaya
Satu contoh berkesinambungan dengan angka nyata, mengikuti pesanan PORD-00025 dari bagian pesanan pembelian. Stok awal: Braket baja 100 pcs @ 10.00 (nilai 1,000.00); Panel kayu 28 pcs @ 35.00 (nilai 980.00).
Langkah 1 — pesanan yang disetujui
50 × Braket baja @ 13.00, dan 20 × Panel kayu @ 40.00 dengan diskon 5%. Total 1,621.50 (lihat bagian pesanan pembelian). Tidak ada stok, tidak ada jurnal.
Langkah 2 — penerimaan barang untuk 60%
Hanya 60% yang tiba. Konversikan pesanan menjadi penerimaan barang dan kurangi kuantitas menjadi 30 dan 12:
| Barang | Kts | Harga | Diskon | Bersih | PPN 15% | Total baris |
|---|---|---|---|---|---|---|
| Braket baja | 30 | 13.00 | — | 390.00 | 58.50 | 448.50 |
| Panel kayu | 12 | 40.00 | 5% = 24.00 | 456.00 | 68.40 | 524.40 |
| Total | 846.00 | 126.90 | 972.90 | |||
Setujui GRN-00108 — dokumen terkunci; stok masih belum berubah.
Langkah 3 — faktur pembelian untuk 60% yang diterima
Pada penerimaan tekan Konversi ke Faktur Pembelian → PINV-00341 terbuka dengan angka yang sama (subtotal 846.00, PPN 126.90, total 972.90, Kredit). Posting:
| Akun | Debit | Kredit |
|---|---|---|
| Persediaan | 846.00 | — |
| PPN Masukan | 126.90 | — |
| Utang Usaha — Alpha Supplies | — | 972.90 |
Perhitungan ulang rata-rata tertimbang (biaya satuan = bersih baris ÷ kts dasar: braket 390÷30 = 13.00; panel 456÷12 = 38.00):
| Barang | Stok lama | + Diterima | Nilai baru ÷ kts baru | Biaya baru |
|---|---|---|---|---|
| Braket baja | 100 @ 10.00 = 1,000.00 | 30 @ 13.00 = 390.00 | 1,390.00 ÷ 130 | 10.6923 |
| Panel kayu | 28 @ 35.00 = 980.00 | 12 @ 38.00 = 456.00 | 1,436.00 ÷ 40 | 35.90 |
Langkah 4 — sisa 40% tiba dan difakturkan
Penerimaan kedua lalu faktur kedua untuk 20 braket dan 8 panel: subtotal 564.00 (260.00 + 304.00), PPN 84.60, total 648.60. Setelah posting, biaya braket menjadi:
(130 × 10.6923 + 20 × 13.00) ÷ 150 = (1,390.00 + 260.00) ÷ 150 = 1,650.00 ÷ 150 = 11.00
yang persis merupakan pemeriksaan klasik: stok lama 100 @ 10 ditambah total pembelian 50 @ 13 → biaya baru 11.00. Angka 11.00 ini adalah biaya yang dibebankan pada penjualan berikutnya untuk laba kotor yang akurat.
Langkah 5 — saldo pemasok
Alpha Supplies kini memiliki saldo utang: 972.90 + 648.60 = 1,621.50 kredit, terlihat di kolom Saldo pada daftar pemasok dan di laporan rekening, sampai dilunasi oleh bukti pembayaran.
Retur pembelian
Rute: Pembelian › Retur Pembelian — /commercial/purchase-returns

Tujuan: mengembalikan barang kepada pemasok (rusak, tidak sesuai spesifikasi, kelebihan kirim…). Retur selalu dibuat terhadap faktur pembelian yang telah diposting — pemasok dan gudang diwarisi darinya dan tidak dapat diubah.
Kolom
| Kolom | Wajib | Catatan |
|---|---|---|
| Tanggal | Ya (default hari ini) | Tanggal retur. |
| Cabang | Otomatis | Cabang default; terkunci untuk cakupan satu cabang. |
| Faktur Asal | Ya | Daftar faktur pembelian yang telah diposting yang dapat dicari; hanya-baca setelah penyimpanan pertama. |
| Pemasok | Hanya-baca | Ditampilkan otomatis dari faktur yang dipilih. |
| Alasan | Tidak | Mengapa barang dikembalikan (dicetak pada retur). |
| Metode Pembayaran | Ya (Tunai/Kredit) | Diwarisi dari faktur; dapat disesuaikan. |
| Catatan / Harga termasuk PPN | Tidak | Sama seperti pada faktur. |
Retur parsial — langkah demi langkah
- Buat retur dari faktur yang telah diposting (pilih di Faktur Asal, atau tekan tombol retur pada faktur yang diposting itu sendiri) — semua barisnya termuat dengan kuantitas dan harga penuh.
- Pangkas: hapus baris yang tidak dikembalikan, dan kurangi kuantitas pada baris yang diretur. Contoh: mengembalikan 2 panel rusak dari 12 yang difakturkan — 2 × 40.00 − 5% = 76.00 bersih, PPN 11.40, total 87.40.
- Masukkan alasannya, lalu Posting.
Efek posting
| Akun | Debit | Kredit |
|---|---|---|
| Utang Usaha (pemasok) | Total retur (87.40) | — |
| Persediaan | — | Subtotal (76.00) |
| PPN Masukan | — | PPN (11.40) |
Stok keluar dari gudang (satuan dasar × faktor) pada nilai satuan bersih baris; unit berseri dihapus dari registri nomor seri; saldo pemasok berkurang sebesar total retur.
Validasi & kesalahan umum
- “Retur pembelian hanya dapat dibuat terhadap faktur pembelian yang telah diposting” — faktur draf tidak dapat diretur; posting fakturnya terlebih dahulu.
- Faktur asal + minimal satu baris valid wajib diisi.
- Posting diblokir jika gudang tidak lagi menyimpan kuantitas yang diretur (sudah terjual/dipindahkan) — stok tidak boleh menjadi negatif.
- Retur yang telah diposting tidak dapat diedit atau dihapus.
Tanya Jawab
- Apakah retur mengembalikan uang tunai? Tidak ada uang yang bergerak dengan sendirinya — retur mengurangi saldo utang kepada pemasok. Pengembalian tunai apa pun dicatat sebagai bukti terpisah di modul pembayaran.
- Bisakah saya meretur lebih dari yang difakturkan? Baris-baris termuat dengan kuantitas terfaktur sebagai batas praktisnya — meretur lebih dari yang tersisa di stok diblokir, dan meretur lebih dari yang difakturkan membuat saldo utang tidak akurat; jaga kuantitas tetap dalam batas faktur asal.
- Nomor seri mana yang saya masukkan? Persis nomor seri unit-unit yang dikembalikan — nomor tersebut dihapus dari registri sehingga tidak dapat lagi dijual.
- Apa efeknya terhadap biaya barang? Barang keluar pada nilai satuan bersih retur; stok yang tersisa mempertahankan biaya rata-rata tertimbangnya.
Pertanyaan umum
Bagaimana mencatat faktur pembelian?
Buka Pembelian › Faktur Pembelian › Baru, pilih pemasok, tambah item diterima dengan biaya, pajak, diskon, lalu Simpan dan Posting untuk memperbarui utang dan persediaan.
Apakah pembelian memperbarui stok?
Ya. Posting faktur pembelian item stok menambah kuantitas tersedia dan menghitung ulang biaya rata-rata item.
Bagaimana membayar pemasok?
Buat voucher pembayaran untuk pemasok dan alokasikan ke faktur pembelian terbuka untuk mengurangi saldo utang.
Bisakah melacak retur pembelian?
Ya, terbitkan retur pembelian untuk membalik kuantitas diterima dan utang terkait, menjaga stok dan akuntansi selaras.