Skip to content

Data Dictionary

A table-by-table reference for the SmartSoft database. Use it to look up a column, confirm a primary key, or trace a *_PRDCD across tables. For the how it works narrative, follow the cross-links to the domain pages.

How to read this

  • Columns are listed verbatim from the typed data-access classes.
  • Data types are inferred from the VB field types (Stringvarchar, Double→numeric, date fields→datetime) — there is no DDL file in the codebase, so treat types as indicative.
  • This covers the core, documented tables — not all ~380 typed classes. Master/POS/ Service bundles duplicate many classes that map to the same physical tables.
  • Conventions (prefixes, _H/_D suffixes, *_KODECABANG scoping, *_IDTRANS sync stamp) are explained on Database Overview.

Contents


Master data

tbMaster_Barang — item master

PK: PRD_PRDCD (7-char code) · Related: Database Overview

Column Meaning
PRD_RECORDID Record/state id
PRD_PRDCD Internal product code (PK)
PRD_KODE User/short product code
PRD_NAMA Product name
PRD_SINGKATAN Abbreviation
PRD_LABEL Label text
PRD_KODESAT Unit (satuan) code
PRD_FRAC Unit fraction / conversion
PRD_KODEDIVISI / PRD_KODEDEPT / PRD_KODEKAT Division / department / category
PRD_KODEMERK Brand code
PRD_JENIS Item kind
PRD_DIVISIPO PO division (grouping)
PRD_KODEBTK Shape (bentuk) code
PRD_KODETAG Tag code
PRD_KODESUP Default supplier
PRD_DEPKES Health-dept / BPOM reg. no.
PRD_KODEKTTK Group (KTTK) code
PRD_HRGUSULAN Proposed price
PRD_HRGJUALOLD / PRD_HRGJUAL Previous / current selling price
PRD_TGLHRGJUAL Selling-price effective date
PRD_FRACBELI Purchase unit fraction
PRD_HRGBELI Purchase price
PRD_AVGCOST / PRD_LASTCOST Average / last cost
PRD_MINSTOCK / PRD_MAXSTOCK / PRD_QTYSTOCK / PRD_MINOR Min / max / on-hand / reorder qty
PRD_MARKUP Markup %
PRD_TGLREG Registration date
PRD_PAKET Bundle/package flag
PRD_BKP / PRD_PPN Taxable-goods flag / VAT %
PRD_BERAT / PRD_HRGGRAM Weight / price per gram
PRD_FLAGDISC Discount-allowed flag
PRD_TGLBELI Last purchase date
PRD_FLAGJASA / PRD_FLAGOPENPRICE / PRD_FLAGKONSINYASI / PRD_FLAGBANDROL Service / open-price / consignment / fixed-price flags
PRD_LASTPO Last PO qty/ref
PRD_TGLEXPIRED / PRD_TGLLASTJUAL Expiry / last-sold date
PRD_IDTRANS Sync stamp

tbMaster_Barcode — barcode → item

PK: BRC_BARCODE

Column Meaning
BRC_BARCODE Barcode value (PK)
BRC_PRDCD Linked product code
BRC_IDTRANS Sync stamp

Category & unit lookups

PK: SAT_KODESATSAT_KODESAT (code), SAT_KONVERSI (conversion factor), SAT_IDTRANS.

PK: MERK_KODEMERKMERK_KODEMERK, MERK_NAMAMERK (name), MERK_IDTRANS.

PK: DIV_KODEDIVDIV_KODEDIV, DIV_NAMADIV, DIV_IDTRANS.

PK: DEPT_KODEDEPT (+DEPT_KODEDIV) — parent division, DEPT_KODEDEPT, DEPT_NAMADEPT, DEPT_IDTRANS.

PK: KAT_KODEKATKAT_KODEDIV, KAT_KODEDEPT, KAT_KODEKAT, KAT_NAMAKAT, KAT_IDTRANS.

tbMaster_Supplier — vendor

PK: SUP_KODESUP (scoped by SUP_KODECABANG)

Column Meaning
SUP_KODECABANG Branch
SUP_KODESUP Supplier code (PK)
SUP_KODEPRC Principal/price code
SUP_NAMASUP Name
SUP_ALAMAT1 / SUP_ALAMAT2 / SUP_KOTA / SUP_KODEPOS Address / city / postcode
SUP_ATTENTION / SUP_CONTACT Attn / contact person
SUP_TELEPHONE / SUP_FAXIMILE / SUP_EMAIL Phone / fax / email
SUP_TOP / SUP_KODEJT Terms of payment (days) / due-date code
SUP_IDRKODE Currency code
SUP_KODEPRT Pabrik/principal code
SUP_NPWP / SUP_PKP Tax no. / taxable-entity flag
SUP_TGLREG Registration date
SUP_MINORQTY / SUP_MINORRPH Min order qty / value
SUP_SALDOAWAL / SUP_HUTANG / SUP_DISCOUNT / SUP_BAYAR / SUP_SALDOAKHIR Opening / payable / discount / paid / closing balance
SUP_KETERANGAN Notes
SUP_FLAGKONSINYASI Consignment flag
SUP_KTTK Group code
SUP_PERKOMISI / SUP_PERDISCOUNT Commission % / discount %
SUP_HRGINCPPN Price-incl-VAT flag
SUP_KODEJENIS Supplier-type code
SUP_KODEBANK / SUP_NOREKENING / SUP_ANREKENING Bank / account no. / account name
SUP_JWPENGIRIMAN Delivery lead time
SUP_STATUS Active status
SUP_IDTRANS Sync stamp

tbMaster_Customer — customer

PK: CUST_KODECUST (scoped by CUST_KODECABANG) · Related: POS & Sales

Column Meaning
CUST_KODECABANG / CUST_KODECUST Branch / customer code (PK)
CUST_NAMACUST Name — stored encrypted (DecryptByPassPhrase)
CUST_ALAMAT1/2 / CUST_KOTA / CUST_KODEPOS Address / city / postcode
CUST_TELEPHONE / CUST_FAXIMILE / CUST_CONTACT / CUST_EMAIL Contact details
CUST_KELAMIN / CUST_TMPLAHIR / CUST_TGLLAHIR / CUST_PEKERJAAN Gender / birthplace / birthdate / occupation
CUST_NPWP / CUST_PKP Tax no. / taxable flag
CUST_GROUP / CUST_KODETYPE / CUST_KODEWIL Group / type / region
CUST_TGLREG / CUST_STATUS Registered / status
CUST_SALDOAWAL / CUST_PIUTANG / CUST_DISCOUNT / CUST_BAYAR / CUST_SALDOAKHIR Opening / receivable / discount / paid / closing balance
CUST_DEFHARGA Default price level
CUST_TOP / CUST_KREDITLIMIT Payment term / credit limit
CUST_PERDISCOUNT / CUST_PERDISCOUNTULTAH / CUST_PERDISCOUNTULTAH2 Discount % / birthday discount %(2)
CUST_SHIPTO + CUST_ALMSHIPTO1/2 / CUST_WILSHIPTO / … Ship-to block
CUST_KANTOR + CUST_ALMKANTOR1/2 / … Office block
CUST_KODESALES Assigned salesperson
CUST_LTRETURGO / CUST_PERLTRETURGO / CUST_LTRETURNORMAL / CUST_PERLTRETURNORMAL Return limits (GO / normal)
CUST_PIN PIN
CUST_IDTRANS Sync stamp

tbMaster_Cabang — branch / warehouse

PK: GDG_KODE (note the GDG_ prefix — a branch is the gudang)

Column Meaning
GDG_KODE Branch code (PK)
GDG_KODECUST Linked customer code
GDG_NAMA / GDG_ALAMAT1/2 / GDG_KOTA / GDG_KODEPOS Name / address
GDG_TELP / GDG_FAX Phone / fax
GDG_TGLAKTIF / GDG_KODECLAS Activation date / class
GDG_URLFTP / GDG_PORTFTP / GDG_USERFTP / GDG_PASSFTP / GDG_PATHFTP FTP sync config
GDG_SMTP / GDG_EMAILTO / GDG_EMAILCC Email sync config
GDG_MAXSTOCK Max-stock cap
GDG_PKP / GDG_NOFPS / GDG_NPWP / GDG_NPPKP / GDG_TGLPKP / GDG_NAMAPKP / GDG_ALAMATPKP Tax / PKP block
GDG_TTD / GDG_MERKUSAHA / GDG_JENISUSAHA Signatory / trade name / business type
GDG_DF / GDG_TUTUP Factor / closed flag
GDG_SERVER / GDG_DATABASE / GDG_USERID / GDG_PASSWORD DB connection for this branch
GDG_IDTRANS Sync stamp

tbMaster_Lokasi — storage location (rack/shelf)

PK: LOK_KODECABANG + LOK_KODERAK + LOK_KODESHELVING + LOK_KODESUBRAK + LOK_NOURUT + LOK_PRDCD

Column Meaning
LOK_KODECABANG / LOK_KODELOK Branch / location code
LOK_KODERAK / LOK_KODESUBRAK / LOK_KODESHELVING Rack / sub-rack / shelving
LOK_NOURUT / LOK_PRDCD Sequence / product
LOK_DEPAN / LOK_BELAKANG / LOK_ATAS Front / back / top slots
LOK_MINDISPLAY / LOK_MAXDISPLAY Min / max display qty
LOK_IDTRANS Sync stamp

Users, access & lookups

PK: USERIDRECORDID (state), USERID, USERNAME, USER_NIP (employee no.), USER_EMAIL, USERPASSWORD (reversible cipher), USERLEVEL, STATION, USERLASTLOGIN, IDTRANS. See Security.

PK: AccessCode (+AccessGroup) — RecordId, AccessGroup, AccessCode, AccessName, AccessLevel, RootID (tree parent), URL (form), Description, and permission flags Baca / Tambah / Koreksi / Hapus (read/add/edit/delete), IdTrans.

PK: AccessCode+AccessGroup+UserIDUserID, AccessGroup, AccessCode, Baca / Tambah / Koreksi / Hapus.

PK: KodeCabang+KodeDoc+NomorAwalKodeCabang, KodeDoc, NamaDoc, NomorAwal (prefix), NomorDoc (current running number). Backs GetNomor — see Transactions.

PK: KSR_KODEKASIR+KSR_NIPKASIRKSR_KODEKASIR, KSR_NIPKASIR (employee no.), KSR_NAMAKASIR, KSR_STATUS, KSR_STATION, KSR_PASSWORD, KSR_IDTRANS.

PK: TAG_KODETAGTAG_KODETAG, TAG_NAMATAG, TAG_AUTOORDER, TAG_TIDAKORDER, TAG_TIDAKJUAL, TAG_TIDAKSO (exclude-from-count), TAG_IDTRANS.

PK: BANK_KODEBANKBANK_KODEBANK, BANK_NAMABANK, BANK_DEBITMINIMUM, BANK_DEBITCHARGE, BANK_CREDITMINIMUM, BANK_CREDITCHARGE, BANK_NOREKENING, BANK_AKTIF, BANK_IDTRANS.

PK: SLS_KODESALESSLS_KODESALES, SLS_NAMASALES, SLS_KOMISI (commission), SLS_IDTRANS.


Stock

tbMaster_Stock — perpetual stock (accumulator)

PK: ST_KODECABANG + ST_LOKASI + ST_PRDCD · Full model: Stock & Costing

Column Meaning
ST_KODECABANG / ST_LOKASI / ST_PRDCD Branch / location / product (PK)
ST_QTYAWAL / ST_RPHAWAL Opening qty / value
ST_QTYBELI / ST_QTYRBELI Purchase / purchase-return qty
ST_QTYJUAL / ST_QTYRJUAL Sales / sales-return qty
ST_QTYKELUAR / ST_QTYRKELUAR Out / out-return qty
ST_QTYMASUK / ST_QTYRMASUK In / in-return qty
ST_QTYADJ / ST_QTYRTEMP Adjustment / temp-reserved qty
ST_QTYAKHIR Ending qty (derived)
ST_HRGJUAL / ST_HRGBELI Sell / buy price
ST_AVGCOST / ST_LASTCOST Average / last cost
ST_MINSTOCK / ST_MAXSTOCK / ST_MINOR Min / max / reorder
ST_JUAL1 / ST_JUAL2 / ST_JUAL3 Sold in periods 1–3
ST_DSI Days-sales-inventory
ST_IDTRANS Sync stamp

tbMaster_StockGudang — stock per warehouse location

PK: STG_KODECABANG + STG_KODELOK + STG_PRDCD — buckets STG_QTYAWAL / STG_QTYMASUK / STG_QTYKELUAR / STG_QTYAKHIR, STG_IDTRANS.

tbHist_StockGudang — periodic stock snapshot

PK: STG_KODECABANG + STG_KODELOK + STG_PERIODE (yyyyMM) + STG_PRDCD — same buckets as above, frozen per period.

tbHist_Stock has no typed class

The main-location history table tbHist_Stock is written/read only via inline SQL in the closing BLL (ClosingStock) — it has no typed data-access class, so it isn't listed here. The typed history class is tbHist_StockGudang. See Stock & Costing.


Configuration

PERUSAHAAN — company / branch config (76 columns)

PK: PRSH_KODE · The global cPRSH. Grouped by concern:

Group Columns
Identity PRSH_NAMAPRSH (system key), PRSH_KODE (PK), PRSH_NAMA, PRSH_ALAMAT1/2, PRSH_WILAYAH, PRSH_KODEPOS, PRSH_TELP, PRSH_FAX
Tax / PKP PRSH_NOFPS, PRSH_NPWP, PRSH_NPPKP, PRSH_TGLPKP, PRSH_NAMAPKP, PRSH_TTD, PRSH_MERKUSAHA, PRSH_JENISUSAHA, PRSH_PPN
Period / closing PRSH_PERIODE (active period), PRSH_TGLAKTIF (active date), PRSH_CLOSING, PRSH_TOPCLOSING, PRSH_SOHARIAN (daily count), PRSH_BACKDATE (allowed backdate days)
Receipt layout PRSH_HEADSTRUK1…4, PRSH_FOOTSTRUK1…4, PRSH_FOOTSERVICE1…4, PRSH_TYPESTRUK, PRSH_SORTSTRUK, PRSH_TYPEINVOICE, PRSH_PRINTERNAME, PRSH_LBRSTRUK, PRSH_PRINTSTRUK, PRSH_PEMBULATAN, PRSH_LOGO (image)
Sync / mail PRSH_SENDVIA, PRSH_URLFTP/USERFTP/PASSFTP/PORTFTP/PATHFTP, PRSH_SMTP, PRSH_POP3, PRSH_PORT, PRSH_EMAILTO, PRSH_EMAILCC, PRSH_FOLDERKIRIM/TERIMA/BACKUP, PRSH_HO (head-office flag)
Rules PRSH_TYPECOUNTER, PRSH_KODECUST, PRSH_HGB_VS_HGJ, PRSH_HISTJUAL/HISTBELI, PRSH_MAXHARIRETURJUAL, PRSH_VOUCHEREXPIRED, PRSH_BARCODESCANNER, PRSH_KODESUPHO, PRSH_MUTASIIN, PRSH_STORAGE, PRSH_LEADTIMEMK/LEADTIMEPB, PRSH_PERMAXPB, PRSH_JADWALPB, PRSH_MAXPBKHUSUS, PRSH_MARKUPHRG

tbTabel_Parameter — per-branch UI/behaviour parameters

PK: PRM_KODECABANG · The global cPARAM/cPRM.

Group Columns
Behaviour PRM_AUTOSHUTDOWN, PRM_CETAKNAMABARANG, PRM_LENGTHBARCODE, PRM_LENGTHKODECUST, PRM_HPP (cost method), PRM_PB, PRM_MUTASI, PRM_STRUKDECIMAL
Theme (colours/fonts) PRM_FORMBACKCOLOR, PRM_FRAMEINPUTBACKCOLOR, PRM_GRIDHEADERBACKCOLOR, PRM_GRIDHEADERTEXTCOLOR, PRM_GRIDHEADERFONTNAME/SIZE, PRM_GRIDROWSFONTNAME/SIZE, PRM_TEXTGOTFOCUSCOLOR, PRM_TEXTLOSTFOCUSCOLOR, PRM_CDBACKCOLOR, PRM_CDFONTCOLOR, PRM_CDLISTFONTCOLOR, PRM_CDLISTBACKCOLOR1/2, PRM_GRIDHEADERHEIGHT
PRM_IDTRANS (sync)

tbMaster_Computer — per-workstation config

PK: IP + STATION · The global cCOMP.

IP, STATION, KODELOK, COMPUTERNAME, LOGO, CETAKSTRUK, PRINTERNAME, FONTNAME, FONTSIZE, SPASI (line spacing), FONTBOLD, AUTOCUTTER, TOUCHSCREEN, NONTUNAI (cashless), ENDLINESTRUK, LEBARSTRUK, USERAKTIF (active user), IDTRANS.

REF_SYSTEM — name/value system properties

PK: PROPERTYNAMEPROPERTYNAME, PROPERTYDESC, PROPERTYVALUE. Holds the licence expiry date among others (see Security).


Pricing

PK: HGJ_PRDCD + HGJ_TGLBERLAKUHGJ_RECORDID (''=future / '1'=active), HGJ_PRDCD, HGJ_TGLBERLAKU (effective date), HGJ_HRGJUAL, HGJ_IDTRANS.

PK: GRS_KODECABANG + GRS_PRDCD + GRS_QUANTITYGRS_QUANTITY (qty break), GRS_HARGA (price at qty), GRS_IDTRANS.

PK: MAX_KODEKTTK + MAX_PRDCDMAX_MINSTOCK, MAX_MAXSTOCK, MAX_MINOR (reorder), MAX_IDTRANS.

tbMaster_HargaBeli — buy price with discount/bonus tiers

PK: HGB_KODECABANG + HGB_KODESUP + HGB_PRDCD · Related: Purchasing & Approvals

Column Meaning
HGB_RECORDID Record id
HGB_KODECABANG / HGB_KODESUP / HGB_PRDCD Branch / supplier / product (PK)
HGB_HRGBELI Purchase price
HGB_PPN / HGB_PPNBM VAT % / luxury-tax %
HGB_TGLAWALDISCOUNT / HGB_TGLAKHIRDISCOUNT Discount validity window
HGB_DISCMINQTY1…4 / HGB_DISCMINRPH1…4 Discount tier min qty / value (4 tiers)
HGB_DISCPER1…4 / HGB_DISCRPH1…4 Discount tier % / amount (4 tiers)
HGB_TGLAWALBONUS / HGB_TGLAKHIRBONUS Bonus validity window
HGB_BNSMINQTY1…6 / HGB_BNSMINRPH1…6 / HGB_BNSQTY1…6 Bonus tier min qty / value / free qty (6 tiers)
HGB_IDTRANS Sync stamp

Transactions

Full narrative: Transactions & Posting.

tbTr_BackOffice_H / tbTr_BoTrans_H — back-office document header

PK: BOH_KODECABANG + BOH_NODOC · BackOffice = posted, BoTrans = draft (identical schema)

Column Meaning
BOH_RECORDID Record/status id
BOH_KODECABANG / BOH_NODOC Branch / doc no (PK)
BOH_TGLDOC / BOH_TIPEDOC Doc date / type discriminator
BOH_KODELOK / BOH_TIPESTOCK / BOH_TIPESTOCK2 Location / stock type / stock type 2
BOH_NOFAKTUR / BOH_TGLFAKTUR Supplier invoice no / date
BOH_NOREFF / BOH_TGLREFF Reference doc no / date
BOH_ITEM / BOH_QTY / BOH_GROSS Item count / total qty / gross
BOH_PPN / BOH_PPNBM VAT / luxury tax
BOH_BONUS1 / BOH_BONUS2 / BOH_DISC1 / BOH_DISC2 / BOH_PEMBULATAN Bonuses / discounts / rounding
BOH_KODESUP / BOH_KODEGUDANG / BOH_KODEGUDANG2 Supplier / warehouse(s)
BOH_IDRKODE / BOH_KODEJT Currency / payment-term code
BOH_KODESALES / BOH_SALESKOMISI Salesperson / commission
BOH_KETERANGAN / BOH_BYRTOKO Remarks / store-paid
BOH_IDTRANS Sync stamp

tbTr_BackOffice_D / tbTr_BoTrans_D — back-office document detail

PK: BOD_KODECABANG + BOD_NODOC + BOD_NOURUT + BOD_PRDCD

BOD_PRDCD (item), BOD_QTY, BOD_HRGSAT (unit price), BOD_GROSS, BOD_PPN, BOD_PPNBM, BOD_BONUS1/2, BOD_DISC1/BOD_DISCRPH1/BOD_DISC2/BOD_DISCRPH2 (disc %/Rp), BOD_BERAT (weight), BOD_HRGGRAM, BOD_KODEPBR (manufacturer), BOD_IDTRANS.

tbTr_StockOpname_H / _D / _G — physical stock count

PK (_H): OPH_KODECABANG + OPH_NOLKSO

Table Key columns
_H (OPH_) OPH_NOLKSO (count-list no), OPH_LOKASI, OPH_TGLLKSO, OPH_NOHKSO/OPH_TGLHKSO (result), OPH_ITEM, OPH_QTYSTOCK (system), OPH_QTYFISIK (physical), OPH_QTYSELISIH (variance), OPH_GROSS, OPH_AVGCOST, OPH_PRINTDOC, OPH_DATALOCK
_D (OPD_) OPD_NOLKSO+OPD_NOURUT+OPD_PRDCD; OPD_QTYSTOCK/OPD_QTYFISIK/OPD_QTYSELISIH, OPD_HRGJUAL, OPD_AVGCOST, OPD_KETERANGAN
_G (OPG_) Per-rack breakdown: OPG_KODELOK/OPG_KODERAK/OPG_KODESUBRAK + count qtys

tbTr_MutasiGudang_H / _D — inter-warehouse transfer

PK (_H): MGH_KODECABANG + MGH_NODOCMGH_TGLDOC, MGH_TIPEDOC, MGH_KODELOKASAL (source), MGH_KODELOKTUJ (dest), MGH_NOREFF, MGH_ITEM, MGH_QTY. Detail MGD_: MGD_NODOC+MGD_PRDCD, MGD_NOURUT, MGD_QTY.

tbTr_PurchaseOrder_H / _D — purchase order

PK (_H): POH_KODECABANG + POH_NOPO · Full flow: Purchasing & Approvals

Level Columns
Header POH_ NOPO, TGLPO, NOPB/TGLPB (source request), QTYPO, GROSS, PPN, PPNBM, BONUS1/2, DISC1/2, KODESUP, JWPO, TOP, KODECABANGUO
Detail POD_ NOPO+NOURUT+PRDCD, QTYPO, HRGBELI, GROSS, PPN, PPNBM, BONUS1/2, DISC1/DISCRPH1/DISC2/DISCRPH2, QTYPB (qty received), BERAT, HRGGRAM, QTYSTOCK, AVGSALES, LASTPO

tbTr_PermintaanBarang_H / _D — goods requisition

PK (_H): PBH_KODECABANG + PBH_NOPBPBH_JENISPB (type), PBH_TGLPB, PBH_QTYPB, PBH_TOTALPB, PBH_TGLTRF, PBH_KETERANGAN1, PBH_KODECABANGUO, PBH_NOUO, PBH_KODECABANGPO. Detail PBD_: NOPB+NOURUT+PRDCD, QTYPB, HRGBELI, KODESUP.

Order proposals (Usulan Order)

PK: UOS_KODECABANG + UOS_PRDCDUOS_RECORDID, UOS_TGLORDER, UOS_TGLPB, UOS_TGLPO, UOS_QTY, UOS_IDTRANS.

PK: UOG_KODECABANG + UOG_KODELOK1 + UOG_KODELOK2 + UOG_PRDCDUOG_QTY (proposed), UOG_IDTRANS.

tbTr_UsulanOrder_H/_D is not a real class

A UOH_/UOD_ header/detail is referenced in some forms but has no typed data-access class. The two tables above are the verified proposal tables.


Sales & POS

Full narrative: POS & Sales.

tbTr_Penjualan_H — sales / receipt header

PK: JLH_KODECABANG + JLH_NOSTRUK + JLH_SHIFT + JLH_STATION + JLH_TGLTRN + JLH_TIPETRN + JLH_USERID

Group Columns
Session JLH_KODECABANG, JLH_TGLTRN, JLH_STATION, JLH_USERID (cashier), JLH_SHIFT, JLH_TIPETRN, JLH_NOSTRUK
Value / tax JLH_QTY, JLH_HPP (COGS), JLH_JASA, JLH_GROSS, JLH_PPN, JLH_PPNBM, JLH_PEMBULATAN
Discounts JLH_DISCOUNTITEM/ITEM2, JLH_DISCOUNTULTAH (birthday), JLH_DISCOUNTSTRUK, JLH_DISCOUNTSTRUK2 (POS copy only), JLH_DISCOUNTVOUCHER, JLH_DISCOUNTCARD, JLH_TRADEIN
Tenders JLH_CASH, JLH_DEBIT(+NODEBIT,KODEBANKDEBIT), JLH_CARD(+NOCARD,KODEBANKKREDIT), JLH_PIUTANG, JLH_VOUCHER, JLH_POINT(+KODEPOINT,QTYPOINT), JLH_TARIKTUNAI, JLH_CASHBACK, JLH_UANGMUKA, JLH_TITIPAN
Service JLH_NOSERVICE, JLH_JASASERVICE, JLH_JASALUAR, JLH_SPAREPART
Party JLH_KODECUST, JLH_KODESUBCUST, JLH_KODESALES, JLH_SALESKOMISI, JLH_USERAPPROVAL, JLH_IDTRANS

tbTr_Penjualan_D — sales line detail

PK: JLD_KODECABANG + JLD_NOSTRUK + JLD_NOURUT

JLD_PRDCD, JLD_QTY, JLD_AVGCOST/JLD_LASTCOST (cost captured for COGS), JLD_HRGJUAL, JLD_JASA, JLD_GROSS, JLD_BKP, JLD_PPN, JLD_PPNBM, JLD_DISCOUNT/DISCOUNT2/ DISCOUNTULTAH, JLD_TRADEIN, JLD_QTYRETUR, JLD_PLUHADIAH (gift), JLD_VOUCHER, JLD_TYPETRADEIN, JLD_PRDCDTRADEIN, JLD_KODEJASA, JLD_NOREFF, JLD_IDTRANS.

tbTr_Penjualan_R — per-shift reset / recap

PK: JLR_KODECABANG + JLR_SHIFT + JLR_STATION + JLR_TGLTRN + JLR_USERID

Session + cash (JLR_KASAWAL opening float, JLR_TOTALUANG), then two parallel bucket sets covering every value/tender field: sales (JLR_SJLH_*, e.g. SJLH_QTY, SJLH_GROSS, SJLH_CASH, SJLH_DEBIT, SJLH_CARD, SJLH_POINT, SJLH_PIUTANG, SJLH_VOUCHER, plus SBUY_*/SSVC_*/STTP_*) and returns (JLR_RJLH_*, mirroring sales). Closes with JLR_JAMAWAL/JLR_JAMAKHIR (times), JLR_CLOSING, JLR_USERMANAGER.

~70 columns, two mirrored halves

_R (and _S below) are wide because each carries a full Sales set and a mirror Return set of every amount. The pattern is <S|R>JLH_<field>; you rarely read them individually — the reset UI and daily report aggregate them.

tbTr_Penjualan_S — daily store summary

PK: JLS_KODECABANG + JLS_TGLTRN — same SJLH_* / RJLH_* mirrored buckets as _R, rolled up per branch/day; adds JLS_SETTUNAI (cash settlement); no CLOSING/USERMANAGER.

tbTr_Penjualan_Settlement — EDC / card settlement

PK: STL_KODECABANG + STL_KODEEDC + STL_SHIFT + STL_STATION + STL_TIPE + STL_USERIDSTL_TGLTRN, STL_KODEEDC (terminal), STL_TIPE, STL_NOMINAL, STL_IDTRANS.


Promotions, points & vouchers

Full narrative: Promotions & Loyalty.

tbMaster_Promosi_H — promotion master header

PK: PRMH_KODECABANG + PRMH_KODEPROMOSI

Group Columns
Identity PRMH_KODEPROMOSI, PRMH_KETERANGAN, PRMH_TIPEPROMOSI, PRMH_JENISDISCOUNT, PRMH_HRGNORMAL
Validity / scope PRMH_TGLAWAL/TGLAKHIR, PRMH_HARI, PRMH_JAMAWAL/JAMAKHIR, PRMH_MAXHARI/MAXPERIODE, PRMH_GROUPCABANG/GROUPCUSTOMER/TYPECUSTOMER, PRMH_MINSTRUK/MAXSTRUK, PRMH_KELIPATAN
Flags PRMH_PROMOSITUNGGAL, PRMH_PROMOSITAMBAHAN, PRMH_TANPADISCOUNT, PRMH_FLAGDISCOUNT
5-tier ladders PRMH_QTYBELI[1–5], PRMH_RPHBELI[1–5], PRMH_PERDISC[1–5], PRMH_RPHDISC[1–5], PRMH_PERDISCX[1–5], PRMH_RPHDISCX[1–5], PRMH_PRDCDHADIAH[1–5] (gifts), PRMH_CASHBACK[1–5], PRMH_POINTREWARD[1–5], PRMH_REEDEMPOINT[1–5]
Voucher / P2P PRMH_VOUCHER, PRMH_PRDCDPURCHASE, PRMH_HRGPURCHASE, PRMH_KODEPOINTREWARD, PRMH_KODEREEDEMPOINT
Card conditions PRMH_KODEPROVIDER, PRMH_KODEBANK, PRMH_TYPECARD

tbMaster_Promosi_D — per-item discount overrides

PK: PRMD_KODECABANG + PRMD_KODEPROMOSI + PRMD_NOURUT + PRMD_PRDCD — 5-tier PRMD_PERDISC[1–5], PRMD_RPHDISC[1–5], PRMD_PERDISCX[1–5], PRMD_RPHDISCX[1–5].

tbTr_Promosi — applied promo per receipt

PK: TRP_IDTRANS + TRP_KODECABANG + TRP_KODEPROMOSI + TRP_NOSTRUK + TRP_PRDCDTRP_TGLSTRUK, TRP_KODECUST, TRP_TIPEPROMOSI, TRP_JENISDISCOUNT, TRP_DISCOUNT, TRP_VOUCHER, TRP_PRDCDHADIAH (gift), TRP_CASHBACK, TRP_POINTREWARD, TRP_REEDEMPOINT, TRP_KODEPOINT, TRP_KELIPATAN, TRP_KETERANGAN.

Points & vouchers

PK: STP_KODECUST + STP_KODEPOINTSTP_SALDOAWAL, STP_MASUK, STP_KELUAR, STP_SALDOAKHIR, STP_IDTRANS. Rolls forward at close (see Promotions & Loyalty).

PK: TPR_KODECABANG+TPR_KODECUST+TPR_KODEPOINT+TPR_NOSTRUK+TPR_TIPE (POS)TPR_TGLSTRUK, TPR_TIPE (earn/redeem), TPR_REWARDS (earned), TPR_PEMAKAIAN (used), TPR_EXPIRED (POS copy only), TPR_IDTRANS.

PK: VCR_NOVOUCHERVCR_RECORDID (blank=available/'1'=used), VCR_KODEGUDANG, VCR_KODECUST, VCR_NILAIVOUCHER, VCR_MINBELI, VCR_TGLBERLAKU, VCR_TGLEXPIRED, VCR_IDTRANS.


Receivables

tbTr_Piutang — A/R ledger

PK: PIU_KODECABANG + PIU_KODECUST + PIU_KODESUBCUST + PIU_NOSTRUKPIU_TGLSTRUK, PIU_CHARGE, PIU_NOMINAL (invoice), PIU_BAYAR (paid), PIU_SALDO (outstanding), PIU_IDTRANS.

tbTr_BayarPiutang_H / _D — receivable payment

PK (_H): BPH_KODECABANG + BPH_NODOCBPH_KODECUST/KODESUBCUST, BPH_TGLBYR, BPH_TGLJT (due), BPH_TGLCAIR (clearing), BPH_TGLBATAL (cancel), BPH_KODEGIRO, BPH_KODEBANK, BPH_NOMORGIRO, BPH_NOMINAL. Detail BPD_: BPD_NODOC+BPD_NOSTRUK (invoice paid), BPD_NOMINAL (allocated).


HR / attendance

Full narrative: HR / Attendance.

tbTr_Absen — attendance (clock-in/out)

PK: TRA_KODECABANG + TRA_NIP + TRA_TGLABSEN

TRA_NIP (employee no.), TRA_TGLABSEN (date), TRA_MASUK (in time), TRA_PULANG (out time), TRA_STATUS ('M'=present), TRA_SHIFT (constant '1'), TRA_LEMBUR (overtime, constant 0), TRA_CLOSING, TRA_PHOTO/TRA_PHOTO2 (in/out photos, Image), TRA_IDTRANS.


Audit & sync

AuditTrail_UserAccess — user-action audit log

PK: AuditTrail_UserAccessID + AuditTrail_UserAccessKodeCabang · Also the write target of every typed class's AuditTrail() method. Columns (long names): …ID, …KodeCabang, …Userid, …ActionDate, …Application, …Modul, …Action (Login/Open Menu/ Insert/Edit/Hapus), …Description, …IP. See Security.

tbTR_LogTransferFile — file-transfer run log

PK: LOG_KODECABANG + LOG_NAMAFILE + LOG_TGLPROSESLOG_TIPE, LOG_MEDIA, LOG_KODETUJUAN, LOG_TGLAWAL/LOG_TGLAKHIR (data range), LOG_USERID, LOG_IDTRANS.

tbMaster_FileTransfer — sync definition

PK: TRF_FILEKIRIMTRF_KETERANGAN, TRF_NAMAFILE, TRF_JENISFILE, TRF_FORMATFILE, TRF_STRSQL (source query), TRF_KONDISI1/2, TRF_KONDISIHAPUS, TRF_PRIMARYKEY, TRF_FLAG, TRF_FLAG2, TRF_TDKUPDATE, TRF_PROSESHARIAN (daily flag), TRF_IDTRANS. See Inter-Branch Sync.

Not every table has a typed class

Some physical tables (e.g. tbHist_Stock, tbTr_SinkronisasiData, tbTr_Receiving) are accessed only through inline SQL and have no typed data-access class, so their full column lists aren't enumerable from the class layer. They're named on the relevant domain pages where they appear.