Welcome to Branché Dashboard

Ringkasan cepat operasional toko. Bagian ini akan terus ditambah nanti.
Total Penjualan Bulan Ini
pcs terjual (dari Laporan Toko)
Total Uang Keluar Bulan Ini
untuk keperluan toko

Stok Opname — Branché

Hitung stok per lokasi, cocokkan dengan data sistem, dan unduh hasilnya. Data tersimpan real-time di Supabase.
⚙ Pengaturan sinkronisasi SKU master (Google Sheets)
Belum punya URL-nya? Buka Google Sheet data master SKU kamu → Extensions → Apps Script → tempel kode berikut → Deploy → New deployment → Web app (Execute as: Me, Who has access: Anyone) → salin URL yang dihasilkan.
function doGet(e){var ss=SpreadsheetApp.getActiveSpreadsheet();var result={};ss.getSheets().forEach(function(sh){var d=sh.getDataRange().getValues();if(d.length<1){result[sh.getName()]=[];return;}var h=d[0].map(String);var rows=d.slice(1).map(function(r){var o={};h.forEach(function(k,i){o[k]=r[i];});return o;});result[sh.getName()]=rows;});var json=JSON.stringify(result);var cb=e&&e.parameter&&e.parameter.callback;if(cb){return ContentService.createTextOutput(cb+'('+json+')').setMimeType(ContentService.MimeType.JAVASCRIPT);}return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JSON);}function doPost(e){var body=JSON.parse(e.postData.contents);var ss=SpreadsheetApp.getActiveSpreadsheet();Object.keys(body).forEach(function(sheetName){var sh=ss.getSheetByName(sheetName);if(!sh)sh=ss.insertSheet(sheetName);var rowsData=body[sheetName];sh.clearContents();if(!rowsData.length)return;var headers=Object.keys(rowsData[0]);var out=[headers];rowsData.forEach(function(row){out.push(headers.map(function(h){return row[h]!==undefined?row[h]:'';}));});sh.getRange(1,1,out.length,headers.length).setValues(out);});return ContentService.createTextOutput(JSON.stringify({ok:true})).setMimeType(ContentService.MimeType.JSON);}
Kode ini otomatis ambil semua tab/halaman di file Sheets kamu — masing-masing tab muncul sebagai tab terpisah di halaman "Master SKU" pada dashboard. Tab mana pun yang punya kolom "sku" otomatis ikut dipakai untuk pencarian di Stok Opname & Print Label.
Pastikan tab yang isinya data produk punya kolom yang mengandung kata "sku", kolom nama produk (mis. "SKU", "Nama Produk"), dan opsional kolom "Harga" kalau mau dipakai di Print Label.
Kalau URL Apps Script kamu sudah ada dari sebelumnya, edit ulang kodenya lalu Deploy → Manage deployments → Edit (ikon pensil) → New version, supaya URL-nya tetap sama.
Alternatif: blok semua data master SKU di Google Sheets (termasuk header), copy, lalu tempel di sini:
🏬 Kelola Lokasi Gudang

Scan barang

0
Total unit terhitung
0
SKU unik
-
Lokasi aktif

Hasil hitung stok

SKUProdukLokasiQtyPetugas

Cocokkan dengan stok sistem

Unggah file Excel/CSV stok sistem dari sumber manapun (Jubelio, export manual, dll) — kamu bisa pilih sendiri kolom mana yang dipakai.

Tambah Jam Denda Manual

Untuk denda jam yang sedang berjalan/sudah ada sebelumnya, tanpa harus lewat konfirmasi kesalahan per SKU.

Input Penggunaan Jam Denda

Petugas yang punya denda jam input di sini setiap kali jam dendanya sudah dipakai/ditebus.

Rekap Utang Jam

Setiap 1 pcs selisih stok = 8 jam denda, dibagi rata ke petugas yang ditetapkan dari tabel "Cocokkan dengan stok sistem" di atas. Klik nama petugas untuk lihat riwayat penggunaan jamnya.
Nama PetugasTotal JamTerpakaiSisaAksi