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 (
String→varchar,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/_Dsuffixes,*_KODECABANGscoping,*_IDTRANSsync stamp) are explained on Database Overview.
Contents¶
- Master data — items, parties, org, users, lookups
- Stock — balances & history
- Configuration — company, parameters, workstation
- Pricing — sell, buy, wholesale, min/max
- Transactions — back-office, stock count, transfer, PO, requisition
- Sales & POS — sale, shift reset, settlement
- Promotions, points & vouchers
- Receivables
- HR / attendance
- Audit & sync
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_KODESAT — SAT_KODESAT (code), SAT_KONVERSI (conversion factor), SAT_IDTRANS.
PK: MERK_KODEMERK — MERK_KODEMERK, MERK_NAMAMERK (name), MERK_IDTRANS.
PK: DIV_KODEDIV — DIV_KODEDIV, DIV_NAMADIV, DIV_IDTRANS.
PK: DEPT_KODEDEPT (+DEPT_KODEDIV) — parent division, DEPT_KODEDEPT, DEPT_NAMADEPT, DEPT_IDTRANS.
PK: KAT_KODEKAT — KAT_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: USERID — RECORDID (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+UserID — UserID, AccessGroup, AccessCode, Baca / Tambah / Koreksi / Hapus.
PK: KodeCabang+KodeDoc+NomorAwal — KodeCabang, KodeDoc, NamaDoc, NomorAwal (prefix), NomorDoc (current running number). Backs GetNomor — see Transactions.
PK: KSR_KODEKASIR+KSR_NIPKASIR — KSR_KODEKASIR, KSR_NIPKASIR (employee no.), KSR_NAMAKASIR, KSR_STATUS, KSR_STATION, KSR_PASSWORD, KSR_IDTRANS.
PK: TAG_KODETAG — TAG_KODETAG, TAG_NAMATAG, TAG_AUTOORDER, TAG_TIDAKORDER, TAG_TIDAKJUAL, TAG_TIDAKSO (exclude-from-count), TAG_IDTRANS.
PK: BANK_KODEBANK — BANK_KODEBANK, BANK_NAMABANK, BANK_DEBITMINIMUM, BANK_DEBITCHARGE, BANK_CREDITMINIMUM, BANK_CREDITCHARGE, BANK_NOREKENING, BANK_AKTIF, BANK_IDTRANS.
PK: SLS_KODESALES — SLS_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: PROPERTYNAME — PROPERTYNAME, PROPERTYDESC, PROPERTYVALUE. Holds the licence
expiry date among others (see Security).
Pricing¶
PK: HGJ_PRDCD + HGJ_TGLBERLAKU — HGJ_RECORDID (''=future / '1'=active), HGJ_PRDCD, HGJ_TGLBERLAKU (effective date), HGJ_HRGJUAL, HGJ_IDTRANS.
PK: GRS_KODECABANG + GRS_PRDCD + GRS_QUANTITY — GRS_QUANTITY (qty break), GRS_HARGA (price at qty), GRS_IDTRANS.
PK: MAX_KODEKTTK + MAX_PRDCD — MAX_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_NODOC — MGH_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_NOPB — PBH_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_PRDCD — UOS_RECORDID, UOS_TGLORDER, UOS_TGLPB, UOS_TGLPO, UOS_QTY, UOS_IDTRANS.
PK: UOG_KODECABANG + UOG_KODELOK1 + UOG_KODELOK2 + UOG_PRDCD — UOG_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_USERID
— STL_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_PRDCD —
TRP_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_KODEPOINT — STP_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_NOVOUCHER — VCR_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_NOSTRUK — PIU_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_NODOC — BPH_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_TGLPROSES — LOG_TIPE, LOG_MEDIA,
LOG_KODETUJUAN, LOG_TGLAWAL/LOG_TGLAKHIR (data range), LOG_USERID, LOG_IDTRANS.
tbMaster_FileTransfer — sync definition¶
PK: TRF_FILEKIRIM — TRF_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.