Skip to content

Cloud Schema (PostgreSQL)

Cloud Hub menggunakan PostgreSQL 16 sebagai database utama. Halaman ini mendokumentasikan tabel-tabel kunci yang dikelompokkan per module.

Master Data (001_master_data.sql)

master_items -- Produk/SKU

ColumnTypeDeskripsi
skuTEXT PKKode SKU unik
nameTEXTNama produk
category_idTEXTFK ke categories
brandTEXTMerek produk
unit_of_measureTEXTSatuan (PCS, PACK, BOX)
statusTEXTactive, inactive, discontinued
versionINTEGEROptimistic locking version

master_barcodes -- Barcode Mapping

Maps barcode (EAN-13, UPC, Code128) ke SKU. Satu SKU bisa punya multiple barcodes.

master_epc_tags -- RFID EPC Mapping

Maps RFID EPC hex values ke SKU. Digunakan untuk RFID scanning di DC dan toko.

master_suppliers -- Supplier/Vendor

Data supplier termasuk kontak, alamat, NPWP, dan term pembayaran.

master_locations -- Toko & Gudang

Semua lokasi (toko, DC, kantor) dengan alamat dan konfigurasi.

master_categories -- Kategori Produk

Hierarki kategori dengan support parent-child (tree structure).

master_prices -- Harga Produk

Harga jual dan harga beli per SKU, dengan support harga per lokasi.

Identity (010_identity.sql)

identity_users

ColumnTypeDeskripsi
idTEXT PKUser ID (UUIDv7)
usernameTEXT UNIQUEUsername login
display_nameTEXTNama tampilan
password_hashTEXTBcrypt hash
pin_hashTEXTPIN hash untuk POS
roleTEXTcashier, store_manager, ho_finance, admin, dll
store_idTEXTToko yang di-assign
permissionsTEXTJSON array permissions tambahan
activeBOOLEANStatus aktif

identity_refresh_tokens

Menyimpan refresh token yang aktif untuk JWT rotation.

Procurement (002_procurement.sql)

Tabel Utama

TabelFungsi
purchase_ordersHeader PO
po_itemsLine items PO
goods_receiptsRecord penerimaan barang
gr_itemsDetail item yang diterima
supplier_evaluationsScore performa supplier

Accounting (030_accounting.sql)

acct_fiscal_years -- Tahun Fiskal

Periode akuntansi dengan status open/closed.

acct_periods -- Periode Akuntansi

Sub-periode dalam tahun fiskal (bulanan).

acct_accounts -- Chart of Accounts

ColumnTypeDeskripsi
idTEXT PKAccount ID
codeTEXT UNIQUEKode akun (e.g. "1-1100")
nameTEXTNama akun
account_typeTEXTasset, liability, equity, revenue, expense
parent_codeTEXTParent account untuk hierarki
is_groupINTEGERHeader group vs detail account
currencyTEXTDefault IDR

acct_journals -- Jurnal Entries

Header jurnal dengan reference ke source document.

acct_journal_lines -- Detail Jurnal

Line items jurnal dengan debit/credit menggunakan NUMERIC(18,4).

acct_arap -- Accounts Receivable / Payable

Piutang dan hutang dengan aging tracking.

HR & Payroll (020_hr_ga.sql, 032_payroll.sql)

TabelFungsi
hr_employeesData karyawan lengkap
hr_attendanceRecord kehadiran harian
hr_leave_requestsPengajuan cuti
hr_business_tripsPerjalanan dinas & reimbursement
payroll_periodsPeriode penggajian
payroll_slipsSlip gaji per karyawan
payroll_componentsKomponen gaji (tunjangan, potongan)

Tax (031_tax.sql)

TabelFungsi
tax_ratesTarif pajak (PPN 11%, dll)
tax_invoicesFaktur pajak
tax_invoice_itemsDetail faktur pajak

Commercial (003_commercial.sql)

TabelFungsi
promotionsAturan promosi
promotion_rulesKondisi dan aksi promosi
price_listsDaftar harga per channel
margin_analysisAnalisis margin per SKU

Store Operations (035_store_ops.sql)

TabelFungsi
store_settlementsSettlement harian per toko
store_daily_journalsJurnal harian toko
store_sync_statusStatus sinkronisasi per toko

Event Store

Cloud Hub juga menyimpan events yang diterima dari toko di event_store table untuk audit trail dan replay.

RetailOS - Sistem ERP Retail Modern untuk Indonesia