@extends('layouts.app') @push('styles') @endpush @section('content') @php $menuDocs = [ [ 'title' => 'Dashboard', 'badge' => 'Overview', 'icon' => '๐Ÿ“Š', 'color' => 'from-blue-500 to-cyan-500', 'desc' => 'Ringkasan kondisi bisnis harian: total order, omzet, status produksi, pekerjaan aktif, dan indikator penting lain dalam satu layar utama.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'Intelligence', 'badge' => 'AI Insight', 'icon' => '๐Ÿง ', 'color' => 'from-violet-500 to-fuchsia-500', 'desc' => 'Insight pintar untuk membaca tren penjualan, pola transaksi, performa operasional, dan peluang perbaikan bisnis.', 'iconTone' => 'guide-icon-brand', ], [ 'title' => 'Orders', 'badge' => 'Sales Flow', 'icon' => '๐Ÿงพ', 'color' => 'from-emerald-500 to-green-500', 'desc' => 'Mengelola pesanan pelanggan dari input order, item pekerjaan, bahan, file, status proses, sampai order selesai.', 'iconTone' => 'guide-icon-success', ], [ 'title' => 'Surat Jalan', 'badge' => 'Delivery Note', 'icon' => '๐Ÿšš', 'color' => 'from-blue-500 to-indigo-500', 'desc' => 'Mengelola pengiriman barang dari order yang sudah lunas atau piutang, memilih kendaraan, membuat nomor surat jalan, mencetak surat jalan A4, A5, atau 21,5 ร— 16,5 cm, serta memantau status dikirim dan diterima.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'Kasir', 'badge' => 'Payment', 'icon' => '๐Ÿ’ณ', 'color' => 'from-teal-500 to-emerald-500', 'desc' => 'Semua aktivitas pembayaran, pelunasan, cetak nota, penerimaan uang, transaksi operasional kasir, pilihan PPN saat pembayaran, dan cetak invoice berbagai ukuran.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'PPN / Pajak', 'badge' => 'Tax Setting', 'icon' => '๐Ÿงพ', 'color' => 'from-blue-500 to-indigo-600', 'desc' => 'Mengatur PPN default, persentase pajak, data PKP/NPWP, dan catatan pajak. PPN tidak dipilih dari tombol cetak, tetapi diaktifkan saat proses pembayaran agar subtotal, PPN, total tagihan, laporan, dan invoice tetap sinkron.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'Produksi', 'badge' => 'Workshop', 'icon' => '๐Ÿญ', 'color' => 'from-sky-500 to-blue-500', 'desc' => 'Memantau antrian kerja, proses operator, tahapan cetak, finishing, sampai order benar-benar selesai.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'Pembatalan', 'badge' => 'Cancel Control', 'icon' => '๐Ÿ›‘', 'color' => 'from-rose-500 to-red-500', 'desc' => 'Mencatat dan mengelola order batal agar tidak ikut terbaca sebagai piutang, penjualan aktif, maupun pembukuan berjalan.', 'iconTone' => 'guide-icon-orange', ], [ 'title' => 'Absensi', 'badge' => 'Attendance', 'icon' => '๐Ÿ•’', 'color' => 'from-emerald-500 to-teal-500', 'desc' => 'Menu khusus untuk absensi karyawan. Karyawan bisa absen masuk dan pulang sesuai radius lokasi, sedangkan admin dapat melihat rekap harian, export laporan, dan mengatur lokasi serta jam absensi.', 'iconTone' => 'guide-icon-success', ], [ 'title' => 'Data Keuangan', 'badge' => 'Finance Core', 'icon' => '๐Ÿ’ฐ', 'color' => 'from-lime-500 to-green-500', 'desc' => 'Pengelolaan kas, bank, mutasi, saldo, buku kas, dan transaksi inti keuangan sistem.', 'iconTone' => 'guide-icon-success', ], [ 'title' => 'Laporan', 'badge' => 'Reporting', 'icon' => '๐Ÿ“ˆ', 'color' => 'from-indigo-500 to-blue-500', 'desc' => 'Laporan penjualan, produksi, kas, pengeluaran, pembelian, dan performa operasional yang siap ditinjau atau dicetak.', 'iconTone' => 'guide-icon-brand', ], [ 'title' => 'Data Produk', 'badge' => 'Catalog', 'icon' => '๐Ÿ“ฆ', 'color' => 'from-cyan-500 to-sky-500', 'desc' => 'Mengelola produk atau layanan, kategori, harga, spesifikasi, dan relasi bahan terhadap produk.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => 'Bahan & Stock', 'badge' => 'Inventory', 'icon' => '๐Ÿงฑ', 'color' => 'from-stone-500 to-slate-500', 'desc' => 'Mengatur stok bahan baku, pergerakan stok, bahan custom, komponen bahan, dan ketersediaan persediaan produksi.', 'iconTone' => 'guide-icon-warning', ], [ 'title' => 'Pembelian', 'badge' => 'Procurement', 'icon' => '๐Ÿ›’', 'color' => 'from-orange-500 to-amber-500', 'desc' => 'Mencatat pembelian bahan atau barang dari supplier berikut nilai pembelian, hutang, dan status pembayarannya.', 'iconTone' => 'guide-icon-warning', ], [ 'title' => 'Pengeluaran', 'badge' => 'Expense', 'icon' => '๐Ÿ’ธ', 'color' => 'from-pink-500 to-rose-500', 'desc' => 'Mencatat seluruh biaya operasional di luar pembelian utama, termasuk expense harian dan biaya usaha lainnya.', 'iconTone' => 'guide-icon-orange', ], [ 'title' => 'Admin', 'badge' => 'Control', 'icon' => '๐Ÿ›ก๏ธ', 'color' => 'from-gray-600 to-slate-700', 'desc' => 'Kontrol sistem, validasi, pengaturan operasional, dan kebutuhan administrasi aplikasi.', 'iconTone' => 'guide-icon-brand', ], [ 'title' => 'Master Data', 'badge' => 'Reference', 'icon' => '๐Ÿ—‚๏ธ', 'color' => 'from-purple-500 to-violet-500', 'desc' => 'Mengelola data inti seperti customer, supplier, akun pembayaran, kategori, satuan, dan referensi sistem lainnya.', 'iconTone' => 'guide-icon-brand', ], [ 'title' => 'SDM', 'badge' => 'Human Resource', 'icon' => '๐Ÿ‘ฅ', 'color' => 'from-blue-500 to-indigo-500', 'desc' => 'Mengelola data karyawan, jabatan, payroll, dan administrasi tenaga kerja. Untuk absensi harian, sistem sudah menyediakan menu Absensi khusus agar lebih mudah diakses.', 'iconTone' => 'guide-icon-blue', ], [ 'title' => '๐Ÿ‘‘ Pro', 'badge' => 'Premium', 'icon' => '๐Ÿ‘‘', 'color' => 'from-amber-500 to-orange-500', 'desc' => 'Penanda fitur premium atau fitur lanjutan yang memberi otomatisasi, insight, dan kontrol operasional lebih dalam.', 'iconTone' => 'guide-icon-warning', ], ]; $menuGroups = [ [ 'title' => 'Front Office & Penjualan', 'desc' => 'Menu yang sering dipakai saat melayani pelanggan dari awal sampai order dibayar.', 'items' => ['Dashboard', 'Orders', 'Surat Jalan', 'Kasir', 'Data Produk'], ], [ 'title' => 'Produksi & Persediaan', 'desc' => 'Menu operasional harian untuk memproses pekerjaan dan memastikan bahan selalu siap.', 'items' => ['Produksi', 'Bahan & Stock', 'Pembelian', 'Pembatalan'], ], [ 'title' => 'Finance, Laporan & Kontrol', 'desc' => 'Menu untuk membaca angka usaha, pembukuan, SDM, absensi, pengaturan, dan insight bisnis.', 'items' => ['Data Keuangan', 'Laporan', 'Pengeluaran', 'PPN / Pajak', 'Absensi', 'Master Data', 'SDM', 'Admin', 'Intelligence', '๐Ÿ‘‘ Pro'], ], ]; $simpleFlow = [ ['step' => '01', 'title' => 'pelanggan datang', 'note' => 'Pelanggan datang ke toko dan menyampaikan kebutuhan cetak ke team design.'], ['step' => '02', 'title' => 'team design menginput order', 'note' => 'Team design memasukkan detail pesanan ke sistem dan memastikan spesifikasi sudah benar.'], ['step' => '03', 'title' => 'mencetak spk', 'note' => 'Setelah order masuk, team design mencetak SPK sebagai dasar kerja produksi.'], ['step' => '04', 'title' => 'pembayaran ke kasir', 'note' => 'Pelanggan diarahkan ke kasir untuk pembayaran. Jika transaksi memakai PPN, kasir mengaktifkan checkbox PPN saat proses pembayaran agar nilai PPN tersimpan ke data order.'], ['step' => '05', 'title' => 'cetak nota / invoice', 'note' => 'Setelah pembayaran berhasil, kasir bisa mencetak POS 80mm, Invoice A4, Invoice A5 landscape, atau Invoice 21,5 ร— 16,5 cm sesuai kebutuhan pelanggan.'], ['step' => '06', 'title' => 'scan barcode nota', 'note' => 'Pelanggan dapat scan barcode di nota atau invoice untuk memantau progres order secara mandiri.'], ['step' => '07', 'title' => 'spk diberikan ke customer service', 'note' => 'SPK yang sudah dicetak diteruskan ke customer service untuk diserahkan ke operator.'], ['step' => '08', 'title' => 'operator cek order dan update status', 'note' => 'Operator mengecek order lalu mengubah status menjadi produksi, proses cetak, dan finishing.'], ['step' => '09', 'title' => 'team finishing mengerjakan hasil akhir', 'note' => 'Finishing mengerjakan laminating glossy/doff, cutting die cut, kiss cut, dan proses akhir lainnya.'], ['step' => '10', 'title' => 'final check klik selesai', 'note' => 'Setelah pengecekan akhir, status diubah menjadi selesai dan order siap diambil pelanggan.'], ['step' => '11', 'title' => 'buat surat jalan jika barang dikirim', 'note' => 'Jika order dikirim ke pelanggan, admin membuat surat jalan, memilih kendaraan, lalu mencetak sesuai ukuran kertas yang dibutuhkan.'], ]; $orderLatestUpdates = [ [ 'module' => 'Kasir / Invoice / PPN', 'title' => 'PPN Dipilih Saat Pembayaran, Invoice Multi Ukuran', 'icon' => '๐Ÿงพ', 'tone' => 'guide-icon-blue', 'gradient' => 'from-blue-500 to-indigo-600', 'desc' => 'PPN sekarang tidak lagi ditentukan dari tombol cetak. PPN diaktifkan saat proses pembayaran, lalu sistem menyimpan subtotal sebelum PPN, persentase PPN, nilai PPN, dan total tagihan ke order. Invoice hanya membaca data yang sudah tersimpan agar laporan dan nota tetap sinkron.', 'flow' => [ 'Kasir membuka halaman pembayaran order.', 'Jika transaksi memakai PPN, kasir centang Gunakan PPN.', 'Sistem menghitung subtotal, PPN, dan total tagihan.', 'Saat pembayaran disimpan, data PPN ikut tersimpan ke order.', 'Setelah pembayaran berhasil, user bisa cetak POS 80mm, A4, A5 landscape, atau 21,5 ร— 16,5 cm.', 'Barcode invoice mengarah ke trace order agar pelanggan bisa cek status pesanan.', ], ], [ 'module' => 'Surat Jalan', 'title' => 'Surat Jalan Multi Ukuran Cetak', 'icon' => '๐Ÿšš', 'tone' => 'guide-icon-blue', 'gradient' => 'from-blue-500 to-indigo-600', 'desc' => 'Surat Jalan sekarang mendukung beberapa pilihan ukuran cetak: A4, A5, dan ukuran custom 21,5 ร— 16,5 cm. User bisa memilih ukuran dari detail surat jalan tanpa membuat data surat jalan baru.', 'flow' => [ 'Admin membuat surat jalan dari order yang sudah lunas atau piutang.', 'Admin memilih kendaraan dari master data kendaraan.', 'Sistem membuat nomor surat jalan otomatis.', 'Dari detail surat jalan, user memilih Cetak A4, Cetak A5, atau Cetak 21,5 ร— 16,5.', 'Template print menyesuaikan margin, font, tinggi tabel, dan area tanda tangan sesuai ukuran kertas.', ], ], [ 'module' => 'Orders + Inventory', 'title' => 'Bahan Custom Tetap Tampil di Form Order', 'icon' => '๐Ÿงฉ', 'tone' => 'guide-icon-brand', 'gradient' => 'from-violet-500 to-indigo-600', 'desc' => 'Bahan custom sekarang tetap muncul saat membuat atau mengedit order. Sistem tidak lagi membaca stok bahan custom sebagai stok fisik, tapi membaca ketersediaan dari bahan komponennya.', 'flow' => [ 'Bahan custom dibuat dari beberapa komponen.', 'Di order form, bahan custom tetap muncul walaupun stok bahan custom = 0.', 'Yang dicek adalah stok komponen, bukan stok custom-nya sendiri.', 'Saat order diproses, stok yang berkurang hanya bahan komponennya.', ], ], [ 'module' => 'Orders', 'title' => 'Guard Stock < 1 = Stok 0, Order Diblok', 'icon' => 'โ›”', 'tone' => 'guide-icon-orange', 'gradient' => 'from-rose-500 to-red-600', 'desc' => 'Jika stok bahan biasa di bawah 1 atau komponen bahan custom tidak cukup, sistem menandai kondisi itu sebagai stok 0 dan order tidak bisa dilanjutkan.', 'flow' => [ 'Sistem membaca ketersediaan bahan saat form order dibuka.', 'Jika stok < 1, material ditandai tidak tersedia.', 'Saat submit, backend cek ulang stok dengan guard final.', 'Jika stok tidak cukup, order diblok dan user mendapat notifikasi stok 0.', ], ], [ 'module' => 'Orders UI', 'title' => 'Dropdown Bahan Dirapikan', 'icon' => '๐Ÿงญ', 'tone' => 'guide-icon-blue', 'gradient' => 'from-cyan-500 to-blue-600', 'desc' => 'Dropdown bahan di create dan edit order dirapikan agar lebih aman untuk operator. Material custom diberi penanda jelas, material stok kosong diberi label stok 0, dan material yang dipakai order lama tetap muncul saat edit.', 'flow' => [ 'Produk dipilih dulu.', 'Daftar bahan dibatasi sesuai relasi produk + bahan custom.', 'Bahan stok habis diberi status stok 0 / tidak tersedia.', 'Saat edit order, bahan lama tetap tampil agar data tidak hilang.', ], ], ]; $systemFeatures = [ [ 'module' => 'Kasir / PPN / Invoice', 'title' => 'Invoice PPN Multi Ukuran', 'icon' => '๐Ÿงพ', 'tone' => 'guide-icon-blue', 'gradient' => 'from-blue-500 to-indigo-600', 'desc' => 'Fitur invoice sudah dibuat agar mendukung PPN saat pembayaran dan pilihan cetak multi ukuran. Invoice A4, A5 landscape, 21,5 ร— 16,5 cm, dan nota POS 80mm membaca data PPN yang sama dari order.', 'flow' => [ 'Admin mengatur PPN default dari menu PPN / Pajak.', 'Kasir mengaktifkan PPN saat pembayaran jika transaksi wajib pajak.', 'Sistem menyimpan use_ppn, ppn_rate, ppn_amount, subtotal_before_ppn, dan total_price.', 'Halaman pembayaran berhasil menampilkan tombol cetak POS 80mm, A4, A5, dan 21,5 ร— 16,5.', 'Invoice menampilkan checklist Invoice + PPN atau Tanpa PPN sesuai data order.', 'Barcode di invoice dan nota POS 80mm mengarah ke halaman trace order.', ], ], [ 'module' => 'Surat Jalan / Pengiriman', 'title' => 'Surat Jalan dengan Master Kendaraan', 'icon' => '๐Ÿšš', 'tone' => 'guide-icon-blue', 'gradient' => 'from-blue-500 to-indigo-600', 'desc' => 'Fitur Surat Jalan menghubungkan order dengan data kendaraan. Admin bisa memilih kendaraan, plat nomor, supir, penerima, alamat tujuan, tanggal kirim, dan mencetak surat jalan dalam beberapa ukuran kertas.', 'flow' => [ 'Master Data Kendaraan diisi terlebih dahulu.', 'Order dibuat seperti biasa sampai status valid untuk dikirim.', 'Admin membuat Surat Jalan dari order.', 'Pilih kendaraan agar nama kendaraan, plat, supir, dan nomor HP otomatis terisi.', 'Cetak surat jalan dengan pilihan A4, A5, atau 21,5 ร— 16,5 cm.', 'Status surat jalan bisa diubah menjadi dicetak, dikirim, diterima, atau dibatalkan.', ], ], [ 'module' => 'Absensi', 'title' => 'Absensi Karyawan Berbasis Lokasi', 'icon' => '๐Ÿ•’', 'tone' => 'guide-icon-success', 'gradient' => 'from-emerald-500 to-teal-600', 'desc' => 'Fitur absensi dibuat sebagai menu khusus yang terpisah dari SDM. Karyawan hanya bisa absen jika berada dalam radius lokasi yang sudah ditentukan, dengan validasi absen masuk, absen pulang, rekap harian, dan export laporan.', 'flow' => [ 'Admin mengatur lokasi absensi, radius, jam masuk, jam pulang, dan toleransi.', 'Karyawan login menggunakan akun yang sudah terhubung ke data karyawan.', 'Popup dan tombol absensi muncul saat belum absen masuk.', 'Setelah absen masuk, popup dan tombol hilang sampai masuk jam pulang.', 'Saat sudah jam pulang, popup dan tombol muncul kembali untuk absen pulang.', 'Setelah absen pulang, absensi hari itu dianggap lengkap dan tombol hilang.', 'Admin dapat melihat rekap harian dan export laporan absensi.', ], ], [ 'module' => 'Absensi / Auto Absen', 'title' => 'Auto Absen untuk Akun Flexible', 'icon' => 'โš™๏ธ', 'tone' => 'guide-icon-brand', 'gradient' => 'from-indigo-500 to-violet-600', 'desc' => 'Akun tertentu seperti owner atau tim dengan jam kerja flexible bisa diatur sebagai auto absen oleh Developer. Data tetap masuk rekap, tetapi label dan catatan auto absen disembunyikan agar tidak menimbulkan kecemburuan sosial.', 'flow' => [ 'Developer mengaktifkan auto absen pada data karyawan tertentu.', 'Akun auto absen tidak perlu melakukan absen manual.', 'Sistem membuat data absensi otomatis per hari saat rekap dibuka.', 'Data tetap tampil di rekap absensi.', 'Catatan auto absen dikosongkan saat export laporan.', 'Pengaturan auto absen hanya terlihat untuk akun Developer.', ], ], [ 'module' => 'Produksi / Finishing', 'title' => 'Dashboard Finishing LIVE', 'icon' => '๐Ÿ–จ๏ธ', 'tone' => 'guide-icon-blue', 'gradient' => 'from-sky-500 to-blue-600', 'desc' => 'Dashboard finishing dibuat realtime seperti operator dashboard. Ada status LIVE/OFFLINE, refresh manual, voice notification, insight AI, kartu statistik, dan notifikasi order baru.', 'flow' => [ 'Order masuk ke antrian finishing', 'Dashboard membaca data realtime', 'Operator klik Selesai / Kembali ke Proses Cetak', 'Setelah submit, halaman otomatis scroll ke atas agar flash status langsung terlihat', ], ], [ 'module' => 'SDM / Gaji', 'title' => 'Pembayaran Gaji dengan Sumber Dana', 'icon' => '๐Ÿ’ต', 'tone' => 'guide-icon-success', 'gradient' => 'from-emerald-500 to-green-600', 'desc' => 'Saat bayar gaji, user bisa memilih sumber pembayaran dari Kas Tunai atau Kas Bank. Jika pilih bank, rekening bank wajib dipilih agar pencatatan kas dan pembukuan sinkron.', 'flow' => [ 'Draft gaji dibuat dari form payroll', 'Klik Bayar Gaji', 'Pilih sumber pembayaran cash / bank', 'Simpan payment_source, rekening, paid_at, dan catatan', ], ], [ 'module' => 'Slip Gaji', 'title' => 'Slip Gaji Modern Siap Cetak', 'icon' => '๐Ÿงพ', 'tone' => 'guide-icon-warning', 'gradient' => 'from-amber-500 to-orange-500', 'desc' => 'Slip gaji sudah dirapikan agar tampil modern saat dicetak. Struktur tetap mengikuti data utama payroll: gaji pokok, tunjangan, lembur, bonus, potongan, total, dan info pembayaran.', 'flow' => [ 'Gaji dibayar', 'Status berubah paid', 'Slip dibuka dari daftar gaji', 'Slip menampilkan take home pay dan detail pembayaran', ], ], [ 'module' => 'Finance', 'title' => 'Laporan Kas Sinkron', 'icon' => '๐Ÿ’ณ', 'tone' => 'guide-icon-brand', 'gradient' => 'from-violet-500 to-indigo-600', 'desc' => 'Laporan kas sekarang menghitung Kas Kecil, Kas Tunai, dan Kas Bank dengan sumber data yang sinkron: pembayaran order, modal, setoran, mutasi, pembayaran supplier, dan pembayaran gaji.', 'flow' => [ 'Dana masuk dari pembayaran order / modal / mutasi', 'Dana keluar dari setoran, supplier, dan gaji', 'Controller membaca semuanya per sumber kas', 'Saldo kas tampil konsisten di dashboard kas', ], ], [ 'module' => 'Laporan', 'title' => 'Cash Ledger / Buku Besar Kas', 'icon' => '๐Ÿ“’', 'tone' => 'guide-icon-blue', 'gradient' => 'from-cyan-500 to-sky-600', 'desc' => 'Buku Besar Kas sudah membaca transaksi kas masuk dan keluar, termasuk pembayaran gaji. Jadi saat kas berkurang, mutasinya muncul juga di ledger.', 'flow' => [ 'Transaksi kas dicatat dari sumber aktif', 'Ledger mengelompokkan debit dan kredit', 'Pembayaran gaji tampil sebagai kredit kas', 'Saldo berjalan terbentuk otomatis', ], ], [ 'module' => 'Pembukuan', 'title' => 'Laba Rugi Sinkron', 'icon' => '๐Ÿ“ˆ', 'tone' => 'guide-icon-success', 'gradient' => 'from-green-500 to-emerald-600', 'desc' => 'Laba Rugi sekarang membaca beban gaji dari gaji yang benar-benar sudah dibayar berdasarkan paid_at, sehingga beban operasional tidak lagi putus dengan kas.', 'flow' => [ 'Order paid membentuk pendapatan', 'Pembelian membentuk cost', 'Expense dan gaji membentuk beban', 'Net profit dihitung dari transaksi yang benar-benar terjadi', ], ], [ 'module' => 'Pembukuan', 'title' => 'Neraca Akuntansi Penuh', 'icon' => 'โš–๏ธ', 'tone' => 'guide-icon-orange', 'gradient' => 'from-orange-500 to-rose-600', 'desc' => 'Neraca dipisah menjadi aset lancar, aset tetap, kewajiban, modal pemilik, prive, serta laba ditahan. Kas tunai dan kas bank kini ikut berkurang saat gaji dibayar, dan utang gaji membaca gaji yang belum dibayar.', 'flow' => [ 'Kas dihitung per sumber kas', 'Piutang, persediaan, aset tetap dibaca terpisah', 'Hutang usaha, utang gaji, dan utang lain-lain dihitung di sisi pasiva', 'Ekuitas terbentuk dari modal, prive, dan laba ditahan', ], ], [ 'module' => 'Pembukuan', 'title' => 'Jurnal Umum', 'icon' => '๐Ÿ“š', 'tone' => 'guide-icon-brand', 'gradient' => 'from-fuchsia-500 to-violet-600', 'desc' => 'Jurnal Umum dibuat untuk mengumpulkan semua transaksi utama dalam format debit-kredit: penjualan, pembayaran supplier, gaji, expense, modal, setoran, dan mutasi.', 'flow' => [ 'Sistem baca transaksi dari modul aktif', 'Setiap transaksi dibentuk jadi pasangan debit-kredit', 'User bisa filter tanggal dan rekening', 'Bisa print dan export untuk pembukuan', ], ], ]; $syncFlows = [ [ 'title' => 'Alur PPN โ†’ Pembayaran โ†’ Invoice โ†’ Laporan', 'steps' => [ 'Admin mengatur PPN default, rate pajak, dan data PKP/NPWP dari menu PPN / Pajak.', 'Saat proses pembayaran, kasir memilih apakah transaksi memakai PPN atau tanpa PPN.', 'Jika PPN aktif, sistem menghitung subtotal sebelum PPN, nilai PPN, dan total akhir.', 'Data PPN tersimpan ke order, bukan hanya tampil di halaman cetak.', 'Invoice A4, A5 landscape, 21,5 ร— 16,5, dan POS 80mm membaca data PPN dari order yang sama.', 'Karena data PPN tersimpan di order, nominal tagihan, pelunasan, invoice, dan laporan tetap sinkron.', 'Barcode pada nota dan invoice mengarah ke trace order untuk cek status pesanan pelanggan.', ], ], [ 'title' => 'Alur Surat Jalan โ†’ Kendaraan โ†’ Cetak Multi Ukuran', 'steps' => [ 'Admin mengisi Master Data Kendaraan berisi nama kendaraan, plat nomor, supir, nomor HP, dan status aktif.', 'Order dibuat dari menu Orders dan diproses sampai lunas atau masuk piutang.', 'Admin masuk ke menu Surat Jalan lalu memilih order yang akan dikirim.', 'Saat kendaraan dipilih, sistem mengisi otomatis nama kendaraan, plat nomor, nama supir, dan nomor HP supir.', 'Sistem membuat nomor surat jalan otomatis dengan format SJ/tahun/bulan/nomor urut.', 'Dari detail Surat Jalan, user bisa memilih Cetak A4, Cetak A5, atau Cetak 21,5 ร— 16,5 cm.', 'Saat dicetak, status surat jalan berubah menjadi sudah dicetak.', 'Setelah barang keluar, admin dapat menandai status menjadi dikirim, lalu diterima saat barang sudah sampai.', ], ], [ 'title' => 'Alur Absensi Karyawan โ†’ Rekap Harian โ†’ Export Laporan', 'steps' => [ 'Admin mengatur lokasi absensi, radius, jam masuk, jam pulang, toleransi telat, dan toleransi pulang cepat.', 'Karyawan login dengan akun yang sudah dihubungkan ke data karyawan.', 'Sebelum absen masuk, popup dan tombol Absensi muncul otomatis.', 'Saat karyawan klik absen masuk, sistem mengambil lokasi GPS dan mencocokkan dengan radius lokasi.', 'Jika lokasi sesuai radius, absen masuk tercatat dan sistem menghitung keterlambatan bila melewati toleransi.', 'Setelah absen masuk, popup dan tombol Absensi hilang agar tidak mengganggu operasional.', 'Saat sudah masuk jam pulang, popup dan tombol Absensi muncul kembali untuk absen pulang.', 'Setelah absen pulang, data absensi dianggap lengkap dan masuk ke rekap harian.', 'Admin dapat membuka Rekap Absensi untuk melihat kehadiran, telat, pulang cepat, dan export laporan CSV.', ], ], [ 'title' => 'Alur Sinkron Gaji โ†’ Kas โ†’ Buku Besar โ†’ Laba Rugi โ†’ Neraca', 'steps' => [ 'Gaji dibuat dalam status draft.', 'User klik Bayar Gaji lalu memilih sumber pembayaran: Kas Tunai atau Kas Bank.', 'Sistem menyimpan paid_at, payment_source, payment_method, rekening bank, dan catatan pembayaran.', 'Laporan Kas langsung mengurangi saldo kas sesuai sumber pembayarannya.', 'Cash Ledger / Buku Besar menampilkan pembayaran gaji sebagai kredit kas.', 'Laba Rugi membaca pembayaran gaji sebagai beban gaji.', 'Neraca membaca kas berkurang dan utang gaji menyesuaikan status pembayarannya.', ], ], [ 'title' => 'Alur Sinkron Transaksi Umum โ†’ Jurnal Umum', 'steps' => [ 'Pembayaran order dibaca sebagai penerimaan kas dan penjualan.', 'Pembayaran supplier dibaca sebagai pengurangan hutang usaha dan pengurangan kas.', 'Expense dibaca sebagai beban operasional dan pengurang kas kecil.', 'Deposit dibaca sebagai perpindahan dari kas tunai ke kas bank.', 'Mutasi kas dibaca sebagai perpindahan antar akun kas.', 'Modal dibaca sebagai penambahan kas dan modal pemilik.', 'Semua transaksi dibentuk otomatis ke dalam pasangan debit-kredit di Jurnal Umum.', ], ], [ 'title' => 'Alur Produksi & Finishing yang Sudah Diperbarui', 'steps' => [ 'Order diproses dari design ke produksi berdasarkan SPK.', 'Operator mengubah status ke produksi, cetak, lalu finishing.', 'Dashboard finishing live memantau antrian, proses, dan selesai hari ini.', 'Jika ada revisi, order bisa dikembalikan ke proses cetak.', 'Saat klik selesai, status order berubah dan halaman otomatis scroll ke atas agar notifikasi hasil langsung terlihat.', ], ], [ 'title' => 'Alur Baru Bahan Custom & Guard Stok Order', 'steps' => [ 'Bahan custom dibuat dari komponen bahan dan tidak memakai stok custom sebagai stok fisik.', 'Saat form order dibuka, material biasa dicek dari stoknya sendiri, sedangkan bahan custom dicek dari stok komponennya.', 'Jika stok bahan biasa di bawah 1 atau komponen custom tidak cukup, sistem memberi status stok 0.', 'Dropdown bahan tetap rapi: bahan custom tetap tampil, bahan yang tidak tersedia diberi label stok 0 / tidak bisa dilanjutkan.', 'Saat submit, backend melakukan cek final. Jika tidak cukup, order diblok agar stok tidak minus.', ], ], ]; @endphp
Menu Knowledge Center AI Premium Guide {{ count($menuDocs) }} Menu Utama {{ count($systemFeatures) }} Fitur Inti {{ count($orderLatestUpdates) }} Update Order

Panduan Menu, Update Sistem, & Alur Sinkron

Halaman ini merangkum fungsi menu utama, fitur yang sudah dibuat, serta update terbaru yang tadi ditambahkan: absensi berbasis lokasi, popup absensi otomatis, surat jalan dengan kendaraan dan multi ukuran cetak, PPN saat pembayaran, invoice A4/A5/21,5ร—16,5, nota POS 80mm dengan PPN, bahan custom di order, guard stok di bawah 1, dan perapihan dropdown bahan supaya operator lebih aman saat input transaksi.

Total Tombol
{{ count($menuDocs) }}
Flow Tahap
{{ count($simpleFlow) }}
Fitur Inti
{{ count($systemFeatures) }}
Update Order
{{ count($orderLatestUpdates) }}
Tujuan
Membantu semua user memahami fungsi menu, fitur baru, dan hubungan antar laporan agar tidak bingung saat operasional.
Manfaat
User baru lebih cepat paham alur kerja, sedangkan owner dan admin bisa melihat bagaimana data transaksi tersambung sampai pembukuan.
Update Terkini
PPN kini dipilih saat pembayaran dan tersimpan ke order, invoice bisa dicetak dalam ukuran A4, A5 landscape, 21,5 ร— 16,5 cm, dan POS 80mm. Absensi tetap menjadi menu sendiri, sementara order lebih aman karena stok di bawah 1 dianggap stok 0 dan order diblok sebelum stok minus.
Fokus
Fokus panduan ini adalah alur nyata yang sudah dibuat di sistem, bukan teori umum, jadi lebih mudah dipakai sebagai SOP harian.

Ringkasan Menu yang Sudah Dirapikan

Struktur menu diringkas per kelompok kerja supaya user lebih cepat tahu harus masuk ke menu mana sesuai konteks pekerjaan.

Quick Orientation
@foreach($menuGroups as $group) @endforeach

Bagan Role Transaksi

Alur dasar sistem transaksi percetakan, mulai dari pelanggan datang sampai finishing dan order selesai.

Flow Percetakan
Gambaran umum mengenai alur sistem transaksi percetakan
@foreach($simpleFlow as $item)
{{ $item['step'] }} {{ $item['title'] }}
{{ $item['note'] }}
@endforeach

New Update

Bagian ini khusus merangkum perubahan terbaru pada order, bahan custom, kontrol stok, dan absensi karyawan.

Latest Update
๐Ÿšจ

Aturan Baru Sistem

Absensi sekarang menjadi menu sendiri dengan validasi lokasi/radius dan popup otomatis. PPN sekarang diaktifkan saat proses pembayaran agar data invoice, pelunasan, dan laporan tetap sinkron. Invoice mendukung cetak A4, A5 landscape, 21,5 ร— 16,5 cm, dan POS 80mm. Surat Jalan juga sudah mendukung kendaraan dan pilihan cetak A4, A5, serta 21,5 ร— 16,5 cm. Untuk order, stok bahan di bawah 1 sekarang diperlakukan sebagai stok 0. Jika bahan biasa habis atau komponen bahan custom tidak cukup, order tidak bisa dilanjutkan.

@foreach($orderLatestUpdates as $feature)
{{ $feature['icon'] }}
{{ $feature['module'] }}

{{ $feature['title'] }}

{{ $feature['desc'] }}

Alur Update
@foreach($feature['flow'] as $step) {{ $step }} @endforeach
@endforeach

Fitur yang Sudah Dibuat

Ringkasan semua fitur penting yang sudah dibangun, beserta peran dan alur kerjanya di dalam sistem.

System Update
@foreach($systemFeatures as $feature)
{{ $feature['icon'] }}
{{ $feature['module'] }}

{{ $feature['title'] }}

{{ $feature['desc'] }}

Alur Fitur
@foreach($feature['flow'] as $step) {{ $step }} @endforeach
@endforeach

Alur Sinkron Antar Modul

Penjelasan bagaimana transaksi dari modul operasional naik ke laporan dan pembukuan agar semua angka saling nyambung.

Sync Flow
@foreach($syncFlows as $flow)

{{ $flow['title'] }}

@foreach($flow['steps'] as $step)
{{ $step }}
@endforeach
@endforeach

Fungsi Tiap Menu

Penjelasan fungsi semua menu utama dalam sistem agar user langsung tahu harus masuk ke mana sesuai kebutuhan pekerjaan.

Premium Cards
@foreach($menuDocs as $index => $item)
{{ $item['icon'] }}
{{ str_pad($index + 1, 2, '0', STR_PAD_LEFT) }}
{{ $item['badge'] }}

{{ $item['title'] }}

{{ $item['desc'] }}

@endforeach
@endsection