Belanja bulanan ke supplier biasanya sekali jalan: air mineral, suplemen, handuk, sabun — semuanya dalam satu nota. Input satu per satu lewat halaman produk jadi lambat, dan pengeluarannya tetap harus dicatat terpisah.
Fitur Expenses menyelesaikan keduanya sekaligus. Satu faktur berisi banyak baris produk; setiap baris otomatis menambah stok POS, dan totalnya langsung jadi catatan pengeluaran gym.
Alur
Sebelum Mulai
- Semua produk yang mau di-restock sudah terdaftar di POS → Product
- Produk di-set Limited Stock supaya angka stoknya berarti
- Siapkan nota supplier: nama supplier, nomor nota, tanggal, dan harga total per baris barang
Langkah 1 — Buat Faktur
Buka Other → Expenses, klik add new expense, lalu isi header faktur:
| Field | Keterangan |
|---|---|
| Supplier name | Nama supplier / toko |
| Invoice number | Nomor nota dari supplier |
| Expense date | Tanggal nota — ini juga jadi tanggal masuk barang |
| Note | Catatan bebas |
Klik Save. Kamu masuk ke halaman detail faktur, tempat semua baris belanja diisi.
Expense date penting. Tanggal ini yang dipakai sebagai tanggal restock di riwayat stok setiap produk pada faktur ini.
Langkah 2 — Tambah Baris Restock
Di halaman detail faktur ada dua kelompok baris:
| Kelompok | Untuk apa | Efek ke stok |
|---|---|---|
| expense — Operational | Gaji, listrik, sewa, service alat | Tidak ada |
| restock — POS purchases | Pembelian produk POS | Menambah stok |
Klik + Add restock di kelompok restock, lalu isi:
| Field | Keterangan |
|---|---|
| POS product | Ketik untuk mencari — stok saat ini ikut ditampilkan |
| Qty | Jumlah barang masuk |
| Amount | Total yang dibayar untuk baris ini, bukan harga satuan |
| Description | Opsional |
Klik Save. Baris langsung muncul di tabel, dan stok produknya sudah bertambah saat itu juga.
Ulangi untuk setiap produk di nota. Modalnya cepat: cari produk → qty → total → Save.
Tombol Auto di sebelah kolom Amount mengisi perkiraan total dari harga beli terakhir produk × qty. Berguna kalau harga supplier tidak berubah — tapi selalu samakan dengan angka di nota.
Harga Satuan Dihitung Otomatis
Yang kamu isi adalah total per baris, karena itu yang tertulis di nota. OnlyGym yang menghitung harga satuannya:
Unit cost = Amount ÷ Qty
Contoh: beli 2 dus air mineral isi 24, total Rp 240.000 untuk 48 botol.
| Isian | Nilai |
|---|---|
| Qty | 48 |
| Amount | 240000 |
| Unit cost (otomatis) | 5000 |
Harga satuan inilah yang jadi dasar perhitungan modal saat produk terjual di POS.
Langkah 3 — Catat Pembayaran
Scroll ke bagian Payment di faktur yang sama, klik tambah pembayaran, lalu isi:
| Field | Keterangan |
|---|---|
| Payment method | Cash, transfer, dll. |
| Payment date | Tanggal uang keluar |
| Amount paid | Nominal dibayar — tombol Full mengisi sisa tagihan |
| Tag | Opsional, untuk pengelompokan |
| Note | Opsional |
Pembayaran tercatat sebagai uang keluar di Payment Mutation, jadi laporan keuangan gym ikut sinkron.
Boleh bayar sebagian. Satu faktur bisa punya beberapa pembayaran. Status faktur mengikuti sisa tagihan:
| Sisa tagihan | Status |
|---|---|
| 0 atau kurang | PAID |
| Masih ada | UNPAID |
Stok bertambah sejak baris restock disimpan — tidak menunggu faktur lunas. Jadi barang yang sudah datang tapi belum dibayar tetap bisa dijual.
Satu Faktur Boleh Campur
Kalau dalam satu nota supplier ada barang dagangan sekaligus barang non-jual, tidak perlu bikin dua faktur. Masukkan barang POS lewat + Add restock, dan sisanya lewat + Add operational di kelompok expense. Keduanya masuk ke total faktur yang sama, tapi hanya baris restock yang menyentuh stok.
Kalau Salah Input
| Kasus | Yang Dilakukan | Efek |
|---|---|---|
| Qty atau total salah | Edit baris restock | Stok & harga satuan ikut terkoreksi |
| Salah pilih produk | Edit baris, ganti produknya | Stok produk lama dikembalikan, produk baru bertambah |
| Baris tidak jadi dibeli | Hapus baris tersebut | Stok otomatis rollback |
| Faktur dobel input | Archive fakturnya | Semua baris restock di dalamnya ikut dibatalkan dari stok |
Riwayatnya tetap tersimpan — pembatalan dilakukan dengan archive, bukan menghapus jejak.
Cek Hasilnya
| Yang mau dicek | Buka |
|---|---|
| Stok seluruh produk | Report → POS → Current Stock |
| Riwayat masuk satu produk | POS → Product → detail produk → Restock History |
| Rekap pengeluaran | Other → Expenses |
| Uang keluar | Other → History → Payment Mutation |
Pilih yang Mana?
| Situasi | Cara |
|---|---|
| Restock 1 produk, cepat | Per produk, lewat detail produk |
| Belanja supplier banyak item | Expenses |
| Perlu tercatat sebagai pengeluaran | Expenses |
| Pembelian dibayar bertahap | Expenses |
| Koreksi stok setelah hitung fisik | Stock Adjustment |
FAQ
Apakah input lewat Expenses menambah stok dua kali?
Tidak. Satu baris restock menghasilkan satu catatan stok masuk. Jangan menginputnya lagi lewat halaman produk.
Amount diisi harga satuan, apa akibatnya?
Harga satuan jadi terlalu kecil (total ÷ qty), sehingga perhitungan modal produk meleset. Perbaiki dengan mengedit baris tersebut dan mengisi total yang benar.
Faktur belum dibayar, stok sudah bertambah — apakah wajar?
Ya. Stok mengikuti barang yang sudah diterima, sedangkan pembayaran dicatat terpisah lewat bagian Payment. Faktur yang belum lunas tetap muncul dengan status UNPAID.
Bisa input faktur lama secara mundur?
Bisa. Isi Expense date sesuai tanggal nota — tanggal itu yang dipakai sebagai tanggal restock.
Produk belum ada di daftar POS, bagaimana?
Buat dulu di POS → Product, baru tambahkan barisnya di faktur.
Siapa yang boleh mengakses menu ini?
Owner dan staff yang diberi permission Expense. Hak akses diatur per staff lewat pengaturan hak akses.