Skip to main content

title: “Company Settings” description: “Konfigurasi tingkat perusahaan untuk profil, branding, multi-lokasi, pajak, integrasi, dan kebijakan global SNISHOP ERP.”

Company Settings

Company Settings Company Settings adalah pusat konfigurasi tingkat perusahaan yang hanya bisa diakses oleh admin atau owner. Halaman ini mengatur identitas, operasional, dan integrasi perusahaan secara keseluruhan — semua pengaturan di sini berlaku global untuk seluruh user dan modul di dalam perusahaan. Pengaturan yang benar di halaman ini sangat kritis karena menjadi foundation bagi seluruh modul lainnya. Data perusahaan muncul di invoice, laporan, receipt, dan dokumen legal lainnya.

Arsitektur Konfigurasi

Ringkasan Entitas

Halaman Company Settings mengelola seluruh entitas konfigurasi yang saling terhubung. Setiap entitas bertanggung jawab atas satu domain konfigurasi spesifik:

Tab Konfigurasi

1. Tab Profil Perusahaan

Informasi legal dan identitas perusahaan:

2. Tab Branding

Kustomisasi visual untuk dokumen dan aplikasi: Preview Branding: Setiap perubahan branding bisa langsung di-preview pada template invoice, receipt, dan laporan sebelum disimpan.

3. Tab Lokasi

Manajemen multi-lokasi usaha (cabang, gudang, toko): Fitur Multi-Lokasi:
  • Tambah unlimited lokasi (sesuai paket berlangganan)
  • Stok terpisah per lokasi dengan transfer antar lokasi
  • Laporan penjualan & stok per lokasi
  • Harga berbeda per lokasi (opsional)
  • User assignment per lokasi

4. Tab Pajak

Konfigurasi perpajakan perusahaan: Pengaturan Pajak:
  • Aktifkan/nonaktifkan per jenis pajak
  • Set tarif custom per jenis pajak
  • Konfigurasi apakah harga sudah termasuk pajak (tax inclusive) atau belum (tax exclusive)
  • Mapping akun pajak untuk integrasi dengan modul Keuangan
  • Format faktur pajak sesuai regulasi terbaru

5. Tab Integrasi

Hubungkan SNISHOP ERP dengan layanan eksternal:

6. Tab Dokumen

Konfigurasi penomoran dan template dokumen:

7. Tab Operasional

Pengaturan operasional harian:

Pengaturan POS (CompanyPOSSettings)

Entitas CompanyPOSSettings mengelola konfigurasi sistem kasir (POS) perusahaan. Pengaturan ini mencakup deskripsi konfigurasi dan pengaturan struk POS yang detail.

Fungsi Utama

  • Menyimpan catatan konfigurasi sistem kasir yang digunakan perusahaan
  • Mengatur tampilan dan konten struk POS
  • Menentukan ukuran kertas, font, dan elemen visual struk
  • Mengontrol apakah informasi tertentu ditampilkan di struk (logo, NPWP, nama kasir, dll)

Pengaturan Struk POS


Pengaturan Struk (CompanyReceiptSettings)

Entitas CompanyReceiptSettings mengelola konfigurasi tampilan struk pembelian secara terpisah dari pengaturan POS. Entitas ini memberikan kontrol lebih granular atas elemen-elemen yang ditampilkan pada struk.

Elemen Tampilan Struk

Gunakan show_promo_message dan promo_message untuk menyisipkan pesan marketing di setiap struk, misalnya informasi diskon berikutnya, program loyalty, atau promo musim tertentu.

Pengaturan Absensi (CompanyAttendanceSettings)

Entitas CompanyAttendanceSettings mengelola kebijakan absensi dan pengaturan jam kerja perusahaan secara komprehensif. Termasuk dukungan multi-lokasi geofence dan manajemen shift.

Lokasi Kantor & Geofence

Multi-Lokasi Geofence

Sistem mendukung multi-lokasi geofence melalui array locations. Setiap lokasi memiliki konfigurasi independen:

Jam Kerja & Shift

Pengaturan jam kerja default: Pengaturan shift disimpan sebagai array shifts:

Lembur & Toleransi

Pengaturan Absensi Lainnya


Pengaturan Printer (PrinterSettings)

Entitas PrinterSettings mengelola konfigurasi printer thermal Bluetooth yang digunakan untuk mencetak struk. Setiap user bisa memiliki beberapa printer yang tersimpan, dan satu di antaranya bisa dijadikan printer default.

Konfigurasi Printer

Monitoring Koneksi

Printer diatur pada level per-user, bukan per-perusahaan. Setiap karyawan yang menangani kasir perlu mengonfigurasi printer mereka masing-masing. Field company_id pada PrinterSettings bersifat opsional dan digunakan jika printer dipakai bersama dalam satu perusahaan.

Cara Akses

Flow Setup Awal

Perizinan Akses

Tips

  • Lengkapi profil perusahaan di awal implementasi — data ini muncul di semua invoice dan laporan yang kamu buat
  • Upload logo dengan resolusi minimal 300x300px supaya tidak pecah saat dicetak di invoice atau laporan
  • Tambahkan semua lokasi usaha sejak awal supaya data stok dan penjualan per lokasi langsung terpantau
  • Konsultasikan konfigurasi pajak dengan akuntan sebelum mengaktifkan, supaya setting sesuai kewajiban perpajakan
  • Test integrasi payment gateway di sandbox sebelum go-live untuk memastikan alur pembayaran berjalan benar
  • Backup konfigurasi secara berkala — export settings ke file JSON untuk keperluan disaster recovery
  • Review prefix dokumen sebelum mulai bertransaksi — mengubah prefix setelah ada transaksi bisa menyebabkan duplikasi nomor

Entity Relationship Diagram


Entity Schema Tables

Company

CompanyMember

CompanyBackup

CompanyInvitation

CompanyPOSSettings

CompanyReceiptSettings

CompanyAttendanceSettings

CompanyModuleSettings

CompanyWablasSettings

WarehouseLocation

ShopSettings

Subscription

PrinterSettings

PricingPlan

AddonPackage

AddonRequest


Status Lifecycle — CompanyInvitation

Status Lifecycle — CompanyBackup

Status Lifecycle — Subscription

Status Lifecycle — Konfigurasi Settings

Status Lifecycle — Pengaturan Absensi


Sequence Diagrams

1. Flow Update Pengaturan Perusahaan

2. Flow Pembuatan Backup Perusahaan

3. Flow Perubahan Paket Langganan

4. Flow Undangan Member Baru

5. Flow Broadcast Perubahan Konfigurasi ke Semua Tab

6. Flow Sinkronisasi Pengaturan POS ke Printer

7. Flow Absensi dengan Geofence Validation

8. Flow Pengiriman Struk via WhatsApp


Enum Reference Tables

owner_subscription_plan (Company)

industry (Company)

role (CompanyMember / CompanyInvitation)

status (CompanyMember)

status (CompanyInvitation)

status (CompanyBackup)

backup_type (CompanyBackup)

backup_scope (CompanyBackup)

drive_integration_status (CompanyBackup)

status (Subscription)

billing_cycle (Subscription)

location_type (WarehouseLocation)

business_type (CompanyModuleSettings)

inventory_method (CompanyModuleSettings)

request_type (AddonRequest)

status (AddonRequest)

Tax Mode (Company.settings.tax.mode)

Tax Rounding (Company.settings.tax.rounding)

Batch Allocation Strategy (Company.settings.batch_allocation_strategy)

Spoilage Default Treatment (Company.settings.spoilage_default_treatment)

enabled_features (PricingPlan)

receipt_width (CompanyPOSSettings / PrinterSettings)

font_size (CompanyPOSSettings / PrinterSettings)

encoding (PrinterSettings)

working_days (Company / CompanyAttendanceSettings)


RBAC Permission Table

Hak akses detail pada entitas CompanyMember.permissions:

Company Settings Object (Nested)

Field settings pada entitas Company berisi sub-konfigurasi berikut:

Notification Settings (CompanyModuleSettings)