Dokumentasi

Referensi & kebijakan sistem: status akun, langganan, data, domain, peran, dan notifikasi. Untuk cara kerja langkah-demi-langkah buka Panduan; pertanyaan cepat di FAQ.

Paket:

Mode Persiapan (sebelum toko dibuka)

Setiap toko baru otomatis berada di Mode Persiapan: pemilik bebas berlatih (menambah produk, menguji stok, mencoba pesanan & checkout) sementara storefront belum dibuka untuk publik — pengunjung umum melihat halaman "Segera Dibuka".

Masa Onboarding (paket berbayar). Saat berlangganan paket berbayar pertama, masa berbayar langganan dipause selama Mode Persiapan — maksimal 30 hari (bulanan) / 90 hari (tahunan). Jam berbayar mulai saat Go-Live ("Siap Beroperasi") atau otomatis di akhir masa onboarding, sehingga masa berbayar yang dibayar tidak terpakai selama persiapan. Tagihan berikutnya memakai tanggal kalender (mis. mulai tanggal 31 → tagih tanggal 31 tiap bulan; bila bulan tak punya tanggal itu, dikunci ke hari terakhir bulan). Paket Gratis: Mode Persiapan biasa tanpa jam berbayar.

Menguji toko sebelum dibuka: pada banner Mode Persiapan di dashboard, klik "Pratinjau & Uji Toko" — tautan pratinjau membuka storefront versi pemilik (lewat token rahasia) sehingga Anda bisa menjalankan seluruh alur checkout. Pelanggan biasa tetap tak bisa mengakses toko.

Mulai beroperasi (go-live): saat sudah siap (produk, pengiriman/Biteship, & pembayaran terpasang), klik "Siap Beroperasi" lalu konfirmasi. Sistem membersihkan seluruh data latihan agar mulai dari nol, lalu membuka storefront untuk publik.

  • Tetap aman (tidak dihapus): produk & varian, kategori, supplier, gudang, promo, pengaturan, staf, & langganan.
  • Dinolkan: pesanan, lalu lintas stok, batch, penerimaan, PO, pengeluaran, sesi POS, voucher terpakai; stok produk kembali 0.
  • Tindakan satu arah — setelah go-live tak bisa kembali ke Mode Persiapan.

Dashboard Utama

Halaman awal dashboard menampilkan ringkasan toko sekilas. Isinya menyesuaikan paket Anda.

Kartu ringkasan (baris atas)

  • Total Produk — jumlah produk terdaftar (semua paket).
  • Starter+: Total Pesanan, Total Pelanggan, Total Pendapatan (dari pesanan selesai).
  • Gratis: karena belum ada checkout lengkap, kartu order diganti metrik stok — Stok Menipis, Stok Habis, Nilai Berisiko Kedaluwarsa.

Kartu perhatian pesanan (Starter+, bisa diklik)

Tiga kartu ini menyoroti pesanan yang butuh tindakan. Klik untuk langsung membuka halaman Pesanan pada tab terkait. Angkanya otomatis menjadi 0 saat pesanan beranjak status.

KartuBerisiMenjadi 0 saat
Pesanan Perlu DiprosesPesanan sudah dibayar tapi belum dikirim (perlu dikemas & diproses).Pesanan dikirim (Atur Pickup / Kirim) → pindah ke Dikirim.
Pesanan Telah DiprosesSedang disiapkan/menunggu kurir.Pesanan ditandai dikirim.
Pengembalian/PembatalanPembatalan/retur yang baru masuk & perlu tindakan. Bukan total keseluruhan.Retur/refund selesai diproses.
Total pengembalian/pembatalan keseluruhan tetap bisa dilihat di halaman Pesanan → tab Pengembalian/Pembatalan. Kartu dashboard hanya menampilkan yang perlu tindakan.
Paket Gratis tidak menampilkan kartu perhatian pesanan (checkout via WhatsApp — pesanan tidak diproses di dashboard). Untuk fitur pesanan lengkap, upgrade ke Starter+.

Seksi Performa Toko

Ringkasan performa hari ini dengan pembanding kemarin pada periode jam yang sama (mis. pukul 10.00: hari ini 00.00–10.00 vs kemarin 00.00–10.00) agar persentase naik/turun adil — bukan membandingkan hari berjalan dengan kemarin penuh.

MetrikDefinisi
PenjualanNilai pesanan yang DIBAYAR hari ini dari semua kanal (storefront, POS Kasir, marketplace) — termasuk diskon, voucher, & ongkir yang dibayar pembeli. Pesanan yang kemudian dibatalkan/di-refund tetap terhitung.
Total PengunjungPengunjung unik storefront hari ini. Satu orang yang membuka beberapa halaman (atau berkunjung berkali-kali) dihitung 1 pengunjung.
Jumlah Produk DiklikBerapa kali halaman detail produk di storefront dibuka hari ini (semua perangkat).
PesananJumlah pesanan yang dibayar hari ini dari semua kanal (termasuk transfer manual saat ditandai Lunas, transaksi POS, & pesanan marketplace).
Tingkat Konversi PesananJumlah pesanan ÷ jumlah produk diklik hari ini — mengukur seberapa efektif halaman produk mengubah kunjungan menjadi pesanan.
  • Delta ▲/▼ = perubahan relatif vs kemarin (jendela sama); “— baru” berarti kemarin belum ada data pembanding (wajar di hari-hari awal fitur aktif).
  • Pengunjung & klik dihitung dari storefront saja — penjualan POS/marketplace menambah Penjualan & Pesanan, tetapi tidak menambah pengunjung.
  • Angka menyegar otomatis setiap menit; batas hari mengikuti zona waktu toko (diatur di Pengaturan → Umum).
Privasi: pengunjung dihitung memakai ID acak yang disimpan browser pengunjung — bukan nama, kontak, atau data pribadi. Performa Toko ≠ Total Pendapatan: kartu Total Pendapatan menghitung pesanan selesai sepanjang waktu, sedangkan Penjualan di sini menghitung pesanan dibayar hari ini.

Status Akun Toko

Toko Anda dapat berada pada salah satu status berikut. Status menentukan akses dashboard, storefront publik, bisa atau tidaknya login, dan keberadaan data.

StatusKapan terjadiDashboardStorefront publikLogin pemilikData
Menunggu AktivasiBaru daftar paket berbayar, tagihan aktivasi belum dibayarTerbatas (hanya Tagihan)AktifBisaTersimpan
AktifLangganan berjalanPenuhAktifBisaTersimpan
Masa TenggangLangganan berbayar lewat tanggal berakhir, masih dalam tenggang (default 7 hari)Terbatas (Tagihan)AktifBisaTersimpan
Free (otomatis)Langganan berbayar habis & lewat tenggang → turun ke paket FreePenuh (fitur Free)AktifBisaTersimpan
DibatalkanTenant membatalkan langganan berbayarPenuh s/d berakhirAktif s/d berakhirBisaTersimpan
Nonaktif (idle)Paket Free tanpa aktivitas login lebih dari 12 bulan (ada pengingat H-30)BisaNonaktifBisa (aktif lagi saat login)Tersimpan
DitangguhkanDitangguhkan oleh Admin StepyStoreTidak bisaNonaktifTidak bisaTersimpan
Dihapus permanenAkun ditutup oleh Admin StepyStoreDihapus
Langganan berbayar habis tidak langsung mematikan toko. Toko otomatis turun ke paket Free dan tetap online untuk pelanggan dengan fitur paket Free. Upgrade ke paket berbayar kapan saja untuk fitur lengkap.

Langganan & Masa Berlaku

  • Paket & siklus: tiap toko berlangganan satu paket dengan siklus bulanan atau tahunan.
  • Masa berlaku (kedaluwarsa) ditampilkan di menu Tagihan beserta sisa hari.
  • Mulai masa berbayar (paket berbayar baru): jam berbayar mulai saat Go-Live (“Siap Beroperasi”), bukan saat bayar — selama Masa Onboarding (maks 30 hari bulanan / 90 hari tahunan) jam berbayar dipause. Lihat seksi Mode Persiapan.
  • Tanggal tagihan berbasis kalender: tagihan mengikuti tanggal mulai (Go-Live untuk paket baru, atau tanggal upgrade) di tiap bulan/tahun. Bila bulan tujuan tak punya tanggal itu (mis. tanggal 31 di Februari), dikunci ke hari terakhir bulan.
  • Perpanjangan: membayar tagihan perpanjangan menambah masa aktif dari tanggal kedaluwarsa saat ini (bukan dari tanggal bayar) — perpanjang lebih awal tidak hangus.
  • Ubah paket (upgrade): naik ke paket lebih mahal lewat tombol Ubah Paket — bayar sekarang, langsung aktif setelah dikonfirmasi, dengan periode baru + sisa hari paket lama (tak hangus); tanggal tagih berikutnya mengikuti tanggal kalender.
  • Ubah paket (downgrade): turun ke paket berbayar lebih murah bersifat terjadwal di akhir periode — tidak ditagih sekarang; paket sekarang tetap jalan hingga habis, lalu perpanjangan memakai harga paket baru. Bisa dibatalkan sebelum berlaku.
  • Pembatalan: bersifat berlaku hingga akhir periode — toko tetap aktif sampai masa berlaku habis, lalu turun ke paket Gratis (tidak diperpanjang otomatis).
  • Satu tagihan terbuka pada satu waktu: bila masih ada tagihan belum dibayar, sistem tidak membuat tagihan baru.
  • Tagihan upgrade tak dibayar: bila tagihan upgrade tidak dibayar sampai lewat jatuh tempo + masa tenggang, tagihan dibatalkan otomatis dan toko tetap di paket saat ini (mis. Gratis) — tidak ada perubahan akses. Anda bisa mengajukan upgrade lagi kapan saja.
Paywall berbasis langganan. Akses dashboard dibatasi ke Tagihan hanya bila aktivasi belum dibayar atau langganan kedaluwarsa — bukan sekadar karena ada tagihan belum dibayar. Tagihan perpanjangan yang belum jatuh tempo tidak menghalangi akses.

Tentang Paket Gratis — tanpa jebakan

Paket Gratis berlaku selama toko Anda aktif — bukan masa coba yang diam-diam dibatasi waktu. Yang membedakan antar-paket adalah kapasitas & fitur (mis. 50 SKU, 1 staf, 1 lokasi gudang, 3 artikel blog, 100 foto produk), bukan batas waktu pemakaian.

  • Berlaku selama toko Anda aktif — tidak ada batas waktu pemakaian dan tidak perlu kartu kredit. Toko yang aktif tetap online tanpa biaya.
  • Pembeli memesan lewat checkout WhatsApp (tanpa perlu membuat akun), dan stok diperbarui manual lewat Koreksi Stok setelah penjualan. Pencatatan pesanan & pengurangan stok otomatis tersedia mulai paket Starter.
  • Hanya toko yang tidak login lebih dari 12 bulan yang storefront-nya dinonaktifkan sementara (setelah pengingat) — data tetap aman dan toko aktif kembali begitu Anda login.
Bila batas foto paket Gratis tercapai saat mengunggah, sistem meminta Anda menghapus foto lama atau Upgrade Paket. Foto yang sudah ada tidak terhapus.

Saat Langganan Berakhir

Bila langganan berbayar berakhir tanpa diperpanjang, sistem mengikuti urutan berikut:

  • Masa tenggang (default 7 hari sejak kedaluwarsa): toko tetap aktif penuh untuk pelanggan; dashboard dibatasi ke Tagihan; email pengingat dikirim.
  • Setelah masa tenggang: toko otomatis turun ke paket Free — tetap online untuk pelanggan, dengan fitur sesuai paket Free. Tagihan perpanjangan yang belum dibayar ikut dibatalkan. Email pemberitahuan dikirim. Tidak ada data yang dihapus.
  • Berhenti sukarela (tombol Berhenti): tanpa masa tenggang & tanpa penguncian — begitu masa berlaku habis, toko langsung turun ke paket Free sesuai janji saat pembatalan.
  • Upgrade kembali: gunakan tombol Upgrade Paket di menu Tagihan untuk kembali ke paket berbayar dan membuka fitur lengkap (mandiri, tanpa perlu menghubungi admin).

Penonaktifan karena tidak aktif

  • Toko paket Free yang tidak ada aktivitas login (oleh pemilik atau staf) selama lebih dari 12 bulan akan dinonaktifkan storefront-nya (pelanggan melihat “Toko Sedang Tidak Aktif”).
  • Pengingat H-30: ±30 hari sebelum dinonaktifkan, kami kirim email pengingat — cukup login sekali untuk tetap aktif.
  • Aktif kembali otomatis begitu Anda login ke dashboard — tanpa kehilangan data.
Baik turun ke Free maupun penonaktifan karena tidak aktif tidak menghapus data dan tidak memblokir login Anda. Penghapusan data permanen hanya terjadi bila akun ditutup oleh Admin StepyStore.

Data & Penyimpanan

  • Data toko (produk, kategori, stok & batch, pesanan, pelanggan & alamat, pengaturan, staf, log aktivitas) disimpan di database dan terisolasi per toko.
  • Gambar (foto produk, hero/banner, logo, favicon, bukti bayar) disimpan di cloud storage (Cloudflare R2) via CDN, pada folder khusus tiap toko.
  • Tagihan & langganan dikelola di sistem billing StepyStore (terpisah dari data operasional toko).
  • Retensi: data dipertahankan selama akun ada — termasuk saat langganan nonaktif.
  • Pembersihan otomatis: gambar yang diunggah tapi tidak lagi dipakai pengaturan dibersihkan secara berkala agar penyimpanan tetap rapi.
Penghapusan permanen (database + seluruh gambar) hanya terjadi saat akun dihapus oleh Admin StepyStore dan tidak dapat dipulihkan.

Domain Toko

  • Subdomain otomatis: tiap toko mendapat alamat namatoko.stepystore.com saat pendaftaran, sudah ber-SSL. Alamat ini selalu aktif sebagai cadangan.
  • Custom domain (opsional, paket Growth ke atas): domain milik sendiri (mis. tokosaya.com). Untuk mengaktifkannya, hubungi Admin StepyStore — kami bantu proses verifikasi; di sisi Anda tampil read-only di Pengaturan → Domain.
  • Setelah custom domain aktif, akses ke subdomain otomatis diarahkan ke custom domain Anda — jadi alamat toko konsisten.

Toko tetap online, apa pun yang terjadi. Bila custom domain Anda bermasalah (mis. DNS/SSL putus atau domain kedaluwarsa di registrar), toko otomatis kembali dilayani lewat subdomain namatoko.stepystore.com, dan aktif lagi otomatis saat domain sehat kembali.

Custom domain adalah fitur paket Growth+. Bila paket turun ke Free/Starter, custom domain dinonaktifkan otomatis dan toko kembali memakai subdomain (data & toko tetap aman); aktif lagi bila Anda upgrade ke Growth+.

Peran Penggunamulai Starter

PeranHak akses
AdminAkses penuh termasuk Pengaturan, Tagihan, dan kelola Staf.
StafOperasional: produk, stok, pesanan, pembelian/penerimaan, laporan. Tanpa Pengaturan/Tagihan/Staf.
KasirTerbatas: Dashboard, Produk, Stok, Kedaluwarsa, Pesanan (fokus jualan & pemenuhan).
Menu menyesuaikan otomatis dengan peran. Sistem menjaga agar selalu ada minimal satu Admin aktif.

Storefront Publik & SEO

  • Storefront publik per toko (di subdomain/custom domain) untuk pelanggan berbelanja: katalog produk, keranjang, checkout, akun pelanggan.
  • Tema: tema default yang dapat dikonfigurasi (warna aksen, slideshow hero, banner, gambar halaman login pelanggan) lewat Pengaturan → Tampilan Publik. Tema custom dibuatkan tim StepyStore bila diminta.
  • SEO otomatis per toko: judul & deskripsi (meta) yang dapat diatur, robots.txt & sitemap.xml dinamis, kartu pratinjau sosial (OG image), serta data terstruktur (JSON-LD) agar mudah terindeks mesin pencari.
  • Google Search Console: tiap toko dapat diverifikasi di akun Google milik toko sendiri (metode Tag HTML). Tempel token verifikasi di Pengaturan → Website → bagian SEO; storefront otomatis merender meta tag verifikasinya. Langkah lengkap ada di Panduan → SEO & Google Search Console.
Verifikasi Search Console per-toko memakai akun Google masing-masing — data performa pencarian (kata kunci, klik, posisi) menjadi milik toko Anda dan terpisah dari toko lain.

Checkout & Pemesanan

Cara pelanggan menyelesaikan pesanan diatur di Pengaturan → Checkout (satu mode per toko), plus tombol marketplace per-produk:

  • Checkout via WhatsApp (semua paket) — tombol beli menyusun pesan berisi rincian pesanan lalu membuka WhatsApp toko Anda (nomor dari tab Kontak). Pembayaran & ongkir dinegosiasi di WhatsApp; pesanan tidak otomatis tercatat di dashboard, dan stok tidak berkurang otomatis — perbarui manual lewat Manajemen Stok → Koreksi Stok setelah penjualan.
  • Checkout Lengkap (mulai Starter) — alur penuh di storefront: akun pelanggan → alamat → ongkir → pembayaran. Metode pembayaran di paket Starter hanya Transfer Manual (pelanggan transfer ke rekening toko, lalu Anda tandai lunas). Pembayaran Online otomatis (Midtrans/Tripay — VA/QRIS/e-wallet/kartu, langsung terkonfirmasi) tersedia mulai Growth+. Pesanan tercatat otomatis & stok terkelola. Harga tiap item dihitung ulang di server (harga/diskon terkini) dan pesanan ditolak bila stok tidak mencukupi — anti-overselling. Akun pelanggan (daftar/login) juga hanya tersedia mulai paket Starter.
  • Tombol Checkout Marketplace (mulai Starter) — isi tautan produk di Shopee/Tokopedia/TikTok/Blibli pada form produk; storefront menampilkan tombol “Beli di …” yang langsung menuju produk di marketplace tersebut.
Untuk mode WhatsApp, pastikan nomor WhatsApp toko sudah diisi di Pengaturan → Kontak. Paket Gratis hanya mendukung checkout WhatsApp; checkout lengkap & tombol marketplace mulai paket Starter. Ringkasan metode pembayaran Checkout Lengkap: Starter = Transfer Manual saja; Growth+ = Transfer Manual + Pembayaran Online otomatis (Midtrans/Tripay).

Alur lengkap paket Gratis (checkout WhatsApp)

  1. Pembeli menelusuri katalog & menambah produk ke keranjang — tanpa perlu membuat akun.
  2. Klik Pesan via WhatsApp → sistem menyusun pesan otomatis (rincian item + total) lalu membuka WhatsApp toko Anda.
  3. Negosiasi, ongkir, & pembayaran terjadi di WhatsApp — di luar sistem StepyStore. Pesanan tidak tercatat di dashboard.
  4. Setelah memesan, pembeli boleh mengosongkan keranjang (opsional) — keranjang tersimpan di browser-nya sampai ia ubah sendiri.
  5. Perbarui stok manual: setelah barang terjual, buka Manajemen Stok → Koreksi Stok → pilih produk → tipe Penyesuaian/Keluar → isi jumlah terjual. Stok sistem & badge ketersediaan di storefront ikut akurat.
Di paket Gratis, stok tidak berkurang otomatis karena pesanan tak tercatat (transaksi di WhatsApp). Pencatatan pesanan & pengurangan stok otomatis tersedia lewat Checkout Lengkap mulai paket Starter.

Setelah pelanggan checkout (Checkout Lengkap)

  • Tanpa wajib daftar akun (guest checkout). Pesanan langsung tercatat di Pesanan & pelanggannya muncul di Pelanggan. Bila pelanggan kemudian mendaftar/login dengan email yang sama, pesanan tamu lamanya otomatis tergabung ke akun & tampil di Riwayat Pesanan-nya.
  • Selesai checkout, pelanggan diarahkan ke halaman konfirmasi pesanan (berisi nomor pesanan, rincian, & status). Tautannya permanen — aman dibuka ulang.
  • Lacak pesanan kapan saja: pelanggan buka menu Lacak Pesanan (footer storefront, URL /lacak) → masukkan nomor pesanan + nomor HP → status pesanan & pembayaran tampil.

Pembayaran transfer manual — konfirmasi

  1. Halaman pesanan menampilkan rekening toko + nominal dan tombol “Konfirmasi & Kirim Bukti via WhatsApp”.
  2. Pelanggan transfer lalu klik tombol itu → terbuka WhatsApp toko berisi nomor pesanan & nominal, pelanggan melampirkan bukti.
  3. Anda verifikasi bukti, lalu tandai pesanan Lunas di Pesanan. Status di halaman lacak pelanggan otomatis berubah jadi Lunas.
Tombol konfirmasi memakai nomor WhatsApp di Pengaturan → Kontak. Jika nomor WA kosong, tombol berganti ke Email (bila email kontak diisi), atau ke instruksi menuju halaman Kontak. Isi nomor WhatsApp toko agar konfirmasi transfer manual berjalan mulus.

Pusat Promosi (Diskon & Voucher)mulai Starter

Pusat Promosi (mulai Starter) adalah tempat terpusat mengelola promosi toko. Saat ini tersedia dua menu: Diskon Toko dan Voucher Toko Saya (menu di seksi Pusat Promosi pada sidebar).

Diskon Toko

Satu promo diskon dapat memuat banyak produk sekaligus, dan tiap produk diatur diskonnya sendiri. Cocok untuk toko dengan banyak SKU. Langkahnya:

  1. Buat Diskon → isi Nama & jadwal (Mulai–Berakhir; boleh dikosongkan agar terus berlaku selama aktif).
  2. Tambah Produk → pilih produk secara massal lewat pencarian & filter kategori, centang banyak produk (atau “pilih semua hasil filter”) sekaligus.
  3. Atur diskon tiap produk: persentase (%) atau nominal (Rp). Pakai Perubahan massal untuk menerapkan satu nilai diskon ke produk terpilih / semua produk dalam sekali klik, lalu sesuaikan per produk bila perlu.
  4. Tiap produk punya tombol Aktif/Nonaktif sendiri; Harga Diskon tampil otomatis. Klik Konfirmasi untuk menyimpan.
  • Harga diskon diterapkan otomatis — tampil sebagai harga coret di storefront, keranjang, checkout, & laporan tanpa langkah tambahan.
  • Kolom Harga Diskon di form produk bersifat read-only (seperti stok) — ubahlah lewat Diskon Toko, bukan di halaman produk.
  • Satu produk = satu diskon aktif: produk yang sudah ada di diskon aktif/terjadwal akan terkunci saat memilih produk untuk diskon baru. Hapus dari diskon lama (atau tunggu berakhir) bila ingin memindahkannya.
  • Penjadwalan otomatis: promo terjadwal aktif & berakhir sendiri tepat waktu.
  • Status: Aktif, Terjadwal (belum mulai), Berakhir, atau Nonaktif.

Voucher Toko Saya

Pilih salah satu dari 3 jenis voucher saat membuat:

  • Voucher Toko — berlaku untuk semua produk toko.
  • Voucher Produk — berlaku untuk produk terpilih saja (pilih produknya saat membuat).
  • Voucher Terbatastidak ditampilkan di storefront; hanya bisa dipakai lewat kode yang Anda bagikan. Cakupannya bisa semua produk atau produk tertentu.

Tiap voucher dikonfigurasi dalam 3 bagian: Rincian Dasar (kode, nama, jadwal), Pengaturan Bonus (tipe %/nominal, nilai, min. belanja, maks. potongan, kuota total, batas per pelanggan), dan Tampilan Voucher & Produk.

  • Pengaturan Tampilan: Tampilkan di semua halaman (muncul di halaman depan toko, halaman produk, & checkout) atau Tidak ditampilkan (otomatis jadi kategori Voucher Terbatas — hanya via kode).
  • Potongan dihitung dari produk yang berlaku: untuk Voucher Produk / Terbatas-spesifik, potongan & minimal belanja dihitung dari subtotal produk yang masuk daftar voucher saja (bukan seluruh keranjang).
  • Syarat & batas: minimal belanja, maksimal potongan (untuk tipe persentase), kuota total, dan batas per pelanggan (berdasarkan nomor HP). Kosongkan untuk tak terbatas.
  • Jadwal mulai–berakhir & status (termasuk Kuota Habis). Voucher nonaktif tak bisa dipakai.
  • Di storefront/checkout: voucher yang ditampilkan bisa diklik Salin (atau Pakai di checkout). Pelanggan juga bisa mengetik kode. Potongan tampil di ringkasan; total = subtotal − potongan + ongkir. Kuota berkurang saat pesanan dibuat, dikembalikan otomatis bila dibatalkan/refund.
Diskon berlaku otomatis untuk produk yang memenuhi cakupan; voucher butuh kode (diketik/klik Pakai) saat checkout. Keduanya dapat berjalan bersamaan — diskon menentukan harga produk, voucher memotong total belanja.
Voucher hanya berlaku pada Checkout Lengkap (Starter+). Pada paket Gratis (checkout WhatsApp), Pusat Promosi tidak tersedia.

Pengiriman & Ongkirmulai Starter

Untuk Checkout Lengkap (Starter+), atur ongkir otomatis di Pengaturan → Pengiriman. Provider yang dipakai adalah Biteship — satu integrasi untuk hitung ongkir + buat pengiriman + nomor resi (AWB) + lacak otomatis. (RajaOngkir tidak lagi digunakan.)

Semua aksi memproses & mengirim pesanan kini ada di halaman Pesanan (bukan lagi di detail pesanan) — lihat bagian Alur Pesanan & Pemenuhan. Ringkasnya: kurir reguler pakai tombol “Kirim” (booking Biteship otomatis atau input resi manual); kurir instan pakai “Atur Pickup”. Status perjalanan paket diperbarui otomatis (sampai Terkirim) lewat webhook.

Menyiapkan Biteship (cukup sekali simpan)

  1. Daftar di biteship.com, lalu aktifkan kurir yang ingin dipakai di dashboard Biteship (menu Shipping → Configuration) dan ambil API Key (menu Integrasi → Kunci API).
  2. Pengaturan → Pengiriman → tempel API Key Biteship. Begitu API Key terisi, field Kota Asal & daftar kurir langsung aktif — tak perlu menyimpan dulu.
  3. Pilih Kota Asal (gudang) & kurir yang ingin ditawarkan (cari & tambah).
  4. Lengkapi Info Pengirim (nama, no. HP, alamat lengkap, kode pos asal) — wajib untuk membuat order pengiriman.
  5. Titik Lokasi Gudang (di Info Pengirim): tandai lokasi toko/gudang di peta. Wajib bila ingin menawarkan kurir instan (Grab/Gojek); kurir reguler tak memerlukannya.
  6. Salin URL Webhook yang tampil, tempel di dashboard Biteship (Integrasi → Webhook) agar status & resi auto-update.
  7. Klik Simpan sekali. Uji checkout: pelanggan memilih kurir; Anda proses di halaman Pesanan (Kirim / Atur Pickup).
Daftar kurir menampilkan semua kurir yang tersedia untuk akun Biteship Anda (termasuk instan seperti Grab/Gojek). Tarif hanya muncul saat checkout untuk kurir yang benar-benar Anda aktifkan di dashboard Biteship — jadi pastikan kurir sudah diaktifkan di sana.
Kurir instan (Grab/Gojek): butuh titik presisi. Agar muncul di checkout, (1) Anda set Titik Lokasi Gudang di Pengaturan, dan (2) pelanggan menandai lokasi di peta saat checkout. Tanpa penandaan, hanya kurir reguler/kargo yang tampil — itu normal.
Pastikan berat & dimensi produk diisi (form produk) agar ongkir akurat — bila berat kosong dianggap 200g. Memproses via Biteship memesan kurir (biaya nyata, memotong saldo Biteship Anda). Pesanan dari checkout lama yang tak punya data area tujuan tetap bisa diproses dengan input resi manual.

Alur Pesanan & Pemenuhanmulai Starter

Seluruh proses pemenuhan pesanan terpusat di halaman Pesanan. Halaman detail pesanan kini hanya untuk melihat rincian, Scan Keluar (FEFO), lacak paket, dan membatalkan pesanan yang belum dikirim.

Tab & kartu pesanan

  • Tab: Semua, Belum Bayar, Diproses, Dikirim, Selesai, Pengembalian/Pembatalan (tiap tab ada badge angka). Default terbuka: Diproses (atau Belum Bayar bila ada transfer manual menunggu).
  • Tiap kartu menampilkan item + thumbnail + qty + SKU, total dibayar (sudah termasuk biaya pembayaran online), metode bayar spesifik (mis. QRIS, VA BCA, Transfer Manual), dan jasa kirim yang dipilih.
Scan Keluar (FEFO) wajib sebelum kirim. Pesanan yang memuat produk ber-batch tidak bisa ditandai Dikirim atau dibuatkan pengiriman Biteship sebelum seluruh item ber-batch selesai dipindai lewat Scan Keluar di detail pesanan — sistem menolak dengan pesan “Scan Keluar belum lengkap”. Ini menjaga stok batch & data kedaluwarsa tetap akurat. Produk tanpa batch tidak perlu scan.
Dua cara scan (setelan toko): secara default Scan Keluar mewajibkan memindai barcode BATCH (BCH-…) — verifikasi fisik paling akurat. Admin dapat mengaktifkan “Izinkan scan barcode produk (auto-FEFO)” (di Manajemen Stok → Scan Keluar, atau di mobile Mode Gudang → Scan Keluar): memindai barcode produk membuat sistem memilih batch kedaluwarsa terdekat otomatis, sambil menampilkan panduan No. Batch/Kedaluwarsa/Lokasi Rak untuk dicocokkan operator sebelum konfirmasi. Trade-off: lebih praktis, tetapi tak memverifikasi batch fisik seketat scan batch.

Kurir reguler (JNE, J&T, SiCepat, dll)

  1. Klik “Kirim” → muncul pilihan: Otomatis (Biteship) — booking kurir, resi/AWB terbit otomatis; atau Input Resi Manual — untuk toko yang antar/drop-off sendiri ke konter kurir.
  2. Setelah resi terbit, tombol “Cetak Label” muncul → cetak label (resi asli) untuk ditempel. Status pesanan menjadi Dikirim.

Kurir instan / sameday (Grab, Gojek, dll)

  1. “Cetak Label” — cetak dulu untuk tim gudang mengemas. Belum memesan kurir (kurir instan tak pakai AWB, barcode = nomor pesanan).
  2. “Tandai Dikemas” — tekan saat barang selesai dikemas; tombol lalu berubah menjadi “Atur Pickup”.
  3. “Atur Pickup”inilah yang memesan kurir (driver berangkat menjemput). Status menjadi Menunggu Kurir, lalu otomatis Dikirim saat driver mengambil paket.
Biteship menggabungkan “buat order + minta pickup” dalam satu langkah (tak ada trigger pickup terpisah). Karena itu untuk instan, Cetak Label sengaja dipisah agar bisa mengemas dulu; kurir baru dipanggil saat Atur Pickup.

Ukuran label: thermal 10×15 cm. Halaman Preview Cetak punya opsi tampilan (ongkir, SKU, telp/alamat pengirim, sensor nama penerima) yang tersimpan otomatis.

Status & penyelesaian pesanan

  • Belum Bayar → Diproses: saat pembayaran diterima. Untuk transfer manual, setelah Anda “Tandai Lunas” pesanan otomatis maju ke Dikonfirmasi (siap dikemas) — konsisten dengan pembayaran online.
  • Membatalkan hanya bisa sebelum dikirim. Setelah dikirim, tombol batal disembunyikan (muncul info “Sudah Kirim”).
  • Terkirim → Selesai: otomatis 6 hari kalender setelah paket tiba, atau lebih cepat bila pelanggan menekan “Selesai” (konfirmasi pesanan diterima) di portalnya. Jeda ini = kesempatan pelanggan mengajukan komplain/pengembalian sebelum pesanan dikunci.
  • Komplain/pengembalian diajukan pelanggan: di detail pesanan portalnya ada tombol “Ajukan Komplain” yang mengarahkan ke WhatsApp toko (StepyStore bukan marketplace → penanganan langsung & cepat). Tidak ada tombol refund sepihak di dashboard tenant.

Pembatalan & Pengembalian Dana

  • Belum dibayar → pelanggan bisa batalkan langsung (stok kembali otomatis). Tak ada dana.
  • Sudah dibayar → pelanggan “Ajukan Pembatalan” (bukan langsung batal). Muncul di detail pesanan Anda sebagai “Permintaan Pembatalan” (dan badge di daftar pesanan) → tombol “Setujui & Tandai Refund” atau “Tolak”.
  • Siapa menanggung biaya layanan online: dibatalkan pelanggan → dana kembali = nilai pesanan (biaya layanan online tidak dikembalikan); dibatalkan penjual (mis. stok habis, via tombol “Batalkan Pesanan” di detail) → refund penuh termasuk biaya layanan. Transfer manual selalu penuh (tanpa biaya layanan).
  • Penting: StepyStore tidak menyimpan dana pelanggan (uang langsung ke rekening/gateway Anda). Jadi transfer refund dilakukan Anda sendiri (dashboard Midtrans/Tripay atau transfer bank) — sistem hanya mencatat & menghitung nominalnya. Klik “Setujui & Tandai Refund” setelah Anda melakukan transfer.
  • Menyetujui pembatalan otomatis mengembalikan stok & menandai pembayaran Dikembalikan.

Portal pelanggan — Riwayat Pesanan

  • Pelanggan melihat riwayat dengan tab (Belum Bayar, Sedang Dikemas, Dikirim, Selesai, Dibatalkan, Pengembalian) + badge angka, pencarian (nomor pesanan/nama produk), dan detail item (thumbnail, varian, qty).
  • “Beli Lagi” (hanya untuk pesanan Selesai) mengisi keranjang dari pesanan lama dengan harga & stok terbaru; produk yang habis/nonaktif diberi peringatan.
  • “Hubungi Penjual” membuka WhatsApp toko; “Selesai” untuk konfirmasi pesanan diterima.

POS Kasir (Penjualan Offline)mulai Starter

POS Kasir (mulai Starter) memfasilitasi penjualan offline/toko fisik dari dashboard: menu POS Kasir membuka layar kasir fullscreen — cari/scan produk, keranjang, bayar, cetak struk. Transaksi tercatat sebagai pesanan bertipe Offline, langsung Selesai & Lunas, dan stok terpotong otomatis.

Shift kasir (wajib)

  • Setiap transaksi kasir berada dalam shift — dialog Buka Shift muncul otomatis saat masuk POS (isi modal awal laci, boleh 0; pilih gudang bila multi-gudang).
  • Satu shift aktif per kasir — akuntabilitas uang laci per orang.
  • Tutup Shift: hitung uang fisik → sistem membandingkan dengan kas seharusnya (modal awal + penjualan tunai) dan mencatat selisihnya + rekap per metode bayar.
  • Riwayat & rekap semua shift ada di menu Sesi Kasir (Admin/Staf).

Transaksi & stok

  • Scan barcode (scanner USB/keyboard-wedge) atau ketik nama/SKU — Enter langsung menambah item. Hanya produk published yang bisa dijual.
  • Harga mengikuti harga efektif (termasuk Diskon Toko); kasir boleh override harga per item (harga nego). Voucher & diskon nominal bisa diisi di dialog pembayaran.
  • Metode bayar: Tunai (kembalian dihitung otomatis), Transfer, E-Wallet/QRIS, Kartu — dicatat manual tanpa gateway.
  • Produk ber-batch dipotong otomatis mengikuti FEFO dari gudang shift — layar kasir menampilkan batch mana yang harus diambil (kode + exp) agar fisik sesuai sistem. Transaksi ditolak bila stok batch tidak mencukupi.
  • Mode FEFO Ketat (opsional, diaktifkan Admin di halaman Sesi Kasir): kasir wajib memindai barcode batch di dus/karton yang diambil sebelum pembayaran — sistem menolak batch yang bukan urutan FEFO (termasuk split antar-batch). Menjamin barang fisik yang keluar benar-benar batch kedaluwarsa terdekat.
  • Kuota pesanan bulanan paket ikut menghitung transaksi POS.

Struk & koreksi

  • Struk dicetak ke printer thermal 58mm (auto-print; bisa cetak ulang dari Sesi Kasir).
  • Void (khusus Admin, hari yang sama): membatalkan transaksi salah input — stok, batch, dan kuota voucher dikembalikan otomatis; wajib isi alasan. Retur lintas-hari dicatat lewat proses barang masuk terpisah.
Penjualan offline vs online dapat dibandingkan di Laporan → Penjualan (breakdown kanal + laba kotor per kanal), dan dashboard menampilkan kartu Penjualan Offline Hari Ini.
Paket Gratis tidak memiliki POS Kasir (tidak ada modul Pesanan). Upgrade ke Starter untuk mulai melayani penjualan toko fisik.

Integrasi Marketplace (TikTok Shop, Tokopedia, Shopee & Blibli)

Integrasi Marketplace menghubungkan toko marketplace Anda — TikTok Shop, Shopee, dan Blibli — ke StepyStore agar stok, pesanan, & omzet tersinkron otomatis. Satu integrasi TikTok Shop sudah mencakup Tokopedia untuk pasar Indonesia (lewat TikTok Shop Partner). Semua kanal dikelola dari satu dashboard dengan alur yang sama.

Ketersediaan & masa uji coba

  • Penuh mulai paket Growth (Growth, Professional, Enterprise).
  • Paket Starter dapat mencoba 90 hari (dihitung sejak tanggal daftar toko). Setelah masa uji habis, upgrade ke Growth+ untuk melanjutkan.
  • Paket Gratis tidak termasuk uji coba Integrasi Marketplace — paket Gratis belum memiliki modul Pesanan & checkout lengkap yang menjadi prasyarat sinkronisasi pesanan marketplace.

Prinsip: StepyStore = sumber kebenaran stok

  • Master SKU jadi pengikat: tiap SKU di marketplace diikat ke produk/varian StepyStore. Setelah terikat, stok & pesanan tersambung otomatis.
  • Sinkron stok real-time: setiap perubahan stok di StepyStore (penjualan, koreksi, penerimaan) otomatis dikirim ke marketplace — tanpa perlu membuka dashboard. Tombol Sinkronkan Stok hanya untuk rekonsiliasi manual sesekali.
  • Stok yang dikirim = total tersedia lintas semua gudang; pengurangan pesanan marketplace diambil dari gudang pemenuhan yang Anda pilih saat menghubungkan toko.

Impor Katalog dari Marketplace (migrasi produk)

Sudah berjualan di Shopee atau TikTok Shop dan ingin memindahkan katalognya ke StepyStore? Pada halaman koneksi, klik Impor Katalog — sistem menarik produk dari kanal (nama, deskripsi, harga, foto, & varian) lalu membuat produk StepyStore otomatis sekaligus mengikatnya ke kanal. Tinggal pilih produk di pratinjau, lalu Impor.

  • Hanya produk aktif/tayang yang ditarik (produk nonaktif/draf/dihapus di kanal dilewati).
  • Produk baru dibuat berstatus Draft — Anda tinjau (nama/kategori/foto) lalu Publish. Foto disimpan di server Anda (dikompres otomatis).
  • SKU yang sudah ada (cocok Master SKU) tidak dibuat ulang — hanya ditautkan ke kanal; data produk Anda tidak diubah. Pratinjau otomatis mencentang hanya yang belum ada.
  • Produk bervarian (mis. ukuran/warna) menjadi satu produk dengan beberapa varian, masing-masing punya SKU & harga sendiri.
  • Stok tidak diimpor — produk hasil impor berstok 0; isi stok lewat Stok Opname / Stok Masuk (Batch) setelahnya. Impor juga mematuhi kuota produk paket.
Menekan Impor Katalog hanya menampilkan pratinjau — tidak ada yang dibuat sampai Anda menekan tombol Impor. Aman dibuka untuk melihat. Urutan migrasi yang disarankan: Impor Katalog → isi stok (Opname/Batch) → (toko sudah terhubung, sinkron berjalan).

Push ke Marketplace (buat listing dari produk StepyStore)

Kebalikan dari Impor Katalog: sudah punya produk di StepyStore dan ingin menjualnya di marketplace? Di halaman Produk, centang produk lalu klik Push ke Marketplace — StepyStore membuat listing di kanal sebagai draf (tidak langsung tayang) lengkap dengan nama, deskripsi, harga, foto, & berat, sekaligus mengikat SKU-nya ke kanal.

  • Selalu dibuat sebagai draf. StepyStore tidak menayangkan listing secara langsung — Anda meninjau & menayangkannya sendiri di Seller Center kanal. Ini disengaja agar aman dari salah tayang dan Anda bisa melengkapi detail khas kanal (kategori/atribut) sebelum tayang.
  • Hanya produk aktif (Published) yang lengkap — punya nama, harga, berat, & minimal satu foto — yang diproses; produk yang belum lengkap dilewati dengan keterangan.
  • SKU otomatis tertaut. Begitu Anda tayangkan draf di Seller Center, sinkron stok & pesanan langsung aktif — tanpa perlu mengikat SKU manual lagi.
  • Anti-ganda. Produk yang sudah terhubung ke kanal tujuan otomatis dilewati (tidak dibuat listing kembar). Dialog menampilkan di depan berapa produk yang akan dibuat dan berapa yang dilewati.
  • Ketersediaan: mulai paket Growth. Saat ini mendukung TikTok Shop untuk produk tunggal (kanal & produk bervarian menyusul).
Setelah di-push, buka Seller Center kanal untuk meninjau & menayangkan draf. Sebagian kategori kanal mewajibkan atribut tertentu yang perlu Anda lengkapi di sana sebelum tayang. Menayangkan listing tetap menjadi keputusan Anda di masing-masing kanal.

Naikkan Produk (Boost) — Shopee

Di halaman koneksi Shopee, tab Naikkan Produk: pilih hingga 5 SKU yang ingin “dijaga selalu naik” ke atas hasil pencarian toko (fitur organik gratis Shopee, berlaku ~4 jam per boost).

  • Naik ulang otomatis tiap 4 jam. Anda cukup memilih produknya sekali — sistem menaikkannya kembali secara berkala tanpa perlu Anda ulang manual.
  • Maksimum 5 produk aktif sekaligus (batas kanal). Hapus salah satu untuk mengganti.
  • Hanya SKU yang sudah terikat ke Shopee yang bisa dinaikkan. Status & hitung mundur boost berikutnya tampil per produk.

Sinkronisasi stok yang aman saat pertama menghubungkan

  • Pesanan lama tidak mengubah stok. Saat toko pertama terhubung, pesanan yang dibuat di marketplace sebelum toko terhubung hanya dicatat untuk laporan & omzettidak mengurangi stok. Barangnya sudah keluar (atau tidak pernah keluar, mis. dibatalkan) sebelum sinkronisasi dimulai, sehingga memotong stoknya akan keliru. Pesanan seperti ini diberi catatan penanda “pesanan historis sebelum integrasi”.
  • Hanya pesanan baru yang menyesuaikan stok. Pesanan yang masuk setelah toko terhubung otomatis mengurangi stok sesuai jumlahnya.
  • Pesanan batal tidak mengurangi stok. Pesanan yang dibatalkan — termasuk yang belum dibayar lalu dibatalkan otomatis oleh marketplace — tidak memotong stok. Bila sebuah pesanan sempat mengurangi stok lalu dibatalkan, stoknya dikembalikan otomatis (sekali, tidak dobel).

SOP agar stok tetap rapi

  • Samakan stok sebelum menghubungkan. Pastikan stok di StepyStore sudah sesuai hitungan fisik (lakukan Stok Opname bila perlu) sebelum menghubungkan marketplace. Sejak terhubung, StepyStore menjadi acuan stok untuk semua kanal.
  • Kelola stok dari satu tempat. Setelah terhubung, ubah stok hanya dari StepyStore (penjualan, penerimaan, koreksi, opname). Hindari mengubah stok secara manual di Seller Center agar tidak terjadi selisih.
  • Bila stok fisik berbeda dari sistem, samakan lewat Stok Opname ke hitungan fisik — bukan menebak. Telusuri penyebabnya di Laporan → Lalu Lintas Stok: filter per SKU, per staf pada kolom Oleh, dan ringkasan Koreksi Stok per Alasan. Selisih umumnya berasal dari operasional harian (mis. penjualan kasir/offline yang belum diinput), bukan dari sinkronisasi.
Menekan Tarik Pesanan kapan pun aman. Menarik pesanan berulang tidak memotong stok dua kali: pesanan lama tetap tercatat sebagai riwayat tanpa menggerakkan stok, dan pesanan yang sudah tersinkron tidak diproses ulang.

Pesanan & omzet

  • Pesanan marketplace masuk otomatis (webhook) & tercatat di halaman Pesanan dengan badge kanal, serta di Laporan → Penjualan (omzet per kanal).
  • Omzet bersih (settlement) — nilai yang benar-benar Anda terima setelah dipotong komisi platform & biaya transaksi — terisi otomatis setelah pesanan settle (pasca-kirim/selesai).

Pemenuhan terpusat di halaman Pesanan

Seluruh pemenuhan pesanan marketplace dilakukan dari StepyStore — bukan dari Seller Center. Di halaman Pesanan, kartu pesanan berbadge kanal menyediakan Atur Pengiriman (Jemput/Drop-off), Cetak Label, dan Lacak Pesanan (di detail pesanan). Seller Center kanal cukup Anda buka untuk tarik dana, iklan, & promosi.

  • Status pesanan mengikuti lifecycle kanal: Belum Bayar → Ditahan → Siap Kirim → Menunggu Kurir → Dikirim → Terkirim → Selesai. Status diperbarui otomatis lewat webhook.
  • Tombol Atur Pengiriman hanya muncul saat status Siap Kirim (paket sudah terbit). Saat masih Ditahan/Belum Bayar, muncul penanda “Belum siap dikirim”.
  • Cetak Label: untuk pengiriman Instan/SPX (Shopee) label bisa dicetak lebih awal; untuk pengiriman reguler label tersedia setelah atur kirim & sebelum kurir menjemput — di luar rentang itu label memang tidak bisa dicetak (aturan kanal). Label Shopee tersedia dalam format A6 thermal.

Data pelanggan per kanal

Pelanggan dari pesanan marketplace muncul di halaman Pelanggan pada tab tiap kanal — TikTok Shop & Tokopedia, Shopee, dan Blibli (terpisah dari tab Storefront). Demi privasi, marketplace menyamarkan nama & kontak pembeli; StepyStore mengelompokkannya otomatis per akun pembeli (ID unik) sehingga Anda tetap dapat melihat jumlah pesanan & total belanja tiap pelanggan.

Cukup kelola dari satu tempat. Sinkron stok, terima pesanan, atur kirim, cetak label, lacak, sampai data pelanggan — semua di StepyStore. Tidak perlu bolak-balik ke Seller Center untuk operasional harian.
Hubungkan ulang toko hanya jika ada fitur baru yang butuh izin tambahan. Saat pertama menghubungkan, Anda memberi StepyStore izin akses tertentu ke toko marketplace (lewat OAuth resmi; token disimpan terenkripsi). Jika suatu saat StepyStore merilis fitur baru yang memerlukan izin lebih — misalnya atur kirim atau lacak paket — Anda akan diminta menghubungkan ulang toko (cukup klik Hubungkan lagi pada koneksi yang sama) supaya izin baru itu ikut diberikan.

Langkah menghubungkan & mengikat SKU ada di Panduan → Integrasi Marketplace.

Portal Direct Salesmulai Professional

Definisi. Modul untuk toko dengan tim direct sales (tenaga penjualan lapangan). Tiap sales punya akun login & portal sendiri untuk meng-input pesanan atas nama pelanggan; pesanan masuk ke alur Pesanan/Gudang yang sama seperti pesanan biasa. Tersedia mulai paket Professional.

  • Sakelar aktif/nonaktif. Modul bisa dinyalakan/dimatikan per-toko di Pengaturan → tab Umum → “Modul Direct Sales” (default aktif). Saat Nonaktif, menu Direct Sales disembunyikan dan seluruh akses portal/aksi sales ditolak — berguna bagi toko yang tak memakai tim direct sales. Sakelar hanya muncul pada paket yang memiliki fiturnya (Professional+).
  • Akun sales = pengguna dengan peran direct sales + profil (ID DS acak berupa kombinasi huruf & angka, mis. DS-K7MP9Q — bukan nomor urut, agar jumlah tim tak mudah ditebak; area, supervisor, target bulanan). Dibuat oleh Admin/Pemilik di menu Direct Sales → Tim Direct Sales. Saat login, akun ini hanya melihat portal sales (Beranda, Buat Pesanan, Pesanan Saya) — bukan menu operasional toko.
  • Atribusi pesanan. Pesanan yang dibuat sales ditandai kanal Direct Sales dan tertaut ke ID sales pembuatnya, sehingga performanya terhitung. Pesanan tetap tampil di menu Pesanan untuk diproses Gudang seperti biasa.
  • Kontrol stok. Sales hanya bisa memesan sesuai stok tersedia di gudang; jumlah melebihi stok ditolak. Stok dipotong saat pesanan dibuat (mekanisme sama dengan pesanan manual/storefront, anti-oversell).
  • Dasar performa. Omzet sales dihitung dari pesanan berstatus Selesai (sampai ke pelanggan). Metrik: omzet terealisasi, pesanan berjalan, nilai rata-rata (AOV), dan % pencapaian target bulanan. Supervisor/Pemilik melihat leaderboard seluruh tim di Direct Sales → Performa Tim.
  • Siklus akun. Menonaktifkan akun sales (status Nonaktif) mencabut sesinya (logout paksa) & memblokir input pesanan. Menghapus akun tidak menghapus riwayat pesanannya (atribusi dilepas) agar omzet toko tetap utuh. Reset kata sandi juga memaksa sales login ulang.
Cara memakainya langkah demi langkah ada di Panduan → Portal Direct Sales.

Modul Curah & Repack (Add-on)

Modul untuk toko yang membeli komoditas dalam kemasan besar (beras karungan 50kg, gula, minyak, pakan) lalu menjualnya kembali sebagai kemasan eceran (kg/liter) dan eceran timbang dari bak. Semua lalu lintas stok, HPP, dan selisih (susut) tercatat otomatis.

Ketersediaan (add-on berbayar)

  • Dibeli terpisah di menu Add-on — langganan bulanan/tahunan sendiri, di luar paket utama. Minimal paket Starter.
  • Aktif otomatis setelah pembayaran terkonfirmasi (maksimal ±5 menit). Menu Curah & Repack lalu muncul di sidebar.
  • Saat masa add-on habis: menu & fitur nonaktif, tetapi seluruh data tetap tersimpan — aktif kembali begitu diperpanjang. Perpanjangan menumpuk sisa hari.

Konsep: induk & turunan

  • Produk induk curah = produk kemasan besar (karung 50kg). Modelkan per JENIS/GRADE yang Anda pajang ke pelanggan (mis. Beras Medium / Super / Premium 50kg), bukan per merek. Merek yang berbeda-beda tiap belanja diisi di kolom “Merek” saat penerimaan (khusus produk curah) — harga modal grade otomatis dirata-rata, dan rekapnya tampil di Riwayat Pembelian per Merek. Karung utuh juga bisa dijual.
  • Produk turunan = produk kemasan eceran hasil kemas ulang (2,5kg, 5kg, 10 liter, dst.) — masing-masing produk berdiri sendiri dengan SKU, harga, foto, dan halaman storefront sendiri, sehingga bisa dijual online maupun offline (POS).
  • Bak eceran = turunan khusus untuk jual timbang per kg di POS Kasir (pembeli bisa beli 1,5 kg). Maksimal satu bak per induk.
  • Kemasan literan dikonversi otomatis ke kg memakai rasio kg/liter yang Anda atur per induk (beras ±0,80 kg/L).

Aturan sistem

  • Induk & turunan wajib produk tanpa varian; turunan tidak memakai batch — jejak batch ada di sesi repack & riwayat mutasi.
  • Stok & harga modal induk diisi lewat penerimaan: Penerimaan Barang (paket Growth+) atau Stok Masuk (Batch) di menu Produk. Induk menjadi ber-batch (FEFO) bila saat terima diisi Nomor Batch atau tanggal kedaluwarsa; jika tidak, non-batch (rata-rata saja).
  • Wajib isi harga beli saat penerimaan. HPP/kg induk baru terisi setelah barang masuk berharga. Membongkar sebelum itu membuat HPP kemasan Rp0 & laba tidak akurat — sistem memberi banner peringatan di draft.
  • Stok turunan hanya bertambah lewat Sesi Repack (bukan pembelian). Bongkar butuh stok induk mencukupi — posting ditolak bila kurang.
  • HPP turunan dihitung otomatis: isi kg kemasan × HPP/kg induk (harga modal karung ÷ isi kg), digabung rata-rata bergerak bila sudah ada stok lama. Riwayatnya tercatat di Laporan Harga Modal (sumber repack).
  • Produk turunan lahir berstatus Draft — tidak muncul di storefront maupun POS Kasir sampai diubah ke Aktif (termasuk bak eceran).
  • Susut = selisih input − output saat bongkar + penyesuaian minus dari Stok Opname pada keluarga curah. Lihat Laporan → Susut (kg & rupiah).
  • Sesi yang sudah diposting tidak bisa diubah. Koreksi: Void (hanya hari yang sama, oleh Admin, dan selama hasil repack belum terjual) atau Stok Opname.
Pencatatan keuangan tetap rapi. Nilai persediaan berpindah dari karung ke kemasan eceran dengan HPP proporsional; yang hilang di jalan (tumpah/tercecer/selisih timbang) muncul sebagai susut bernilai rupiah — tidak lagi jadi selisih misterius di laporan laba.
Catat bongkaran lewat Sesi Repack, jangan koreksi stok manual. Koreksi manual tidak menghitung HPP turunan & tidak tercatat sebagai susut, sehingga laporan laba jadi tidak akurat.

Add-on & masa langganan paket

  • Add-on Curah & Repack berjalan mandiri dengan masa berlakunya sendiri, terpisah dari paket langganan (Starter/Growth/dst).
  • Saat masa tenggang paket (langganan berakhir, belum diperpanjang): dashboard dikunci ke halaman Tagihan, jadi semua modul—termasuk Curah & Repack—tak bisa dibuka sementara. Storefront tetap online. Perpanjang paket untuk memulihkan akses.
  • Bila paket turun ke Gratis (tenggang lewat): add-on tetap aktif sampai masa add-on-nya sendiri habis — modul Curah & Repack tetap bisa dipakai walau di paket Gratis. Terima stok tetap bisa lewat Stok Masuk (Batch) (isi kolom Merek). Yang hilang adalah fitur paket-nya (mis. Penerimaan Barang/Pembelian di Growth, atau modul Pesanan di Starter).
  • Saat add-on-nya sendiri habis: menu Curah & Repack nonaktif (maks 5 menit), data tetap aman. Untuk beli/perpanjang add-on lagi, paket harus minimal Starter — bila sedang di Gratis, upgrade paket dulu baru perpanjang add-on.

Langkah pemakaian ada di Panduan → Curah & Repack.

Impor & Ekspor Produk (CSV/Excel)

Kelola banyak produk sekaligus lewat berkas: Produk → Import (unggah) dan tombol Export CSV (unduh). Mendukung CSV & Excel (.xlsx), maksimal 5 MB dan 2.000 baris per unggahan (katalog lebih besar → pecah menjadi beberapa berkas).

Export CSV (unduh katalog)

Tombol Export CSV di halaman Produk mengunduh seluruh produk dengan kolom yang sama persis dengan format impor. Gunanya: cadangan (backup) dan edit massal — unduh, ubah di Excel, lalu impor lagi dengan mode update. Berkas memakai BOM UTF-8 agar aksara Indonesia tampil benar di Excel.

Kolom berkas

KolomWajib?Keterangan
nameWajibNama produk.
priceWajibHarga jual (angka).
skuOpsionalMaster SKU. Kosongkan → dibuat otomatis (unik). Tidak bisa diubah setelah dibuat.
barcodeOpsionalKode barcode (EAN/UPC). Dilewati bila sudah dipakai produk lain (tak memblokir baris).
brandOpsionalMerek produk.
unitOpsionalSatuan (pcs, dus, kg, …). Default: pcs.
cost_priceOpsionalHarga modal awal. Selanjutnya diperbarui otomatis (rata-rata bergerak) saat barang masuk.
category_nameOpsionalNama kategori. DIBUAT OTOMATIS bila belum ada.
statusOpsionaldraft atau published (default draft).
description, tagsOpsionalDeskripsi & tag (tags dipisah koma).
weight, length, width, heightOpsionalBerat (gram) & dimensi (cm) untuk ongkir.
image_url_1..3OpsionalLink foto utama (1) & tambahan (2,3).

Yang TIDAK diimpor (dikelola modul lain)

  • Stok — tambahkan lewat Stok Masuk (Batch) / Penerimaan Barang agar batch & kedaluwarsa tercatat.
  • Harga diskon (sale_price) — diatur lewat Pusat Promosi → Diskon Toko (otomatis diterapkan ke produk).
  • Varian — produk varian diimpor sebagai produk biasa dulu, lalu atur opsi & varian-nya di Tabel Varian (Edit Produk).

Mode “Update produk jika SKU sudah ada”

Aktifkan toggle ini agar baris dengan SKU yang sudah ada memperbarui produk tersebut (bukan ditolak). SKU sendiri tidak berubah. Bila kolom cost_price diisi, harga modal diperbarui & tercatat di Laporan → Harga Modal (sumber “Import CSV”); bila dikosongkan, harga modal lama dipertahankan.

Hasil import menampilkan jumlah berhasil/gagal beserta alasan per baris + tombol “Unduh baris gagal (CSV)” untuk memperbaiki lalu impor ulang. Baris gagal tak menghentikan baris lain. SKU duplikat dalam satu berkas otomatis ditolak (baris pertama menang).
Import mematuhi kuota produk paket (baris baru yang melebihi sisa kuota dilewati; baris mode update tidak dihitung). Baris tanpa SKU selalu dibuat sebagai produk BARU saat impor ulang (tak bisa dicocokkan untuk update) — agar impor ulang bebas duplikat: isi SKU, atau impor sekali lalu pakai berkas hasil Export CSV (sudah berisi SKU) sebagai master. Simpan CSV sebagai UTF-8.

Koreksi Stok & Terima Retur

Ada empat jalur mengubah stok di Manajemen Stok, masing-masing untuk kondisi berbeda:

  • Stok Masuk (Batch)barang masuk baru (beli dari supplier). Wajib lewat sini agar batch & kedaluwarsa tercatat (dipakai FEFO).
  • Terima Retur — barang dikembalikan pelanggan. Pilih Kondisi tiap barang: Layak Jual (masuk kembali jadi stok) atau Rusak/Tak Layak (dicatat sebagai kerugian retur, stok jual tak bertambah). Tidak mengubah Harga Modal. (khusus Admin/Super Admin)
  • Koreksi Stokhanya mengurangi stok karena kejadian di dalam gudang (bukan retur): barang rusak/pecah saat penyimpanan (mis. terkena rayap/lembap), hilang/susut, kedaluwarsa dibuang, koreksi selisih hitung, atau sampel/pemakaian internal. Wajib pilih alasan (tercatat siapa·kapan·alasan). (khusus Admin/Super Admin)
  • Stok Opname — hitung fisik banyak produk terstruktur → posting selisih (naik/turun). (mulai Starter)
Pengembalian diproses di LUAR sistem. Kesepakatan retur (pelanggan mengajukan, negosiasi, ongkir balik/kirim ulang) dilakukan langsung antara pelanggan & toko lewat tombol “Hubungi Penjual” (WhatsApp) di portal pelanggan. Modul Terima Retur di dashboard hanya untuk mencatat barangnya kembali ke stok saat fisik sudah tiba di gudang Anda.
Terima Retur vs Koreksi Stok. Barang yang dikembalikan pelanggan selalu lewat Terima Retur — bila rusak, cukup pilih Kondisi “Rusak/Tak Layak”, tak perlu Koreksi Stok lagi (stok jual sudah benar turun sejak terjual). Koreksi Stok khusus barang rusak/hilang/susut yang terjadi di gudang, bukan dari pelanggan.
Menambah stok tidak bisa lewat Koreksi (Koreksi = kurangi saja) — gunakan Stok Masuk (Batch)/Penerimaan atau Stok Opname. Untuk produk ber-batch, pengurangan Koreksi otomatis memotong batch fisik secara FEFO (kedaluwarsa terdekat dulu) → Lihat Batch & Stok Opname tetap konsisten.

Status Stok: Menipis & Habis

Sistem menandai produk yang perlu perhatian agar Anda cepat restok:

  • Habis — stok produk 0.
  • Menipis — stok masih ada tetapi sudah menyentuh/di bawah ambang minimum.
Ambang “menipis” = Stok Minimum produk bila Anda mengaturnya (mis. 10); bila belum diatur (kosong/0), dipakai bawaan 5. Atur per produk di Produk → (edit) → Stok Minimum — mis. produk laris diberi ambang lebih tinggi agar diperingatkan lebih awal.

Penanda ini muncul di beberapa tempat:

  • Dashboard — kartu Total Produk menampilkan chip “N menipis”/“N habis” (paket berbayar); pada paket Gratis jadi kartu Stok Menipis & Stok Habis tersendiri. Klik menuju daftar produk terkait.
  • Daftar Produk — badge Stok Menipis/Habis di bawah angka stok, dan kartu ringkasan Stok Habis bisa diklik untuk memfilter.
  • Manajemen Stok — status per produk (Menipis/Habis) beserta filternya.
Aturannya konsisten di semua tampilan: produk yang terhitung “menipis” di dashboard sama dengan yang ber-badge “Stok Menipis” di daftar produk.

Penerimaan Barang: Dua Jalur

Ada dua jalur mencatat barang masuk baru (menambah stok sekaligus membuat batch & barcode). Keduanya menulis ke data inti yang sama (stok, batch, kedaluwarsa/FEFO, riwayat mutasi), jadi hasilnya setara & saling kompatibel — yang berbeda hanya kelengkapan proses & metadata asal barang.

  • Stok Masuk (Batch) (semua paket) — jalur cepat tanpa dokumen. Buka Manajemen Stok → Stok Masuk (Batch), pilih banyak produk sekaligus, isi jumlah + tanggal kedaluwarsa, simpan. Stok & batch langsung jadi.
  • Penerimaan Barang (mulai Growth) — jalur lengkap berdokumen. Buat dokumen penerimaan (Draft) dengan data supplier, no. invoice, upload file invoice/surat jalan, bisa dari Purchase Order; baru Selesaikan untuk menambah stok.

Persamaan

  • Sama-sama menambah stok jual dan membuat batch (nomor batch, barcode, sisa qty, gudang).
  • Sama-sama mengisi Kedaluwarsa/FEFO, Lihat Batch, dan Riwayat Mutasi (tercatat sebagai “Masuk”).
  • Sama-sama mendukung varian dan multi-gudang (pilih gudang tujuan).
  • Sama-sama memperbarui harga modal (rata-rata bergerak) bila harga beli/unit diisi saat barang masuk.
Perbedaan penting: hanya jalur Penerimaan Barang (Growth+) yang mencatat rincian faktur (bonus, PPN/PKP, diskon, cashback) dan membuat Hutang Dagang otomatis. Selengkapnya di bagian Pembelian, Faktur & Hutang Dagang.

Perbedaan

AspekStok Masuk (Batch)Penerimaan Barang
Nomor batch/lotOtomatis (LOT-…)Bisa ketik nomor lot asli dari supplier (lebih akurat untuk FEFO & penarikan)
BarcodeBarcode batch selalu dibuatGenerate opsional; bisa disimpan ke barcode master produk saat Selesaikan
Data supplier & dokumenHanya catatan teksSupplier, no. invoice, upload file invoice/surat jalan
Tahap koreksiLangsung jadi saat SimpanDraft dulu (edit/koreksi) → stok bertambah saat Selesaikan
Purchase OrderTidak terhubung POBisa dari PO → update qty diterima & status PO (terima sebagian)
Cetak labelTidak ada cetak per-dokumenHalaman Cetak Label barcode semua item (A4)
KetersediaanSemua paketMulai paket Growth
Upgrade aman. Saat tenant Starter naik ke Growth+, semua stok & batch yang dulu diinput lewat Stok Masuk (Batch) tetap utuh dan tampil normal di Manajemen Stok, Lihat Batch, Kedaluwarsa, dan Riwayat Mutasi. Yang berbeda hanya: batch lama itu tidak muncul sebagai dokumen di daftar Penerimaan Barang (karena dibuat tanpa dokumen) — jejaknya tetap ada di Riwayat Mutasi.
Growth+ punya dua jalur. Tombol Stok Masuk (Batch) tetap tersedia sebagai jalan cepat; untuk penerimaan lengkap (supplier/invoice/PO) gunakan halaman Penerimaan Barang. Saat membuka Stok Masuk (Batch), paket Growth+ akan melihat pengingat berisi tautan ke halaman Penerimaan Barang.

Harga Modal & HPP

Ada dua jenis angka biaya yang sering tertukar. Memahami bedanya penting agar laporan laba akurat.

  • Harga Modal (produk) — di form Tambah/Edit Produk (“Harga Modal”). Ini angka acuan per produk yang dipakai menghitung HPP & laba di Laporan Keuangan.
  • Harga Satuan / Harga Modal per unit (saat barang masuk) — di Stok Masuk (Batch), Penerimaan Barang, dan Purchase Order. Ini harga beli pada kedatangan itu (boleh beda tiap kali belanja).

Bagaimana keduanya tersambung (rata-rata bergerak)

Setiap kali Anda memasukkan barang dengan harga beli terisi (lewat Stok Masuk Batch atau Penerimaan Barang), sistem otomatis memperbarui Harga Modal produk memakai metode rata-rata bergerak (weighted moving average):

Harga Modal baru = (stok lama × modal lama + qty masuk × harga beli) ÷ (stok lama + qty masuk)
  • Cocok saat harga beli supplier sering naik: biaya stok lama (yang dibeli lebih murah) & barang baru dibaurkan, sehingga laba mencerminkan biaya rata-rata stok yang benar-benar Anda pegang.
  • Anda tidak perlu mengisi Harga Modal produk manual lagi — cukup isi harga beli saat barang masuk, sistem yang menghitung.

Melacak perubahan harga (Laporan → tab Harga Modal)

Setiap perubahan harga modal dicatat dan bisa dilacak di Laporan → tab Harga Modal, lengkap dengan kolom: Sumber, Qty Masuk, Harga Beli (harga kedatangan itu), Modal Sebelum, Modal Sesudah (rata-rata yang dipakai laporan), dan Δ Modal (% naik/turun). Bisa dicari per produk, difilter periode, dan diekspor CSV. Sumber perubahan bisa berupa:

  • Stok Masuk (Batch) & Penerimaan Barang — saat barang masuk dengan harga beli terisi.
  • Edit Manual — saat Anda mengubah Harga Modal sendiri di form produk (lihat di bawah).

Mengubah harga modal manual (mis. supplier umumkan kenaikan sebelum Anda beli)

Di Edit Produk, field Harga Modal kini dikelola otomatis (read-only). Untuk menyetel sendiri — misalnya supplier memberi tahu kenaikan harga lebih awal sebelum Anda membeli — aktifkan toggle “Ubah manual”, isi nilainya, lalu simpan. Perubahan itu langsung berlaku & tercatat di Laporan Harga Modal sebagai sumber “Edit Manual”.

Harga beli per kedatangan tetap tersimpan di tiap batch (lihat “Lihat Batch” / Laporan Kedaluwarsa untuk nilai stok berisiko). Harga Modal produk adalah rata-ratanya yang dipakai laporan laba.
Karena Harga Modal dikelola otomatis, mengedit field produk lain tidak akan mengubahnya (aman). Perubahan modal hanya terjadi lewat barang masuk atau toggle “Ubah manual”. Catatan: Laporan Keuangan memakai harga modal terkini untuk seluruh pesanan — jadi setiap perubahan modal ikut menyesuaikan laba periode berjalan (wajar untuk metode rata-rata bergerak).

Pembelian: Supplier, Penerimaan Barang & Hutang Dagang

Modul Pembelian mencatat pengadaan barang dari supplier secara menyeluruh — mulai dari data pemasok, pesanan pembelian, penerimaan barang beserta faktur, hingga hutang dagang yang terbentuk otomatis. Tersedia mulai paket Growth.

Alur singkat

Supplier (data pemasok) → Purchase Order (pesanan, opsional) → Penerimaan Barang (barang datang + faktur) → Hutang Dagang (tagihan yang harus dibayar) → Pembayaran (lunas / cicil).

1. Supplier & Termin Pembayaran

Di menu Supplier, simpan data tiap pemasok (nama, kontak, alamat) beserta Termin Pembayaran:

  • Tunai / COD — dibayar saat barang diterima. Hutang dagang yang terbentuk otomatis berstatus Lunas pada hari itu.
  • Tempo (kredit N hari) — dibayar belakangan. Sistem menghitung tanggal jatuh tempo = tanggal terima + jumlah hari yang Anda tetapkan.

2. Penerimaan Barang & Rincian Faktur

Di halaman Penerimaan Barang, buat dokumen penerimaan (isi supplier & no. faktur), tambahkan produk yang datang, lalu Selesaikan. Saat menambah tiap produk, tersedia isian yang membuat pencatatan sesuai faktur asli:

  • Qty Dibayar — jumlah unit yang Anda bayar.
  • Harga Kotor / Unit — harga satuan di faktur (menerima 2 angka desimal, mis. 44.504,50).
  • Diskon % — potongan harga untuk produk itu (dari faktur). Menentukan harga bersih (net) per unit.
  • Qty Bonus (produk sama) — unit gratis dari produk yang sama (mis. beli 60 gratis 4). Menambah stok dan menurunkan harga modal karena total biaya dibagi ke lebih banyak unit.
  • Centang “Bonus” — untuk produk gratis yang beda jenis/ukuran (mis. beli air 330ml dapat bonus 600ml). Barang masuk stok tanpa biaya, dan harga modal rata-rata produk bonus itu ikut turun.
Barang bonus/gratis membuat harga modal lebih akurat. Karena Anda menerima lebih banyak barang untuk uang yang sama, harga modal rata-rata turun — sehingga margin/laba yang dihitung sistem lebih tepat.

3. Rincian Keuangan Faktur (PPN, diskon, cashback, total)

Pada kartu Rincian Invoice Supplier, lengkapi angka di level faktur:

  • PPN (%) — tarif pajak di faktur (mis. 11). Untuk toko non-PKP (tidak mengkreditkan PPN), PPN otomatis masuk ke harga modal. Untuk toko PKP, centang “Toko PKP” agar PPN tidak masuk harga modal (karena bisa dikreditkan).
  • Diskon Invoice (Rp) — potongan di level faktur yang tidak terikat produk tertentu (mis. diskon global/pembulatan). Mengurangi total tagihan, tidak mengubah harga modal.
  • Cashback / Rebate (Rp) — potongan dari supplier (mis. karena mencapai target penjualan). Mengurangi total tagihan, tidak mengubah harga modal.
  • Total Invoice (Rp) — dihitung otomatis (Subtotal − Diskon + PPN − Cashback). Kosongkan untuk memakai hitungan otomatis; isi hanya bila ingin menyamakan persis dengan total di faktur fisik (mis. pembulatan).
Diskon Invoice & Cashback tidak mengubah harga modal per produk. Keduanya mengurangi jumlah yang harus dibayar (Hutang Dagang). Nilai penghematan ini nantinya masuk sebagai pendapatan lain / potongan pembelian di laporan keuangan — bukan menempel pada satu produk, agar margin tiap produk tetap akurat. Potongan yang menempel pada produk diisi lewat Diskon % saat menambah item.

4. Harga Modal Otomatis (rata-rata bergerak)

Saat penerimaan Diselesaikan, harga modal tiap produk diperbarui otomatis dengan metode rata-rata bergerak — memperhitungkan harga beli net, PPN (bila non-PKP), serta unit bonus/gratis (yang menurunkan modal). Perubahan ini langsung tercermin di:

  • Harga & Profitabilitas → kolom Harga Modal & margin per SKU.
  • Harga & Profitabilitas → Riwayat Harga Modal → jejak tiap perubahan (Harga Beli, Modal Sebelum/Sesudah, Δ Modal), dengan sumber “Penerimaan Barang”.
  • Laporan laba (HPP) — sehingga laba tetap akurat di semua kanal (Toko, POS, Marketplace).
Harga modal hanya berubah saat penerimaan Diselesaikan — selama masih Draft, data hanya tersimpan. Setelah Selesai, item tidak dapat diedit lagi (stok sudah diperbarui).

5. Hutang Dagang Otomatis

Begitu penerimaan Diselesaikan dan supplier terisi, sistem otomatis membuat Hutang Dagang senilai Total Invoice, mengikuti termin supplier:

  • Tunai / COD → langsung berstatus Lunas.
  • Tempo → berstatus Belum Bayar dengan tanggal jatuh tempo; bisa dibayar penuh atau dicicil, dan riwayat pembayaran tercatat.

Di halaman Hutang Dagang, empat kartu ringkasan memudahkan pemantauan:

  • Sisa Hutang = yang masih harus dibayar (total − sudah dibayar). Rp0 berarti tidak ada hutang berjalan (mis. semua COD sudah lunas).
  • Total Tagihan = seluruh nilai faktur (termasuk yang sudah lunas) — nilai kumulatif, bukan sisa hutang.
  • Sudah Dibayar dan Jatuh Tempo (nilai yang lewat tempo & perlu segera dibayar).

Halaman Penerimaan Barang & Hutang Dagang dilengkapi pencarian, filter rentang tanggal, halaman (pagination), dan Export CSV untuk kebutuhan rekap & audit.

Satu kali input, langsung lengkap. Selesaikan penerimaan → stok bertambah, batch/kedaluwarsa tercatat (FEFO), harga modal diperbarui, dan Hutang Dagang terbentuk otomatis — tanpa input ganda.

Stok Tertaut

Fitur untuk menjual satu stok fisik sebagai beberapa SKU berbeda dengan harga & harga modal masing-masing. Contoh umum depot air galon: satu persediaan galon dijual sebagai “Galon + Isi”(galon baru) dan sebagai “Isi Ulang” (tukar/refill) — keduanya mengambil dari stok fisik yang sama.

Konsep: produk sumber & produk tertaut

  • Produk sumber = produk yang memegang stok fisik sebenarnya (mis. Galon + Isi).
  • Produk tertaut = SKU lain yang stoknya mengikuti produk sumber (mis. Isi Ulang). Produk tertaut punya harga jual & harga modal sendiri, sehingga margin tiap cara jual tercatat benar.
  • Rasio = berapa unit sumber yang terpakai per 1 penjualan produk tertaut (galon = 1).

Cara mengatur

  • Buat dua produk terpisah, mis. “Galon 19L + Isi” (sumber) dan “Isi Ulang Galon 19L” (tertaut), masing-masing dengan harga jual & harga modalnya.
  • Di halaman Produk, buka menu (⋮) pada produk tertaut → Atur Stok Tertaut → pilih produk sumber & isi rasio → Simpan.
  • Produk tertaut lalu diberi badge “Tertaut” pada daftar Produk.

Cara kerja stok

  • Menjual produk tertaut otomatis mengurangi stok produk sumber (× rasio) — berlaku di POS Kasir, storefront, dan marketplace, sehingga stok yang tampil selalu sama dengan stok fisik dan aman dari kelebihan jual (oversell).
  • Pembatalan/void mengembalikan stok ke produk sumber secara otomatis.
  • Stok produk tertaut selalu mencerminkan ketersediaan produk sumber (bukan stok terpisah).

Di mana produk tertaut ditampilkan

  • Ditampilkan di: POS Kasir (untuk dijual), halaman Produk (untuk konfigurasi), Harga & Profitabilitas, dan Penerimaan Barang (untuk mencatat harga modal pembelian produk tertaut, mis. isi ulang).
  • Disembunyikan dari modul yang mengelola stok fisik — Manajemen Stok, Stok Masuk, Koreksi Stok, Transfer Stok, dan Stok Opname — karena produk tertaut tidak memiliki stok sendiri (semua operasi stok dilakukan pada produk sumber). Ini mencegah kebingungan “stok ganda”.
  • Bila produk tertaut hanya dijual offline, gunakan menu (⋮) → Sembunyikan dari Storefront agar tidak muncul di toko online (badge “Offline saja”).

Aturan sistem

  • Produk sumber & produk tertaut wajib produk sederhana (tanpa varian) dan tanpa batch.
  • Satu produk sumber boleh memiliki beberapa produk tertaut, tetapi tautan tidak boleh berantai (produk tertaut tak boleh menjadi sumber produk lain).
  • Menyesuaikan stok (Stok Masuk/Koreksi/Transfer/Opname) dilakukan pada produk sumber.
  • Penerimaan Barang produk tertaut: saat menerima produk tertaut (mis. beli isi ulang dari supplier), harga modalnya dicatat pada SKU tertaut itu sendiri, sedangkan stok otomatis dialihkan ke produk sumber. Sehingga harga modal isi ulang benar dan harga modal produk sumber (galon+isi) tidak ikut tercampur.
Contoh terima galon isi ulang. Anda beli 10 galon: 3 memakai galon kosong yang sudah ada (bayar isi saja), 7 perlu galon kosong baru (bayar isi + galon). Di Penerimaan Barang, input 3 pcs sebagai “Isi Ulang” (harga isi) dan 7 pcs sebagai “Galon+Isi” (harga isi + galon). Hasilnya: stok pool bertambah 10, harga modal tiap SKU benar, dan total tagihan cocok dengan faktur.
Margin jadi akurat. Karena produk tertaut punya harga modalnya sendiri, penjualan isi ulang tidak lagi dibandingkan dengan modal galon utuh — sehingga tidak muncul angka “rugi” palsu di laporan.
Jangan menjual produk sumber dengan harga produk tertaut secara manual. Gunakan SKU yang tepat di POS. Bila harga diturunkan di bawah modal, POS Kasir akan menampilkan konfirmasi “di bawah modal (rugi)”.

Langkah pemakaian ada di Panduan → Stok Tertaut.

Harga & Profitabilitas

Tampilan menyeluruh (helicopter view) harga jual & margin nyata tiap SKU di semua kanal — Toko (storefront), Kasir (POS), dan Marketplace — sekaligus melacak perubahan harga modal. Berguna sebagai dasar keputusan harga, promo, dan budget iklan.

Ketersediaan

  • Tersedia mulai paket Growth (satu modul dengan Integrasi Marketplace).

Tab per kanal

  • Storefront & Offline (POS) — selalu tersedia. Menampilkan harga toko + margin nyata dari pesanan yang sudah dibayar pada kanal itu.
  • Shopee, TikTok & Tokopedia — tampil bila kanalnya terhubung. Blibli & Lazada menyusul.
  • Riwayat Harga Modal — jejak perubahan harga modal (WAC) tiap produk.

Kolom & artinya

  • Harga Modal — dapat diedit langsung (inline) di tabel; tersimpan sebagai sumber tunggal & tercatat di Riwayat Harga Modal.
  • Harga Kanal / Harga Toko — harga jual saat ini; bila ada diskon, harga normal tampil dicoret di bawahnya.
  • Potongan Kanal — total potongan dari harga jual. Untuk marketplace dapat diklik untuk melihat rincian: Komisi & Biaya Platform (wajib) vs Voucher/Promo (bisa Anda atur — dasar budget promo).
  • Est. Nett Diterima — rata-rata nilai bersih nyata per unit dari pesanan yang sudah selesai (settlement aktual per SKU untuk marketplace; realisasi pesanan setelah diskon/voucher untuk Toko/POS). SKU tanpa pesanan yang relevan ditampilkan “—”.
  • Margin — Est. Nett Diterima − Harga Modal (rupiah & persen); hijau = untung, merah = rugi.

Aksi (kanal marketplace)

  • Sinkron Harga — tarik harga listing terkini dari kanal.
  • Edit Harga — ubah harga dasar SKU langsung ke kanal. Khusus Shopee: bila sedang ada diskon/harga coret aktif, perubahan diblokir kanal (nonaktifkan diskonnya dulu di Seller Center) — kebijakan anti-diskon-palsu. TikTok/Tokopedia: instan.
  • Diskon (harga coret) — khusus TikTok/Tokopedia: buat harga coret secara instan (harga bruto tercoret, harga promo sebagai harga jual). Shopee tidak menyediakan diskon instan di sini karena kebijakan masa tunggunya.
Nilai nett diambil dari transaksi nyata, bukan estimasi kasar — sehingga angka margin mendekati kenyataan. Untuk Toko/POS, biaya payment gateway ditanggung pembeli (tidak memotong penerimaan penjual) dan ongkir bersifat teruskan ke kurir, jadi tidak dihitung sebagai potongan margin produk.

Langkah pemakaian ada di Panduan → Harga & Profitabilitas.

Stok Opnamemulai Starter

Stok Opname (mulai Starter) adalah sesi hitung fisik terstruktur untuk menyamakan stok sistem dengan jumlah barang sebenarnya — pengganti koreksi satu-per-satu. Buka di Stok Opname (di bawah Manajemen Stok).

  • Mulai sesi — pilih cakupan (kategori/cari). Sistem membuat lembar hitung: satu baris per batch (FEFO) untuk produk ber-kedaluwarsa, dan per produk/varian untuk lainnya. Stok sistem saat itu dibekukan sebagai pembanding.
  • Isi hitung fisik — masukkan jumlah hasil hitung; selisih tampil otomatis. Simpan kapan saja (status Draft).
  • Posting — selisih diterapkan sekaligus ke stok fisik batch dan stok jual sebagai mutasi penyesuaian, lalu sesi terkunci. Selisih muncul di Laporan Lalu Lintas Stok.
Lakukan opname saat toko sepi agar hasil hitung akurat (selisih dihitung terhadap stok yang dibekukan saat sesi dibuat). Paket Gratis tetap bisa mengoreksi stok manual lewat Koreksi Stok, namun sesi opname terstruktur mulai paket Starter.

Multi-Gudangmulai Professional

Multi-Gudang (mulai Professional) memungkinkan Anda mengelola stok di beberapa lokasi gudang. Paket Professional = hingga 3 gudang, Enterprise = tak terbatas. Paket di bawahnya memakai 1 gudang (Gudang Utama).

  • Kelola gudang di menu Gudang (Stok & Gudang): tambah/ubah lokasi, atur alamat & kontak, tandai Gudang Default. Gudang yang masih ada stok tak bisa dihapus.
  • Stok per gudang: setiap operasi stok (Stok Masuk Batch, Koreksi) punya pilihan gudang. Total stok per gudang tampil di menu Gudang.
  • Transfer Stok: pindahkan stok antar-gudang lewat menu Transfer Stok — stok gudang asal berkurang, tujuan bertambah; total stok toko tidak berubah.
  • Pemenuhan pesanan: tiap pesanan punya Gudang Pemenuhan (default = Gudang Utama). Anda bisa mengubahnya di detail pesanan sebelum dikirim — stok dialokasikan ulang dari gudang yang dipilih. Saat scan keluar (FEFO), sistem memandu mengambil batch dari gudang pemenuhan.
Stok toko = total semua gudang. Storefront menjual dari total stok seluruh gudang; gudang menentukan dari mana barang diambil saat diproses. Stok produk ber-kedaluwarsa (batch) berpindah utuh saat transfer; stok biasa (non-batch) dialokasikan per gudang.

Zona Waktu Toko (WIB/WITA/WIT)

Toko Anda bisa memilih zona waktu sesuai domisili: WIB (Waktu Indonesia Barat), WITA (Tengah), atau WIT (Timur). Atur di Pengaturan → Umum → Zona Waktu Toko. Bawaan: WIB.

Apa saja yang mengikuti zona ini?

  • Semua tanggal & jam di dashboard: Riwayat Mutasi stok, Stok Opname, Pesanan, POS/Sesi Kasir, laporan, dll.
  • Struk & dokumen cetak.
  • Tampilan waktu di storefront, portal pelanggan (Akun Saya), dan aplikasi mobile (Pelanggan & Mitra).
  • Batas “hari” pada angka harian: kartu Performa Toko (hari ini vs kemarin), “POS hari ini”, tren harian Laporan Penjualan/Keuangan, sisa-hari kedaluwarsa, dan kuota pesanan bulanan.

Contoh: toko di Bali memilih WITA — jam yang tampil menjadi 1 jam lebih cepat dari WIB. Jika saat ini pukul 10.00 WIB (Jakarta), maka tampil 11.00 WITA.

Waktu ditampilkan konsisten untuk semua staf (apa pun zona perangkatnya) dan sama antara penjual & pembeli — memudahkan rujukan waktu saat komunikasi/konfirmasi pesanan.

Catatan: komunikasi dengan tim StepyStore (tiket support, jadwal tagihan/invoice) tetap memakai WIB sebagai acuan pusat. Mengubah zona toko tidak mengubah data yang sudah tercatat — hanya cara menampilkan waktunya.

Notifikasi Email

Pemilik toko menerima email otomatis pada peristiwa berikut:

  • Pendaftaran toko (selamat datang + instruksi pembayaran, atau “toko aktif” untuk paket gratis).
  • Pesanan baru masuk dari pelanggan.
  • Pembayaran online pesanan diterima otomatis (Midtrans/Tripay) — pesanan siap diproses. (Transfer manual tidak mengirim email ini karena Anda sendiri yang menandai lunas.)
  • Invoice perpanjangan / upgrade dibuat (nominal, jatuh tempo, tombol bayar).
  • Pengingat tagihan akan jatuh tempo (≤2 hari sebelum jatuh tempo).
  • Tagihan dibatalkan otomatis bila tak dibayar hingga lewat masa tenggang (toko tetap di paket saat ini).
  • Pembayaran dikonfirmasi (toko aktif / paket berbayar aktif).
  • Langganan dibatalkan (tetap aktif hingga akhir periode).
  • Toko beralih ke paket Gratis saat langganan habis (tetap online, data aman).
  • Pengingat tidak aktif (H-30) & storefront dinonaktifkan setelah > 12 bulan tanpa login (aktif lagi saat login).
  • Pengingat langganan (H-3 sebelum & saat masa berlaku berakhir).
  • Pengingat stok kedaluwarsa (harian, bila ada batch ≤30 hari).
  • Reset kata sandi dashboard.
Email dikirim memakai SMTP toko Anda bila dikonfigurasi (Pengaturan → Email), atau memakai pengirim StepyStore sebagai cadangan.

Mengatur SMTP Email Toko (kirim dari alamat Anda sendiri)

Secara default email dikirim dari no-reply@stepy.co.id. Aktifkan SMTP sendiri di Pengaturan → Email agar email keluar dari alamat domain Anda (mis. no-reply@tokoanda.com) — lebih profesional, dipercaya pelanggan, dan tak mudah masuk spam. Fitur ini opsional; bila ragu, biarkan nonaktif (email tetap terkirim normal).

Kolom Password diisi dengan App Password (sandi aplikasi), bukan sandi login email Anda — berlaku untuk Gmail/Google Workspace & Microsoft 365. Untuk email hosting/cPanel, umumnya cukup sandi mailbox biasa.

Pengaturan per penyedia (semua pakai port 587):

PenyediaHost SMTPPort
Gmail / Google Workspacesmtp.gmail.com587
Microsoft 365 / Outlooksmtp.office365.com587
Zoho Mailsmtp.zoho.com587
Email hosting / cPanelmail.tokoanda.com587 / 465

Port: gunakan 587 (STARTTLS). Bila penyedia hanya mengizinkan SSL, pakai 465 — keduanya didukung.

Membuat App Password (Gmail / Google Workspace):

  1. Aktifkan Verifikasi 2 Langkah di akun Google email tersebut (App Password hanya muncul bila 2FA aktif).
  2. Buka Akun Google → Keamanan → Verifikasi 2 Langkah → Sandi Aplikasi.
  3. Beri nama (mis. “StepyStore”) → Buat → salin 16 huruf yang muncul.
  4. Tempel 16 huruf itu ke kolom Password / App Password di StepyStore (boleh tanpa spasi).

Mengisi form (Pengaturan → Email):

  • Host SMTP & Port: sesuai tabel di atas.
  • Username: alamat email lengkap (mis. no-reply@tokoanda.com).
  • Password: App Password (Gmail/M365) atau sandi mailbox (hosting/cPanel).
  • Email Pengirim (From): alamat yang tampil sebagai pengirim. Nama Pengirim: nama toko.
  • Klik Kirim Uji dahulu untuk memastikan berhasil → baru Simpan Konfigurasi.

Bila gagal:

  • “Authentication failed” → kemungkinan memakai sandi login, bukan App Password; atau 2FA belum aktif. Buat ulang App Password.
  • Email masuk spam → minta penyedia domain menambah SPF/DKIM (sangat disarankan).
  • Timeout/tak terkirim → cek Host & Port (coba 587; bila gagal coba 465).

Notifikasi Pesanan Masuk

Setiap pesanan baru dari semua kanal penjualan (Storefront, serta marketplace seperti Shopee, TikTok, dan Blibli) memberi tahu Anda secara langsung di dashboard. Pesanan POS Kasir dan Manual tidak ikut berbunyi karena dibuat sendiri oleh tim Anda.

Dua lapis notifikasi

  • Notifikasi di dalam halaman — saat tab dashboard sedang terbuka: muncul kotak pemberitahuan (toast) disertai bunyi.
  • Notifikasi perangkat (Web Push) — muncul sebagai notifikasi sistem komputer walau tab atau browser dashboard tidak sedang dibuka, selama perangkat menyala dan browser pernah dibuka. Cocok untuk admin yang tidak selalu menatap halaman dashboard.

Cara mengaktifkan (sekali saja)

  1. Buka Pengaturan → Umum → Notifikasi Pesanan (Perangkat Ini).
  2. Klik Aktifkan Notifikasi Perangkat, lalu pilih Izinkan saat browser meminta izin.
  3. Selesai — notifikasi berjalan otomatis pada perangkat itu.

Pengaturan ini berlaku per perangkat/browser. Jika Anda login dengan akun yang sama di beberapa perangkat (mis. desktop dan laptop) dan masing-masing mengaktifkannya, semua perangkat akan menerima notifikasi saat ada pesanan.

Notifikasi berhenti pada sebuah perangkat bila Anda: menekan Keluar (Logout), mematikannya lewat tombol Matikan Notifikasi Perangkat, atau mencabut izin notifikasi di setelan browser. Perangkat yang tidak dipakai lebih dari 60 hari juga dilepas otomatis.

Yang perlu diketahui: notifikasi perangkat memerlukan koneksi HTTPS (sudah tersedia) dan izin dari browser. Jika komputer dimatikan/tidur, notifikasi yang terlewat tidak dimunculkan susulan — hanya pesanan berikutnya yang berbunyi saat komputer aktif kembali. Pada iPhone/iPad, notifikasi perangkat hanya berfungsi bila dashboard dipasang sebagai aplikasi (Add to Home Screen).

Menutup browser tanpa Logout tidak mengeluarkan Anda dari akun — sesi & notifikasi tetap aktif. Untuk benar-benar berhenti menerima di sebuah perangkat, gunakan salah satu cara di atas.

Tur Panduan

Tur Panduan adalah panduan interaktif (sorot elemen) yang mengenalkan area utama dashboard saat Anda pertama kali memakainya. Tur juga tersedia di portal pelanggan (halaman Akun Saya) bagi pembeli toko Anda.

  • Muncul otomatis sekali saat Anda pertama kali membuka tiap halaman (Dashboard, Produk, Stok, Pesanan, Pengaturan). Begitu Anda selesaikan atau lewati, tur itu tak muncul otomatis lagi.
  • Menyesuaikan paket: tur untuk fitur yang tak ada di paket Anda (mis. Pesanan/Stok pada paket tertentu) tidak ditampilkan.
  • Bisa diulang kapan saja lewat tombol Tur Panduan di kanan atas — tur halaman yang sedang dibuka diprioritaskan.
  • Matikan tur otomatis: di menu tombol Tur Panduan, pilih “Jangan tampilkan tur otomatis” (bisa diaktifkan lagi kapan saja). Tur manual tetap tersedia.
Status “selesai/dilewati” tersimpan per pengguna (lintas perangkat), bukan berdasarkan batas waktu. Akun yang sudah ada sebelum fitur ini dirilis memulai dengan tur otomatis nonaktif — jalankan kapan pun lewat tombol Tur Panduan.