KasirPOS Setup Guide

Setup lengkap dalam 15 menit — gratis selamanya

Langkah 1: Buat Project Supabase

1

Buka supabase.com dan daftar gratis.

2

Klik New Project → kasih nama (misal: "toko-saya") → pilih region Southeast Asia (Singapore) → Set Database Password → Create.

Tunggu 2-3 menit sampai project siap.

Langkah 2: Jalankan SQL Setup

3

Di Supabase Dashboard, klik SQL Editor di sidebar kiri.

4

Copy SEMUA isi file kasirpos-setup.sql → paste di SQL Editor → klik Run.

Ini akan membuat semua tabel, view, RPC functions, dan data awal (kategori, bahan baku default).

Langkah 3: Deploy Edge Functions (Opsional)

Edge Functions dibutuhkan untuk: transaksi otomatis (stok berkurang), tutup sesi kasir, dan buat akun user baru.

Tanpa edge functions, POS tetap bisa jalan untuk melihat produk & laporan, tapi transaksi tidak akan tersimpan otomatis.

5

Install Node.js dari nodejs.org (kalau belum ada).

6

Install Supabase CLI:

npm install -g supabase
7

Login ke Supabase CLI:

supabase login

Buka link yang muncul → login dengan akun Supabase Anda.

8

Link project:

supabase link --project-ref YOUR_PROJECT_REF

Ganti YOUR_PROJECT_REF dengan Project Reference dari Settings → General.

9

Deploy semua functions:

supabase functions deploy buat-transaksi
supabase functions deploy create-user
supabase functions deploy proses-akhir-sesi
supabase functions deploy proses-opname
supabase functions deploy proses-retur
supabase functions deploy transfer-stok
supabase functions deploy buat-permintaan-stok

Langkah 4: Hubungkan App

10

Di Supabase Dashboard → Settings → API:

  • Copy Project URL (https://xxxxx.supabase.co)
  • Copy anon / public key (yang panjang mulai dengan eyJ...)
11

Buka app KasirPOS di HP/tablet Anda → paste URL + anon key → Hubungkan.

12

Buat akun owner pertama: kembali ke Supabase Dashboard → Authentication → Users → Add User → isi email + password → Create.

Lalu di SQL Editor, jalankan:

INSERT INTO pengguna_v2 (id_pengguna_auth, nama_lengkap, peran, id_lokasi)
SELECT u.id, 'Owner', 'Owner', l.id
FROM auth.users u, lokasi_v2 l
WHERE u.email = 'email-anda@gmail.com'
AND l.nama_lokasi = 'Toko Pusat'
AND NOT EXISTS (SELECT 1 FROM pengguna_v2 WHERE id_pengguna_auth = u.id);

Ganti email-anda@gmail.com dengan email yang Anda daftarkan.

Selesai! 🎉

Login di app dengan email + password yang Anda buat → mulai jualan!

Tips:

KasirPOS — Free & Open Source | Privacy Policy