@extends('layouts.app') @section('title', 'Master Data') @section('content') @php($formatNumber = fn ($value) => rtrim(rtrim(number_format((float) $value, 2, ',', '.'), '0'), ','))
Pengaturan

Master Data

Pilih satu pengaturan yang ingin dikerjakan. Bagian lain tidak akan memenuhi layar.

@if(auth()->user()->isCentralAdmin())

Cabang

Lokasi toko yang memisahkan stok, kas, dan laporan.

@csrf
@foreach($branches as $row)@endforeach
KodeNamaTeleponStatusAksi
{{ $row->code }}{{ $row->name }}{{ $row->phone }}{{ $row->is_active?'Aktif':'Nonaktif' }} @include('admin.partials.toggle',['type'=>'branch','row'=>$row])
@endif

Kategori produk

Dipakai untuk mengelompokkan tombol menu pada layar kasir.

@csrf
@foreach($categories as $row)@endforeach
KodeNamaUrutanStatusAksi
{{ $row->code }}{{ $row->name }}{{ $row->sort_order }}{{ $row->is_active?'Aktif':'Nonaktif' }} @include('admin.partials.toggle',['type'=>'category','row'=>$row])

Daftar satuan

Tambahkan nama dan simbol satuan. Faktor konversi pembelian diatur per bahan pada Bahan baku.

@csrf
@foreach($units as $row)@endforeach
KodeNamaStatusAksi
{{ $row->code }}{{ $row->name }} ({{ $row->symbol }}){{ $row->is_active ? 'Aktif' : 'Nonaktif' }} @include('admin.partials.toggle',['type'=>'unit','row'=>$row])

Produk/Menu

Menu yang muncul di kasir. Setelah produk BOM dibuat, susun resepnya pada menu BOM, HPP & Harga.

Pilih jenis produk dengan benar: BOM untuk menu yang menghabiskan bahan (nasi goreng), stok langsung untuk barang jual utuh (air botol), dan non-stok bila tidak perlu mengurangi stok. Harga jual diatur di menu Harga jual.
@csrf
@foreach($products as $row)@endforeach
FotoKategoriKodeNamaJenis stokHarga jualStatusAksi
@if($row->image_path){{ $row->name }}@else - @endif{{ $row->category?->name ?? 'Tanpa kategori' }}{{ $row->code }}{{ $row->name }}{{ ['bom'=>'BOM / resep','direct'=>'Stok langsung','non_stock'=>'Non-stok'][$row->type] }}Rp{{ number_format($row->final_price,0,',','.') }}{{ $row->is_active?'Aktif':'Nonaktif' }} @include('admin.partials.toggle',['type'=>'product','row'=>$row])
{{ $products->fragment('product')->links() }}

Bahan baku

Stok bahan yang dipakai oleh resep, misalnya nasi matang, telur, dan mie instan.

Aturan satuan: stok disimpan per satuan kecil, sedangkan harga beli diisi per satuan beli. Faktor pengali mengubah harga dan stok secara otomatis untuk setiap bahan.
@csrf
@foreach($materials as $row)@php($priceFactor = $row->purchaseUnit ? ($row->purchase_conversion_factor ?: 1) : 1)@endforeach
KodeNamaSatuan kecilSatuan beliFaktor pengaliMin.Harga beliAksi
{{ $row->code }}{{ $row->name }}{{ $row->baseUnit->symbol }}{{ $row->purchaseUnit?->symbol ?? $row->baseUnit->symbol }}{{ $row->purchaseUnit ? '1 '.$row->purchaseUnit->symbol.' = '.$formatNumber($row->purchase_conversion_factor ?? $row->purchaseUnit->conversion_factor).' '.$row->baseUnit->symbol : '-' }}{{ $formatNumber($row->minimum_stock) }}Rp{{ $formatNumber($row->average_price * $priceFactor) }} / {{ $row->purchaseUnit?->symbol ?? $row->baseUnit->symbol }} @include('admin.partials.toggle',['type'=>'material','row'=>$row])
{{ $materials->fragment('material')->links() }}

Metode pembayaran

Semua pembayaran POS masuk ke saldo akun kas. Tandai tunai hanya untuk mengaktifkan input uang diterima dan kembalian.

@csrf
@foreach($paymentMethods as $row)@endforeach
KodeNamaPencatatanAksi
{{ $row->code }}{{ $row->name }}{{ $row->is_cash?'Tunai — masuk kas':'Non-tunai — tetap masuk kas' }} @include('admin.partials.toggle',['type'=>'payment-method','row'=>$row])

Akun kas

Dompet atau laci kas tempat saldo tunai disimpan per cabang.

@csrf
@foreach($cashAccounts as $row)@endforeach
KodeNamaSaldo awalAksi
{{ $row->code }}{{ $row->name }}Rp{{ number_format($row->opening_balance,0,',','.') }} @include('admin.partials.toggle',['type'=>'cash-account','row'=>$row])

Kategori beban operasional

Kelompok pengeluaran yang mengurangi laba bersih, misalnya gas, listrik, dan transportasi.

@csrf
@foreach($expenseCategories as $row)@endforeach
{{ $row->code }}{{ $row->name }} @include('admin.partials.toggle',['type'=>'expense-category','row'=>$row])
@if(auth()->user()->hasPermission('manage_users'))

Role dan hak akses

Tentukan menu dan tindakan yang boleh digunakan oleh kelompok pengguna.

@csrf
@foreach($permissions as $code=>$label)@endforeach
@foreach($roles as $row)@endforeach
KodeNamaHak aksesAksi
{{ $row->code }}{{ $row->name }}{{ implode(', ', $row->permissions ?? []) }} @include('admin.partials.toggle',['type'=>'role','row'=>$row])

Pengguna

Buat username sederhana untuk kasir, lalu pilih role dan cabang tempatnya bekerja.

@csrf
@foreach($users as $row)@endforeach
NamaUsernameRoleCabangAksi
{{ $row->name }}{{ $row->username }}{{ $row->role?->name }}{{ $row->branch?->name ?? 'Semua' }} @include('admin.partials.toggle',['type'=>'user','row'=>$row])
@endif @endsection @push('scripts')@endpush