Navigasi
  • Persediaan
  • Point of Sale (POS) / Kasir
  • Storefront — Toko Digital F&B
  • Setup Gerobak — Gudang per Penjual
  • Printer & Cetak Struk
  • Promo & Diskon Otomatis (POS)
  • Import Menu dari PDF (AI Menu Importer)
  • Performa Lapak — Pantau Kehadiran & Produktivitas Gerobak
FirstJournalFirstJournalPusat Bantuan
support@firstprinciple.id
  1. Bantuan
  2. /Operasional
  3. /Storefront — Toko Digital F&B
  • Persediaan
  • Point of Sale (POS) / Kasir
  • Storefront — Toko Digital F&B
  • Setup Gerobak — Gudang per Penjual
  • Printer & Cetak Struk
  • Promo & Diskon Otomatis (POS)
  • Import Menu dari PDF (AI Menu Importer)
  • Performa Lapak — Pantau Kehadiran & Produktivitas Gerobak
Operasional

Storefront — Toko Digital F&B / Storefront — F&B Digital Store

Diperbarui: 2026-10-02·~47 menit baca

Storefront — Toko Digital F&B

Terakhir diperbarui / Last updated: 2026-07-28
Versi / Version: 2.2
Modul / Module: /storefront (merchant dashboard) · firstjournal.id/toko/[slug] (halaman publik)


1. Overview & Status

Storefront adalah seperangkat alat untuk seller F&B — restoran, kafe, kedai, food court — agar bisa menerima pesanan online, reservasi meja, program loyalty, dan ulasan pelanggan. Semua terhubung langsung ke pembukuan FirstJournal: 0% komisi, setiap order yang terbayar otomatis menghasilkan invoice dan jurnal double-entry tanpa input manual.

ModeStatusKeterangan
F&B Online✅ Tersedia sekarangUntuk restoran, kafe, kedai. Fully functional.
E-Commerce (Retail)🔜 Segera HadirUntuk toko retail, fashion, UMKM umum. Masih dalam pengembangan.

URL toko publik: https://firstjournal.id/toko/[slug-tokomu]

Keunggulan utama:

  • 0% komisi — tidak ada biaya per transaksi dari platform
  • Auto-jurnal — setiap order PAID langsung menghasilkan invoice + double-entry journal
  • Auto-stok — persediaan berkurang otomatis bersamaan dengan order
  • Pelanggan tidak perlu install aplikasi — scan QR, langsung pesan dari browser

Saat pertama kali buka Storefront dari sidebar, kamu akan melihat halaman pemilihan mode. Pilih F&B Online → klik "Mulai Setup" → masuk wizard 3 langkah.

Langkah 1 — Info Toko

FieldKeteranganAturan
Nama TokoNama yang tampil di halaman publikPre-filled dari nama organisasi, bisa diedit
Slug TokoBagian URL setelah firstjournal.id/toko/3–40 karakter, huruf kecil/angka/strip (-), unik global, sistem menyarankan otomatis
DeskripsiTeks singkat tentang tokoOpsional, max 200 karakter

Langkah 2 — Pengiriman

Informasi alamat ini dibutuhkan untuk mode E-Commerce (Coming Soon). Untuk F&B, bisa dilewati.

FieldKeterangan
Alamat PickupAlamat asal untuk kalkulasi ongkir (E-Commerce)
Kota, Kecamatan, Kode PosDibutuhkan untuk Biteship API
Kurir AktifDefault: JNE, J&T, SiCepat
Tarif Flat FallbackOngkir cadangan jika API kurir tidak tersedia

Langkah 3 — Pembayaran

FieldKeteranganWajib
Midtrans Server KeyDari dashboard Midtrans BYOK — untuk menerima QRISUntuk pembayaran online
Midtrans Merchant IDMerchant ID dari akun Midtrans kamuUntuk pembayaran online

Klik Buka Toko — wizard selesai, toko langsung aktif. Lanjutkan ke Pengaturan F&B untuk mengaktifkan mode F&B.

Profil toko menentukan kesan pertama pelanggan yang membuka firstjournal.id/toko/[slug]. Profil yang lengkap meningkatkan kepercayaan dan konversi.

Live Preview: Halaman ini menampilkan preview toko di frame ponsel (panel kanan) yang berubah langsung saat kamu ganti foto/nama/tema — cek di preview sebelum simpan, tanpa perlu buka tab lain.

Upload Media:

FieldFormatBatas Ukuran
Foto Cover/Hero Toko (bannerUrl)JPG, PNG, WebPMax 5 MB, disarankan rasio 16:9 (mis. 1200×675px)
Galeri Foto (galleryUrls)JPG, PNG, WebPMax 5 foto, masing-masing max 2 MB

Logo toko (badge kecil di pojok kiri-atas hero — pindah dari kiri-bawah per redesign 2026-09-17) BUKAN diatur di halaman ini — logo pakai aset yang sama dengan logo di Faktur/PDF, diatur di Pengaturan → Invoice Branding. Halaman Profil Toko menampilkan preview logo tersebut (read-only) dengan link langsung ke halaman pengaturannya, plus toggle "Tampilkan Logo di Banner" (default ON) — matikan kalau Foto Cover/Hero Toko kamu sudah didesain lengkap sendiri (branding sudah menyatu di dalam foto, seperti banner kampanye) dan tidak perlu badge logo tambahan.

Informasi Toko:

FieldMaxKeterangan
Tagline120 karakterKalimat pendek yang merangkum identitas toko. Tampil di bawah nama toko di halaman publik.
Tentang Kami (story)500 karakterCerita toko, konsep, keunggulan. Tampil di bagian bawah halaman publik.

Kontak & Sosial Media:

FieldFormatKeterangan
WhatsApp Business628xxxxxxxx (tanpa +)Tombol "Hubungi via WA" di halaman publik
Instagram@namatoko (tanpa @)Link ke profil Instagram
Google MapsURL penuh maps.google.com/...Tombol "Lihat di Maps"

Fasilitas (pilih yang tersedia di tempat kamu):

  • AC (Air Conditioning)
  • WiFi
  • Parkir
  • Smoking Area
  • Live Music
  • Pet Friendly
  • Toilet
  • Area Outdoor

Tip: Pelanggan sering filter toko berdasarkan fasilitas di direktori firstjournal.id/toko. Centang semua fasilitas yang benar-benar tersedia.

Multi-outlet? Nama toko, tema, dan banner di halaman ini adalah default toko yang berlaku ke semua outlet. Kalau outlet tertentu (misal cabang atau gerobak) perlu nama/tema/banner QR menu yang BEDA dari toko lain, atur khusus di POS → Outlets → [Outlet] → "Pesan Online (QR Menu)" — lihat artikel POS bagian Branding QR Menu per Outlet. Outlet yang tidak diatur khusus otomatis mengikuti default toko di sini.

Jam operasional mengontrol badge "Buka/Tutup" di direktori firstjournal.id/toko — dan juga benar-benar memblokir pelanggan memesan saat toko tertutup (di luar jam buka, atau hari yang ditandai Tutup), bukan sekadar tampilan. Di halaman toko itu sendiri (redesign 2026-09-17): saat tutup, pelanggan tidak lagi melihat badge di banner — seluruh halaman menu diganti dengan halaman khusus "Toko Sedang Tutup" yang menjelaskan alasannya (dan tombol WhatsApp kalau nomor outlet sudah diisi).

Grid 7 Hari:

  • Setiap hari (Senin–Minggu) punya toggle Buka / Tutup
  • Jika Buka: isi jam buka dan jam tutup dalam format HH:MM (24 jam)
  • Contoh: Senin Buka 09:00 — Tutup 22:00

Hari Libur Khusus:

  • Tambahkan tanggal spesifik (misalnya Lebaran, Tahun Baru) dengan label keterangan
  • Pada tanggal tersebut, halaman toko menampilkan "Toko Sedang Tutup — [label]" meski jadwal normal mengatakan buka, dan pelanggan tidak bisa checkout di tanggal tersebut

Preview Status Hari Ini:

  • Halaman pengaturan menampilkan preview toko di frame ponsel (panel kanan), termasuk status buka/tutup hari ini berdasarkan setting saat ini
  • Gunakan ini untuk memverifikasi jam sebelum simpan

Pilih mode aktif untuk storefront kamu. Mode bisa dikombinasikan:

ModeKeteranganStatus
F&B OnlineMenu digital + QR order + antrian dapur✅ Tersedia
E-CommerceKatalog retail + checkout + ongkir🔜 Segera Hadir
LapakMobile cart + GPS + QR per lapak✅ Tersedia (add-on)

Pengaturan inti untuk mode F&B Online. Wajib dikonfigurasi agar pelanggan bisa memesan.

FieldKeteranganDefault
Toggle Mode F&BAktifkan/nonaktifkan mode F&BOFF
Outlet POS TerhubungOutlet POS yang stoknya dipakai untuk menu F&B—
Tipe OrderDine-in, Takeaway, Delivery (pilih satu atau lebih)Dine-in + Takeaway
Waktu PersiapanEstimasi menit yang tampil ke pelanggan15 menit
Bayar di KasirIzinkan pelanggan bayar di kasir tanpa QRISON

Pastikan Outlet POS dipilih sebelum mengaktifkan Mode F&B. Stok, menu, dan meja mengikuti outlet yang dipilih.

Delivery (baru, 2026-09-17): Pelanggan pesan online lalu diantar ke alamatnya — WAJIB login (bukan pesanan tamu) karena butuh alamat pengiriman tersimpan. Untuk saat ini pengantaran gratis ongkir — belum ada fitur tarif ongkir untuk F&B.

Live Preview: Panel kanan menampilkan kartu "Cara Makan" persis seperti yang dilihat pelanggan — centang/hilangkan Dine-in/Takeaway/Delivery dan lihat kartunya langsung muncul/hilang, tanpa perlu simpan dulu.

Fitur reservasi memungkinkan pelanggan memesan meja secara online sebelum datang, langsung dari halaman toko publik.

Setup Sesi Waktu:

  • Tambahkan sesi (contoh: "Makan Siang", "Makan Malam")
  • Setiap sesi punya: Label, Jam Mulai, Jam Selesai
  • Contoh: Makan Siang 11:00–14:00 | Makan Malam 17:00–21:00

Aturan Kapasitas:

FieldKeteranganRange
Maks tamu per sesiTotal kapasitas semua meja dalam satu sesiBebas
Min tamu per bookingMinimal rombongan yang bisa reservasi1–20
Maks tamu per bookingMaksimal rombongan per reservasi1–100
Maks hari ke depanSeberapa jauh pelanggan bisa booking di muka1–60 hari

Mode Konfirmasi:

ModeCara Kerja
ManualSeller harus menyetujui setiap reservasi. Pelanggan dapat notifikasi setelah konfirmasi.
Auto-confirmReservasi langsung terkonfirmasi jika kapasitas tersedia. Lebih cepat, cocok untuk toko sibuk.

Catatan untuk Customer:

  • Teks yang tampil di halaman reservasi publik
  • Gunakan untuk jelaskan kebijakan (deposit, dress code, dll)

Live Preview: Halaman pengaturan menampilkan contoh langsung ("Sesi Makan Siang, kapasitas X orang, min/maks Y-Z tamu") yang dihitung dari input sesi/kapasitas saat ini — cek contohnya sebelum simpan.

Program poin yang membuat pelanggan kembali lagi. Poin diperoleh saat checkout dan bisa ditukar diskon di transaksi berikutnya.

Konfigurasi Earn:

FieldKeteranganContoh
Earn RateBerapa rupiah belanja = 1 poinRp 1.000 = 1 poin
Nilai PoinBerapa poin = Rp berapa diskon100 poin = Rp 1.000
Minimum Poin RedeemBerapa minimum poin untuk bisa redeem100 poin
Maks Diskon Poin (%)Batas diskon dari poin per transaksi20% dari total
Bonus Member BaruPoin yang langsung diberikan saat pelanggan daftar50 poin
Expiry PoinBerapa bulan poin kedaluwarsa (0 = tidak pernah)12 bulan

Simulasi Live:

  • Halaman pengaturan menampilkan simulasi "Pelanggan belanja Rp X → dapat Y poin → setara diskon Rp Z"
  • Gunakan simulasi sebelum simpan untuk pastikan setting masuk akal dari sisi bisnis

Tips setting yang bagus: Earn rate Rp 1.000 = 1 poin dengan nilai 100 poin = Rp 1.000 berarti pelanggan dapat 1% cashback dalam bentuk poin — angka yang terasa bermakna tapi tidak menggerus margin.

Selain poin, setiap pelanggan (baik member yang di-daftarkan lewat POS maupun shopper yang login di storefront) otomatis naik tier berdasarkan total belanja kumulatif (totalSpent) — tanpa pengaturan tambahan dari kamu:

TierTotal Belanja Kumulatif
🥉 Bronze< Rp 1.000.000
🥈 SilverRp 1.000.000 – Rp 4.999.999
🥇 GoldRp 5.000.000 – Rp 24.999.999
💎 Platinum≥ Rp 25.000.000

Tier ini dipakai bersama antara transaksi kasir POS dan order storefront — satu pelanggan, satu tier, di manapun dia belanja. Badge tier tampil di struk kasir, kartu pelanggan (Kontak), dan di halaman Poin Saya milik pelanggan (lihat §7).

Pelanggan yang login bisa membagikan kode referral pribadi (tombol "Ajak Teman" di halaman utama toko). Begitu teman yang diajak checkout PERTAMA KALI di toko kamu, kalian berdua langsung dapat Koin otomatis — atur besarannya di dua field baru di halaman ini: Bonus untuk yang mengajak dan Bonus untuk yang diajak. Default Rp0 (program tidak aktif sampai kamu isi).

Beberapa hal penting:

  • Kode referral bersifat GLOBAL — 1 kode per pelanggan, bisa dipakai di toko manapun yang pakai FirstJournal. Reward-nya tetap khusus toko tempat teman itu checkout.
  • Butuh login (bukan tamu) — supaya sistem bisa cegah orang mengajak dirinya sendiri dengan akun kedua.
  • Ada batas maksimal 20 referral berhasil per bulan per pelanggan (lintas semua toko) untuk cegah penyalahgunaan.
  • Reward TIDAK bisa dibatalkan otomatis kalau pesanan yang memicu reward itu di-void/refund — sama seperti bonus member baru, ini keterbatasan yang sudah ada dan belum ada perbaikannya.

Katalog menentukan produk apa yang tampil di menu pelanggan. Ini terpisah dari daftar produk internal kasir POS.

Operasi Dasar:

AksiCara
Aktifkan produkToggle ON pada baris produk
Nonaktifkan produkToggle OFF
Cari produkKetik di kolom pencarian
Bulk aktifkan/nonaktifkanCentang beberapa produk → tombol Aktifkan/Nonaktifkan di atas tabel

Status Produk di Menu:

StatusKeterangan
AktifTampil di menu, bisa dipesan
Tidak TampilToggle OFF — tersembunyi dari pelanggan
Stok HabisStok = 0 — tampil dengan label "Habis", tidak bisa dipesan

Sinkronisasi POS ↔ Storefront (/storefront/settings/sync):

Merchant bisa memilih hubungan antara toggle "Aktif di POS" (isPosEnabled) dan "Tampil di Storefront" (storefrontEnabled) lewat 3 mode di Storefront → Pengaturan → Sinkronisasi:

ModePerilaku
Manual (default untuk toko lama)Tidak ada hubungan sama sekali — sama seperti sebelum fitur ini ada. Toggle POS dan toggle Storefront diatur terpisah.
Selalu Ikuti POS (auto_follow)storefrontEnabled selalu mengikuti isPosEnabled, dua arah, live, ke depannya. Matikan produk di POS → otomatis hilang dari storefront (kalau memenuhi syarat berat produk).
Hanya Produk Baru (new_products_only, default untuk toko baru)Hanya diterapkan SEKALI saat produk baru dibuat — tidak ada keterkaitan berkelanjutan setelahnya.

Produk yang pernah di-toggle manual dari tabel Katalog (satu-satu atau bulk) otomatis dikecualikan permanen dari kedua mode otomatis (ditandai badge "Diatur manual") — sampai merchant klik "Ikuti POS lagi" untuk menyambungkannya kembali.

Tombol "Terapkan ke produk lama" di halaman Sinkronisasi adalah aksi terpisah, sekali-jalan, untuk menerapkan logika ke SEMUA produk yang sudah ada — mengganti mode radio button saja TIDAK otomatis menyentuh produk lama.

Produk dengan isCustomMTO (Pesanan Custom) sengaja dikecualikan dari sinkronisasi otomatis — tidak akan pernah otomatis tampil di storefront lewat mode auto_follow/new_products_only, karena produk custom-order tidak cocok dijual langsung ke pelanggan storefront. Merchant tetap bisa mengaktifkannya manual lewat toggle Katalog kalau memang mau.

Atur visibilitas toko di direktori publik firstjournal.id/toko dan sesuaikan tampilan visual toko.

Visibilitas Direktori:

  • Toggle Tampilkan di firstjournal.id/toko — default OFF (opt-in)
  • Saat ON, toko muncul di halaman direktori dan bisa ditemukan via search atau filter kategori

Kategori Toko: Pilih kategori yang paling sesuai:

  • Kafe / Kedai Kopi
  • Restoran
  • Kedai Makanan
  • Bakery & Dessert
  • Minuman & Boba
  • Food Court
  • Katering
  • Lainnya

Tema Warna: 8 preset tema warna untuk tampilan toko pelanggan:

PresetWarna UtamaKarakter
Mangga (default)#F59E0B (amber)Hangat, cerah
Stroberi#EF4444 (merah)Berani, segar
Matcha#22C55E (hijau)Natural, menenangkan
Taro#A855F7 (ungu)Premium, unik
Coklat#92400E (coklat tua)Earthy, hangat
Jeruk#F97316 (oranye)Energik, fun
Anggur#7C3AED (ungu gelap)Elegan, bold
Madu#D97706 (amber gelap)Klasik, manis

Kamu juga bisa masukkan custom hex color (misal #1a73e8) untuk warna yang persis sesuai brand.

Live Preview:

  • Halaman direktori menampilkan preview tampilan toko di frame ponsel
  • Preview berubah real-time saat kamu ganti tema
  • Cek di preview sebelum simpan

Share Link:

  • Tombol Salin Link — copy firstjournal.id/toko/[slug] ke clipboard
  • Tombol Bagikan ke WA — buka WA dengan pesan siap kirim berisi link toko

Secara default, jika stok sebuah menu habis, order QR/storefront untuk item itu ditolak. Toggle "Izinkan Order QR Meski Stok Habis" (di Pengaturan > Pengaturan Persediaan, terpisah dari toggle stok minus POS) membalik perilaku ini: pelanggan tetap bisa memesan item yang stoknya 0 sebagai pre-order.

  • Item manual di-86 (ditandai habis oleh kasir) tetap selalu diblokir, walau toggle ini ON.
  • Saat aktif, pelanggan yang menambah item stok-habis ke keranjang melihat konfirmasi: "Stok terbatas — pesanan ini mungkin butuh waktu lebih lama atau perlu konfirmasi dari resto." Item tersebut ditandai "Pre-order · stok terbatas" di ringkasan checkout.
  • Karena pembayaran online (Midtrans) sudah ditagih sebelum dapur konfirmasi, jika ternyata bahan benar-benar tidak tersedia, kamu harus void/retur transaksinya secara manual lewat POS — tidak ada auto-refund.

Pelanggan yang login bisa mengajukan permintaan katering lewat tombol "Katering" di halaman utama toko — isi tanggal acara, jumlah tamu, jenis acara (opsional), catatan, dan kontak. Permintaan ini MASUK KE ANTREAN, belum jadi pesanan/transaksi.

Cara kerjanya:

  • Lihat & proses permintaan di Storefront > Permintaan Katering (ada badge notifikasi di menu sidebar kalau ada yang menunggu).
  • Setujui atau Tolak setiap permintaan — kalau ditolak, kamu bisa kasih alasan singkat yang akan terlihat oleh pelanggan.
  • Setelah disetujui, tidak ada apa pun yang terjadi otomatis — kamu hubungi pelanggan via WhatsApp (kontaknya sudah ada di permintaan) untuk nego menu & harga, lalu buat invoice/DP seperti biasa lewat menu Penjualan. Kalau mau, kamu bisa tempel nomor invoice itu ke permintaan katering hanya sebagai catatan pribadi — sistem tidak menghubungkan keduanya secara otomatis dan tidak memvalidasinya.
  • Butuh login (bukan tamu) supaya kamu punya kontak yang bisa dihubungi.

Pelanggan yang login bisa membeli satu produk/menu untuk dikirim sebagai hadiah lewat tombol "Kirim Hadiah" di halaman utama toko — pilih produk, isi nama & nomor WhatsApp penerima, tulis pesan (opsional), lalu bayar online sekarang lewat Midtrans. Setelah bayar, sistem membuat link klaim unik (firstjournal.id/gift/KODEKLAIM) yang bisa dibagikan sendiri oleh pengirim ke penerima via WhatsApp.

Cara kerjanya:

  • Penerima membuka link klaim — halaman ini publik (tidak perlu login), menampilkan pesan dari pengirim, nama produk, dan kode klaim untuk ditunjukkan di kasir.
  • Kasir membuka menu "Redeem Kirim Hadiah" di layar kasir POS, masukkan kode klaim 8 karakter, sistem menampilkan produk & nama pengirim untuk konfirmasi, lalu proses sebagai transaksi baru (item senilai Rp0 karena sudah dibayar di muka — stok tetap berkurang normal).
  • Hadiah punya masa berlaku (default beberapa minggu sejak pembelian). Kalau tidak diklaim sampai kadaluarsa, sistem otomatis menutup kewajiban itu sebagai pendapatan lain-lain lewat proses harian — uang yang sudah dibayar TIDAK dikembalikan otomatis, hubungi pelanggan kalau ada permintaan khusus.
  • Riwayat pengiriman hadiah pelanggan sendiri (termasuk link untuk dibagikan ulang) ada di tab "Riwayat" pada halaman Kirim Hadiah.
  • Butuh login (bukan tamu) untuk mengirim — supaya ada kontak & riwayat yang jelas.

Alur Status Pesanan:

CANCELLABLE (60 dtk) → PAID → PROCESSING → READY → COMPLETED
StatusLabelArtinya
CANCELLABLEMenunggu (60 dtk)Order baru masuk, bisa dibatalkan dalam 60 detik
PENDING_PAYMENTMenunggu BayarMenunggu pembayaran pelanggan
PAIDDibayarPembayaran berhasil → invoice + jurnal otomatis terbuat
PROCESSINGDiprosesSedang disiapkan di dapur
READYSiap DiambilMakanan siap, pelanggan bisa mengambil
COMPLETEDSelesaiOrder selesai, loyalty point dikreditkan
CANCELLEDDibatalkanOrder dibatalkan

Fitur Kelola Pesanan:

  • Filter per status — lihat hanya pesanan dengan status tertentu
  • Detail order — klik baris untuk lihat: item yang dipesan, modifier, total, info pembeli (nama, WA)
  • Link invoice — setiap order PAID punya link ke invoice di Penjualan > Faktur

Tab Utama:

  • Menunggu Konfirmasi — reservasi baru yang perlu disetujui (mode Manual)
  • Terkonfirmasi — reservasi yang sudah disetujui, tampil per tanggal
  • Selesai / Dibatalkan — arsip reservasi lalu

Operasi:

AksiCara
Konfirmasi reservasiKlik tombol "Konfirmasi" di baris reservasi (1 klik)
Tolak reservasiKlik "Tolak" → isi catatan alasan (wajib isi)
Filter per tanggalGunakan date picker untuk lihat reservasi hari tertentu
Lihat kapasitas tersisaAngka tersisa per sesi tampil di header setiap sesi

Reservasi yang ditolak mengirim notifikasi ke pelanggan dengan catatan alasan yang kamu isi.

Hanya pelanggan yang memiliki order COMPLETED di toko kamu yang bisa menulis ulasan — mencegah ulasan dari orang yang belum pernah beli.

Tab Ulasan:

  • Semua — seluruh ulasan, diurutkan terbaru dulu
  • Belum Dibalas — ulasan yang menunggu respons
  • Perlu Perhatian — ulasan bintang 1 atau 2 (perlu tindak lanjut cepat)

Statistik:

  • Rating rata-rata (dengan desimal, misal 4.3)
  • Distribusi bintang (berapa % bintang 5, 4, 3, 2, 1)

Balas Ulasan:

  1. Klik ulasan untuk buka detail
  2. Ketik balasan (max 500 karakter)
  3. Kirim — balasan tampil publik di bawah ulasan pelanggan

Sembunyikan Ulasan:

  • Tombol "Sembunyikan" untuk ulasan spam, tidak relevan, atau melanggar ketentuan
  • Ulasan tersembunyi tidak tampil di halaman publik tapi tetap tercatat di dashboard

Halaman utama Storefront (setelah wizard selesai) menampilkan analitik penjualan dari orders online.

Periode yang tersedia: 7 Hari | 30 Hari | 90 Hari

Metrik yang ditampilkan:

MetrikKeterangan
Total OrderJumlah order yang masuk di periode tersebut
Total RevenueTotal pendapatan dari order yang PAID/COMPLETED
Rata-rata Nilai OrderRevenue ÷ Jumlah order
Repeat Customer Rate% pelanggan yang pesan lebih dari 1 kali
Top-5 Produk TerlarisProduk dengan jumlah unit terjual terbanyak
Peak HoursJam-jam tersibuk berdasarkan waktu order masuk

Setiap meja di outlet POS yang terhubung mendapatkan QR code uniknya. Saat pelanggan scan, menu langsung terbuka dengan meja sudah otomatis terpilih (Dine-in).

Cara Akses:

  1. Buka Storefront > QR Meja (/storefront/qr-tables)
  2. Halaman ini hanya muncul jika Mode F&B aktif
  3. Pilih outlet dari dropdown (jika punya banyak outlet)

Download & Cetak:

AksiHasil
Download per mejaFile PNG (resolusi tinggi, siap cetak)
Cetak SemuaPDF A4 dengan semua QR dalam grid — efisien untuk mencetak semua sekaligus

Cara Pasang di Meja:

  1. Print QR di kertas tebal (art paper 120gsm+)
  2. Laminating agar tahan air dan cipratan makanan — direkomendasikan
  3. Stand akrilik — taruh di atas meja agar mudah terlihat; beli di Tokopedia (search "stand QR akrilik")
  4. Pasang di posisi yang mudah dijangkau — tidak terhalang menu fisik atau tempat bumbu

Catatan: Jika kamu menambah atau mengubah meja di POS Floor Plan, generate ulang QR untuk meja baru di halaman ini.

Ini adalah halaman yang dilihat pelanggan. Berikut apa yang tampil dan cara kerjanya:

Konten yang Tampil:

  • Hero image (cover photo) full-bleed dengan badge logo toko kecil di pojok kiri-atas (kalau sudah diatur di Pengaturan → Invoice Branding dan tidak dimatikan di toggle "Tampilkan Logo di Banner") — tanpa overlay teks (redesign 2026-09-17). Nama toko tampil sebagai judul tepat di bawah hero.
  • Kalau toko sedang tutup (jam operasional atau Hari Libur Khusus), seluruh halaman ini diganti dengan halaman khusus "Toko Sedang Tutup" — bukan sekadar badge
  • Rating bintang dan jumlah ulasan
  • Kategori dan fasilitas (ikon)
  • Menu produk dengan foto, harga, dan deskripsi
  • Tombol reservasi (jika aktif)
  • Ulasan pelanggan terbaru
  • Jam operasional lengkap
  • Kontak WA, Instagram, Google Maps
  • Saldo poin loyalty pelanggan (jika login sebagai shopper)
  • Footer "Powered by FirstJournal" (muted, tidak mencolok)

Bagaimana Reservasi dari Sisi Pelanggan (3 Langkah):

  1. Pelanggan klik tombol "Reservasi Meja" → pilih tanggal dan sesi waktu → lihat kapasitas tersisa
  2. Isi form: nama, nomor WhatsApp, jumlah tamu, dan catatan opsional
  3. Submit → tunggu konfirmasi (mode Manual) atau langsung terkonfirmasi (mode Auto)

Bagaimana Ulasan Bisa Ditulis:

  • Hanya pelanggan dengan order COMPLETED bisa tulis ulasan
  • Pelanggan login sebagai shopper → buka riwayat pesanan → klik "Tulis Ulasan" di order yang sudah selesai
  • Rating bintang 1–5 + teks ulasan + opsional upload foto

Loyalty di Halaman Publik:

  • Pelanggan yang login sebagai shopper melihat saldo poin mereka di toko kamu
  • Ada tombol "Tukarkan Poin" saat checkout (jika saldo cukup untuk redeem)
  • Halaman "Favorit" — tombol ♡ Favorit di hero toko, klik untuk simpan toko (toast "Ditambahkan ke Favorit ♥"). Toko favorit tampil sebagai strip khusus di homepage /toko

Fitur Tambahan untuk Pelanggan yang Login (/me):

  • Poin Saya (/me/rewards) — halaman ringkasan poin lintas semua toko FirstJournal yang pernah dikunjungi. Tiap toko tampil sebagai kartu terpisah: badge tier (🥉 Bronze / 🥈 Silver / 🥇 Gold / 💎 Platinum), saldo poin, progress bar menuju tier berikutnya, dan kode member.
  • Pesan Lagi ("🔁 Pernah Beli di Sini") — strip di homepage /toko dan di riwayat pesanan (/me/orders) menampilkan order COMPLETED terakhir pelanggan per toko, dengan link "Pesan Lagi →" yang membuka toko tersebut untuk pesan ulang (bukan re-add otomatis ke keranjang — pelanggan pilih ulang dari menu).
  • Lacak Status Pesanan — setelah checkout, pelanggan bisa buka halaman status pesanan tanpa perlu login lewat link "🔔 Lacak Status Pesanan" (dikirim via token, berlaku 7 hari). Status: Pesanan Diterima → Sedang Disiapkan → Siap Diambil! → Pesanan Selesai — update live tanpa refresh manual.
  • Notifikasi Push "Pesanan siap!" — di halaman /me, pelanggan bisa klik "Aktifkan" pada banner "Aktifkan Notifikasi Pesanan" untuk dapat notifikasi browser saat pesanan mereka siap diambil, bahkan saat browser tertutup. Di iPhone/iPad, perlu tambahkan situs ke Home Screen dulu (banner memberi instruksi). Fitur ini opt-in per pelanggan, tidak perlu diaktifkan dari sisi seller.

Setiap order yang berhasil dibayar (PAID) secara otomatis membuat dokumen akuntansi — tidak perlu input manual apapun.

Kapan jurnal terbuat: Tepat saat status order berubah ke PAID (setelah payment webhook diterima dari Midtrans, atau saat kasir konfirmasi bayar di kasir).

Struktur Jurnal Penjualan:

SisiAkunNilai
DebitKas / Bank (sesuai metode bayar)Total pembayaran
KreditPendapatan PenjualanSubtotal sebelum pajak
KreditHutang PPN KeluaranNilai PPN (jika PKP)

Struktur Jurnal HPP:

SisiAkunNilai
DebitHarga Pokok PenjualanHPP per item × qty
KreditPersediaan Barang DaganganSama dengan debit HPP

Stok berkurang otomatis dalam atomic transaction yang sama. Jika stok berkurang gagal (misalnya stok tidak cukup), seluruh proses PAID dibatalkan — kecuali kamu mengaktifkan toggle "Izinkan Order QR Meski Stok Habis" (lihat §4.9), yang mengizinkan order tetap masuk sebagai pre-order.

Di mana lihat invoice:

  1. Penjualan > Faktur Penjualan — cari berdasarkan nomor invoice atau nama pelanggan
  2. Storefront > Pesanan Online → klik detail order → klik link Invoice ID

Apakah artikel ini membantu?

Artikel Terkait / Related Articles

Operasional

Point of Sale (POS) / Kasir / Point of Sale (POS)

2026-10-31
Penjualan & Pembelian

Penjualan / Sales

2026-10-20
Operasional

Persediaan / Inventory Management

2026-11-01

Sebelumnya

Point of Sale (POS) / Kasir

Selanjutnya

Setup Gerobak — Gudang per Penjual

Isi Artikel

  • 1. Overview & Status
  • 2. Siapa yang Menggunakan / Who Uses This
  • 3. Setup Awal — Wizard 3 Langkah / Initial Setup — 3-Step Wizard
  • Langkah 1 — Info Toko
  • Langkah 2 — Pengiriman
  • Langkah 3 — Pembayaran
  • 4. Pengaturan Storefront — Panduan Per Menu / Settings Guide
  • 4.1 Profil Toko (/storefront/settings/profile)
  • 4.2 Jam Operasional (/storefront/settings/hours)
  • 4.3 Mode Storefront (/storefront/settings/mode)
  • 4.4 Pengaturan F&B (/storefront/settings/fnb)
  • 4.5 Reservasi Meja (/storefront/settings/reservation)
  • 4.6 Program Loyalty (/pengaturan/program-membership)
  • 4.7 Katalog Menu (/storefront/catalog)
  • 4.8 Direktori & Tampilan (/storefront/settings/directory)
  • 4.9 Izinkan Pre-order Saat Stok Habis (/pengaturan — Pengaturan Persediaan)
  • 4.10 Permintaan Katering (/storefront/katering, baru 2026-09-17)
  • 4.11 Kirim Hadiah (/storefront/[slug]/gift, baru 2026-09-18)
  • 5. Operasional Harian / Daily Operations
  • 5.1 Manajemen Pesanan (/storefront/orders)
  • 5.2 Manajemen Reservasi (/storefront/reservations)
  • 5.3 Manajemen Ulasan (/storefront/reviews)
  • 5.4 Analitik Penjualan (/storefront)
  • 6. QR Code Meja / Table QR Codes
  • 7. Profil Toko di firstjournal.id/toko
  • 8. Akuntansi Otomatis / Auto-Accounting
  • 9. FAQ
  • 10. Fitur Terkait / Related Features
  • Changelog
© 2026 FirstJournal — PT First Principle Systems
BantuanKontak