Tampilan Qasirku Smart POS1 / 25
Tentang produk

Qasirku adalah platform kasir pintar (Point of Sale) dan manajemen inventori modern yang dirancang khusus untuk mempermudah operasional ritel, grosir, minimarket, dan UMKM. Sistem ini mengintegrasikan transaksi kasir harian dengan kontrol stok berbasis metode FIFO (First In First Out) untuk perhitungan HPP (Harga Pokok Penjualan) dan margin keuntungan kotor yang presisi secara real-time.

Aplikasi ini dibangun menggunakan arsitektur modern berbasis Laravel 13, Inertia.js, dan Vue 3 (TypeScript). Desain antarmukanya premium bergaya dashboard minimalis profesional dengan dukungan Dark Mode penuh dan skema warna aksen Biru (Blue Theme).


✨ High Value & Keunggulan Sistem

Qasirku bukan sekadar aplikasi kasir biasa, melainkan alat kontrol finansial dan stok terintegrasi dengan nilai tinggi bagi pemilik usaha:

  1. Metode FIFO & HPP Presisi Tinggi
    Harga kulakan barang sering kali naik-turun akibat fluktuasi pasar. Qasirku melacak stok per batch masuk beserta harga belinya. Saat penjualan terjadi, sistem otomatis memotong stok dari batch tertua dan mencatat harga modal beli aslinya sebagai HPP. Margin laba kotor Anda terhitung 100% akurat.
  2. Offline-First POS Terminal
    Katalog produk disimpan di IndexedDB browser lokal secara terenkripsi. Ketika koneksi internet terputus, kasir tetap bisa memindai barcode, memasukkan keranjang, dan melakukan transaksi. Begitu sinyal online kembali, transaksi akan otomatis tersinkronisasi ke server.
  3. Shift Control Kasir (Anti-Selisih)
    Mengamankan arus uang laci kasir (cash drawer). Kasir diwajibkan melakukan Buka Shift dengan memasukkan modal awal. Saat Tutup Shift, sistem menampilkan kas yang diharapkan (modal awal + penjualan tunai bersih) dan membandingkannya dengan uang fisik aktual di laci untuk mendeteksi selisih secara otomatis.
  4. Loyalty Membership & Poin Reward
    Tingkatkan retensi pelanggan dengan sistem membership. Setiap pembelanjaan kelipatan Rp10.000 otomatis memberikan 1 Poin Reward kepada member yang dapat diakumulasikan. POS Terminal menampilkan proyeksi poin baru secara langsung di layar kasir.
  5. Retur Barang Konsisten Berbasis FIFO
    • Retur Penjualan: Mengembalikan kuantitas barang ke batch asal transaksi tersebut untuk memulihkan umur produk dan HPP asli.
    • Retur Pembelian: Mengurangi stok dari batch pembelian ke supplier. Sistem menolak retur jika stok batch tersebut sudah terlanjur terjual demi mencegah selisih stok.
  6. Multi-Outlet dengan Hak Akses Terisolasi (RBAC)
    Pengaturan cabang terisolasi memastikan staff outlet hanya bisa mengelola stok, mutasi, dan transaksi cabang tempat mereka bertugas, sementara owner memantau seluruh cabang dari dashboard tunggal.

🚀 Fitur Utama & Modul

1. Master Data & Inventori

  • Kategori Produk: Pengelompokan produk terstruktur untuk memudahkan pencarian dan penyaringan laporan.
  • Multi-Satuan Produk (ProductUnit): Mendukung penjualan dalam unit dasar (Pcs) maupun unit kemasan grosir (Dus, Karton, Pack) dengan auto-konversi stok.
  • Manajemen Supplier: Pencatatan data supplier untuk memantau asal pengadaan stok barang.
  • FIFO Batch Inventory: Pelacakan kedaluwarsa (expiry date) dan lokasi rak (rack location) per batch produk.
  • Mutasi Stok Antar-Outlet: Pengiriman stok fisik antar-cabang dengan sistem persetujuan (approval flow) formal.

2. POS Kasir (Point of Sale)

  • Diskon Fleksibel per Item: Input diskon flat (Rupiah/Rp) maupun persentase (%) pada masing-masing item keranjang belanja.
  • Diskon & Pajak Transaksi: Input diskon global transaksi dan perhitungan otomatis PPN 11% secara real-time.
  • Multi Metode Pembayaran: Tunai (Cash), E-Wallet (QRIS), Debit/Kredit, dan Split Payment.
  • Scan Barcode Cepat: Pemindai barcode otomatis dengan Web Audio API beep indicator.
  • Hold & Resume: Tunda transaksi pelanggan saat antrean kasir sedang ramai.

3. Keuangan & Laporan

  • Dashboard Grafik Dinamis (ApexCharts): Visualisasi omset bulanan, pertumbuhan persentase dibanding bulan lalu, tren harian, dan diagram donat pembayaran.
  • Laporan Laba Rugi & Margin: Deteksi real-time gross profit margin per transaksi berdasarkan HPP FIFO asli.
  • Outlet Terbaik (KPI): Menampilkan outlet cabang dengan kinerja penjualan tertinggi bulan berjalan.

📊 Alur Kerja Sistem (Workflow)

1. Alur Kontrol Shift Kasir POS

Mencegah kasir melakukan checkout sebelum membuka shift kerja di laci kasir cabang.

2. Alur Transaksi Kasir POS (FIFO Cost & Margin Tracking)

Proses pemotongan batch FIFO terlama dan pencatatan laba kotor presisi.

3. Alur Retur Penjualan (FIFO Stock Recovery)

Mengembalikan produk ke batch asal demi menjaga keakuratan umur dan HPP barang.


🗄️ Struktur Database & Relasi (ERD)

Rincian Tabel Database:

  1. users: Profil kasir, manager, dan admin.
  2. outlets: Daftar outlet/cabang usaha toko fisik.
  3. user_outlet: Tabel jembatan pembatas hak akses outlet pengguna (RBAC).
  4. categories: Menyimpan kategori produk (kategori makanan, minuman, dll).
  5. suppliers: Data supplier pengadaan barang.
  6. customers: Data pelanggan & membership poin loyalitas.
  7. products: Data barang (SKU, nama, barcode, harga jual default, kategori).
  8. product_units: Satuan kemasan multi-unit konversi (misal: Dus = 40 Pcs) beserta barcode unitnya.
  9. inventory_batches: Buku pencatatan batch FIFO (menyimpan sisa kuantitas, lokasi rak, harga modal beli, tanggal kedaluwarsa).
  10. cashier_shifts: Rekap shift kasir (mulai, selesai, modal awal, kas diharapkan, kas aktual, selisih kas).
  11. transactions: Invoice penjualan POS (total belanja, diskon global, pajak PPN, metode pembayaran, cash/ewallet/card amount, kembalian, member, status).
  12. transaction_items: Rincian item terjual yang mengikat ke batch asal untuk penarikan HPP modal beli asli dan menyimpan diskon per baris item.
  13. sale_returns: Dokumen retur penjualan barang dari pelanggan.
  14. sale_return_items: Rincian produk dan batch asal yang diretur pada retur penjualan.
  15. purchases: Transaksi pembelian barang masuk (supplier, outlet penerima, tanggal, total nominal).
  16. purchase_items: Rincian produk yang dibeli beserta informasi batch stok FIFO yang digenerate.
  17. purchase_returns: Dokumen retur pembelian barang kembali ke supplier.
  18. purchase_return_items: Rincian produk dan batch yang dikurangi akibat retur pembelian.
  19. stock_mutations: Master dokumen perpindahan stok fisik antar-outlet.
  20. stock_mutation_items: Detail item produk/batch yang didelegasikan untuk dimutasi.
  21. settings: Konfigurasi global sistem (site logo, favicon, QRIS image, opsi min stock).
  22. licenses: Penyimpan kunci verifikasi lisensi lokal terenkripsi.

📂 Struktur Folder Utama Proyek

qasirku/
├── app/                         # 🧠 LOGIK BACKEND UTAMA (PHP)
│   ├── Http/
│   │   ├── Controllers/         # Controller logika data & render Inertia
│   │   │   ├── POSController.php      # Logika kasir offline/online & FIFO
│   │   │   ├── ShiftController.php    # Buka/tutup shift & riwayat shift
│   │   │   ├── ReturnController.php   # Retur penjualan & pembelian (FIFO)
│   │   │   └── ...
│   │   └── Middleware/          # Filter Keamanan (CheckLicense, DemoModeMiddleware)
│   ├── Models/                  # Model Eloquent Database (Relationship)
│   │   ├── License.php
│   │   ├── InventoryBatch.php
│   │   ├── CashierShift.php
│   │   ├── Customer.php
│   │   └── ...
├── database/                    # 🗄️ SKEMA & SEEDER
│   ├── migrations/              # Berkas migrasi pembuatan tabel POS & FIFO
│   └── seeders/                 # Seeder master (Roles, Settings, Menus) & DummyDataSeeder
├── resources/                   # 🎨 FRONTEND VUE 3 & TYPESCRIPT
│   ├── css/                     # CSS & custom styling
│   └── js/                      # Kode Vue 3
│       ├── Components/          # Komponen UI (AlertDialog, Modal, DemoModeBanner)
│       ├── Layouts/             # Layout Dashboard (AdminLayout dengan global flash alerts)
│       └── Pages/               # Halaman UI (POS, Products, Inventory, Shifts, Customers)

💻 Panduan Instalasi Lokal di Windows (Non-Docker)

Tahap 1: Prasyarat Software

  • Pasang Laragon atau XAMPP dengan PHP minimal versi 8.2.
  • Pasang Node.js (Rekomendasi versi LTS 20).
  • Pasang Composer & Git for Windows.

Tahap 2: Langkah Instalasi

  1. Clone / Download Source Code:
    git clone <repository-url> qasirku
    cd qasirku
    
  2. Salin Konfigurasi Environment:
    cp .env.example .env
    
  3. Setup Database di File .env:
    Pastikan Anda telah membuat database kosong bernama qasirku di MySQL Anda, kemudian sesuaikan parameter koneksi di file .env:
    DB_C
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=qasirku
    DB_USERNAME=root
    DB_PASSWORD=your_mysql_password
    
  4. Instal Dependensi & Generate Key:
    composer install
    npm install
    php artisan key:generate
    
  5. Migrasi Tabel & Dummy Data:
    Untuk mempermudah pengujian alur penjualan POS, sangat disarankan menggunakan pilihan seeding dummy data agar database terisi data outlet, produk multi-satuan, kategori, supplier, member, batch aktif, histori grafik trend laporan, dan shift kasir aktif:
    php artisan migrate:fresh --seed
    php artisan db:seed --class=DummyDataSeeder
    
  6. Jalankan Server Lokal:
    Aktifkan web server PHP dan compiler Vue secara bersamaan di dua terminal:
    • Terminal 1: php artisan serve
    • Terminal 2: npm run dev
      Akses aplikasi melalui browser di: http://127.0.0.1:8000

🔑 Akun Demo Pengujian

Gunakan akun demo di bawah ini untuk menguji hak akses RBAC (Role-Based Access Control) Qasirku:

Role PeranEmail LoginPasswordPenugasan Outlet Default
Super Adminsuperadmin@example.compasswordBebas Akses Semua Outlet
Admin Useradmin@example.compasswordOutlet Jakarta & Surabaya
Manager Usermanager@example.compasswordOutlet Jakarta & Bandung
Kasir Usercashier@example.compasswordDibatasi ke Outlet Jakarta Saja

🐳 Panduan Deployment Menggunakan Docker

Sistem orkestrasi Docker Compose Qasirku telah dikonfigurasi lengkap untuk siap di-deploy pada server Linux VPS Ubuntu produksi menggunakan container Nginx + PHP-FPM + MySQL + Redis.

Cara Deploy Cepat:

  1. Clone Project atau Upload Folder ke Server:
    git clone <repository-url> /var/www/qasirku
    cd /var/www/qasirku
    
  2. Buat File Environment Produksi:
    cp .env.example .env
    nano .env
    
    Atur APP_ENV=production, APP_DEBUG=false, DB_C DB_HOST=mysql`, dan atur password database MySQL yang aman.
  3. Bangun Container (Multi-stage Node & PHP Build):
    docker compose -f docker-compose.prod.yml up -d --build
    
  4. Inisialisasi Laravel Dalam Container:
    docker compose -f docker-compose.prod.yml exec app php artisan key:generate
    docker compose -f docker-compose.prod.yml exec app php artisan migrate --force
    docker compose -f docker-compose.prod.yml exec app php artisan db:seed --force
    docker compose -f docker-compose.prod.yml exec app php artisan storage:link
    
    # Caching optimasi rute & config
    docker compose -f docker-compose.prod.yml exec app php artisan config:cache
    docker compose -f docker-compose.prod.yml exec app php artisan route:cache
    docker compose -f docker-compose.prod.yml exec app php artisan view:cache
    

🔑 Modul Proteksi Lisensi

  1. Bypass Lisensi Otomatis (Local/Dev):
    Sistem verifikasi lisensi tidak akan aktif bila dijalankan di lingkungan pengembangan lokal:
    • .env diatur APP_ENV=local atau APP_ENV=testing.
    • Host domain berupa: localhost, 127.0.0.1, IP private LAN (192.168.*, 10.*), domain .test atau .local.
  2. Kunci Lisensi Produksi:
    Di server produksi online, middleware license.verify akan mengunci sistem dan memaksa redirect ke /admin/license/activate sampai dimasukkan lisensi valid. Lisensi terikat pada APP_KEY. Jangan men-generate ulang APP_KEY setelah melakukan aktivasi lisensi.

Developed with ❤️ for Retailers. Copyright © 2026. All rights reserved.

Produk lainnya

Semua Web App →