Skip to content

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

LabelmodrefTableNotes
AFEafe_skkts_pertamina_afe, mapped to WBS through ts_map_cbs_pertamina_afethe client's Authorization For Expenditure; the name still carries the first client's regulator
Budget Progress Typebudget_progts_budget_progthe budget_lineitem_prog values
Contract Typecontracttypets_contract_typeon $pdo
Order Statusorderstatusts_order_status
Payment Statuspayment_statusts_payment_statusthe payment_status on a transaction
WBScbsts_cbs (cbs_code, cbs_desc, cbs_parent, per project)the tree every amount is booked on; the code calls it CBS
Fieldfieldts_field, linked to WBS
Blockblockts_block, linked to WBS
Departmentdepartement (sic)ts_departementalso used by expediting groups
AFE Internalafe_internalts_afe_internal, ts_jv_afethe 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_cbs and per project. A budget copied to another project needs the WBS codes to exist there first; copytobudget does not create them.
  • Two AFE lists. AFE (client) and AFE Internal (company) are different tables and different columns on the transaction (pertamina_afe_id versus jv_afe_id). Reports group by the client one.
  • Deleting a WBS node leaves ts_map_transact rows pointing at it; the transactions vanish from the tree but still count in totals computed by SQL.

Instance differences

Checked on 2026-09-06.

InstanceDifference
MasterThe only instance with the group installed, for QA.
Jadestone, Medco, JOTRE, TimasNot installed in their QA databases. Code identical to master, byte for byte.