Cost Control & Budgeting settings
The Cost Control & Budgeting heading under Setting is the cost_control_reference module: ten list screens. The two that matter most are WBS and AFE, because every contract, transaction and budget line in Cost Control and Budget & Expense Reporting hangs off them.
How this page was verified
Written from master on 2026-09-06 and compared with the big five the same day. No earlier page existed. Every screen was mapped to its table. Only master has the group installed.
The ten screens
| Label | modref | Table | Notes |
|---|---|---|---|
| AFE | afe_skk | ts_pertamina_afe, mapped to WBS through ts_map_cbs_pertamina_afe | the client's Authorization For Expenditure; the name still carries the first client's regulator |
| Budget Progress Type | budget_prog | ts_budget_prog | the budget_lineitem_prog values |
| Contract Type | contracttype | ts_contract_type | on $pdo |
| Order Status | orderstatus | ts_order_status | |
| Payment Status | payment_status | ts_payment_status | the payment_status on a transaction |
| WBS | cbs | ts_cbs (cbs_code, cbs_desc, cbs_parent, per project) | the tree every amount is booked on; the code calls it CBS |
| Field | field | ts_field, linked to WBS | |
| Block | block | ts_block, linked to WBS | |
| Department | departement (sic) | ts_departement | also used by expediting groups |
| AFE Internal | afe_internal | ts_afe_internal, ts_jv_afe | the company's own AFE numbers |
Three more scripts are in the folder and not in the menu: account_payable (ts_accounts, ts_map_accounts, the chart of accounts for the AP voucher), afe_corp (ts_jv_afe) and importledgercustom (ts_importledger_custom, the scheduled ledger import). All three are on the legacy helper.
What still runs on the legacy helper
cbs and contracttype are on $pdo. budget_prog, orderstatus and payment_status have one legacy call each. The rest are mostly legacy: departement (37), afe_skk (17), field (15), block (14), afe_internal (9). Where the helper throws, those grids may load but their edits fail.
Gotchas
- WBS is
ts_cbsand per project. A budget copied to another project needs the WBS codes to exist there first;copytobudgetdoes not create them. - Two AFE lists. AFE (client) and AFE Internal (company) are different tables and different columns on the transaction (
pertamina_afe_idversusjv_afe_id). Reports group by the client one. - Deleting a WBS node leaves
ts_map_transactrows pointing at it; the transactions vanish from the tree but still count in totals computed by SQL.
Instance differences
Checked on 2026-09-06.
| Instance | Difference |
|---|---|
| Master | The only instance with the group installed, for QA. |
| Jadestone, Medco, JOTRE, Timas | Not installed in their QA databases. Code identical to master, byte for byte. |