Skip to Content

Oil & Gas Budget Control in Odoo: WPNB, AFE, and End-to-End Cost Control

How oil & gas companies control budgets from WPNB & AFE through to Purchase Request, PO, Vendor Bill, and Goods Issued — all inside Odoo.

How oil & gas companies control budgets from Work Program & Budget (WPNB) and Authorization for Expenditure (AFE) all the way to Purchase Request, Purchase Order, Vendor Bill, and Goods Issued — all inside Odoo.


Why Budget Control in the Oil & Gas Industry Is Hard

The oil and gas industry has unique cost characteristics: large projects, running over multiple years, involving many vendors, and having to stay aligned with an approved Work Program & Budget (WPNB) as well as an Authorization for Expenditure (AFE) per project.

Without the right system, budget control usually ends up like this:

  • Budgets are kept in dozens of Excel files that are separate from purchasing transactions.
  • The procurement team does not know the remaining budget when creating a Purchase Request (PR) or Purchase Order (PO).
  • Overspending is only discovered after the vendor bill arrives — too late.
  • It is hard to answer: "What is the actual vs budget per AFE this month?"
  • Budget revisions/transfers are done manually with no audit trail.

As a result, budget control becomes reactive — not preventive.


Oil & gas

WPNB and AFE: The Two Pillars of Oil & Gas Budgets

Before diving into the solution, it is important to understand these two industry-standard concepts:

WPNB (Work Program & Budget) The company's annual work plan and budget — prepared per account, per department/analytic, with a monthly breakdown (January–December) and usually expressed in USD then converted to IDR.

AFE (Authorization for Expenditure) Expenditure authorization per project, usually running over multiple years, tied to an analytic account and a budget owner. Every expenditure must point to a valid AFE.

In practice, every transaction ideally carries two budget references: WPNB and AFE.


The Solution: SDT Oil and Gas Budgeting Module for Odoo

The SDT Oil and Gas Budgeting module (sdt_oilgas_budget) makes WPNB and AFE the foundation of cost control, then connects them directly to purchasing and accounting transactions in Odoo.

Coming from Sinergi Data Totalindo (SDT), this module is built on top of standard Odoo flows (Purchase Request, Purchase Requisition, Purchase Order, Accounting) so users keep working in the Odoo they already know.

Key Features

1. Work Program & Budget (WPNB)

  • Annual budget with a 12-month breakdown (January–December).
  • Multi-currency USD/IDR with the rate stored on the document.
  • Automatic Budget Code with a structured format.
  • Budget Owner, Analytic Account, Grouping/Allocation, and Capital / Production / Non-Capital types.
  • Active/Stop status to control which budgets are still valid.

2. Authorization for Expenditure (AFE)

  • Budget per project with 4 budget years (Budget Year I–IV).
  • Linked to an Analytic Account and PIC/Project Type.
  • Budget detail per account, group, and sub-group.
  • Project lifecycle: start date, completion, through to Close Out Date.

3. Structured Budget Code

Each budget line has a unique code that makes tracking easy, for example:

WPNB :  24-R11L40-80204015-Analytic-TCode
        └┬┘ └─┬──┘ └──┬───┘ └───┬───┘ └─┬─┘
         │    │       │         │      └─ Transaction Code
         │    │       │         └─ Analytic Account
         │    │       └─ Account Code (Budget Account)
         │    └─ WPNB Code + Line
         └─ 2-digit year

AFE  :  <Account Code>.<AFE Code>.L<Line>

4. End-to-End Cost Control (PR → CA)

This is the core of the solution. The budget is consumed and checked at every stage, not only at the end:

PR → BO (Blanket Order) → PO → AP (Vendor Bill) → CN → GI → CA
│        │                  │         │              │      │       │
│        │                  │         │              │      │       └─ Cash Advance
│        │                  │         │              │      └───────── Goods Issued
│        │                  │         │              └──────────────── Credit Note
│        │                  │         └─────────────────────────────── Vendor Bill (actual)
│        │                  └───────────────────────────────────────── Purchase Order
│        └──────────────────────────────────────────────────────────── Blanket Order (Requisition)
└───────────────────────────────────────────────────────────────────── Purchase Request (budget checked)

Every document stores the remaining WPNB/AFE budget, the rate, and the amount used — so the team can see committed, actual, and remaining in real time.

5. Automatic Remaining, Used, and Actual Calculation

  • Used = the total value of documents that have used the budget code.
  • Remaining = Budget − Used.
  • Actual = the value of journal entries that have been posted to accounts flagged as AFE/WPNB.
  • Monthly (WPNB) and per budget year (AFE) recalculation is available as a computed field.

6. Budget Changed (Transfer & Injection) with Approval

Budgets rarely run exactly to plan. The module provides Budget Changed for:

  • Injection of a new budget (existing or new code).
  • Transfer between budget codes.
  • Complete with an approval flow (integrated with Odoo's approvals module) and Draft → To Be Approved → Approved/Rejected status.

7. Cash Advance (PR & Non-PR)

  • Cash Advance for both PR and Non-PR needs.
  • Budget validation: the system rejects requests that exceed the remaining WPNB/AFE — including accounting for lines currently being submitted.
  • Cash advance settlement/usage produces journals that remain linked to the budget code.

8. Goods Issued & FIFO

  • Goods Issued integration with the Stock Valuation Layer (FIFO).
  • Tracks which PO the goods came from, complete with unit cost, AFE, and budget code per line.

9. Accounting That Stays Standard

  • Journals still follow the standard Odoo mechanism — multi-currency, posting, credit note, and reversal.
  • The Actual report is taken from journal entries that have been posted to accounts flagged as AFE/WPNB.

For the technical team: the module adds budget fields to account.move / account.move.line (budget_cd, budget_fe, sisa_wpnb, sisa_afe, rate_wpnb, rate_afe), as well as account flagging via account.account.is_afewpnb so the Actual calculation is accurate.

10. Security & Navigation

  • A dedicated access group "Oil and Gas Budget".
  • Menus integrated under Accounting, tidy for the Finance, Procurement, and Budget Owner teams.

A Quick Workflow

  1. Budgeting: prepare WPNB (monthly) and AFE (per project) → budget codes are generated automatically.
  2. Spending plan: submit a PR, continue to a BO/Blanket, then a PO — the system checks the remaining budget at each step.
  3. Realization: Vendor Bill (AP) and Credit Note (CN) are posted → the Actual value is updated.
  4. Goods usage: Goods Issued pulls cost from the FIFO layer with the PO & AFE reference.
  5. Cash: Cash Advance for field operations, with settlements that still carry the budget code.
  6. Revision: Budget Changed for transfers/injections, through approval.
  7. Monitoring: track Budget vs Used vs Remaining vs Actual at any time.

The Benefits You Get

  • Preventive, not reactive — overspending is prevented from the PR, not after the invoice.
  • A single source of truth — budgets and transactions live in Odoo, not in separate spreadsheets.
  • Full traceability — from budget code → PO → vendor bill → journal.
  • Multi-currency & multi-year — suited to complex oil & gas projects.
  • Audit-ready — approval and budget change trails are recorded.
  • Still standard Odoo — leveraging the Purchase, Inventory, and Accounting you already know.

Who Is It For?

  • Oil & gas companies (upstream, support services, and contractors) that use WPNB & AFE.
  • Finance & Budget Control teams that need real-time Actual vs Budget control.
  • Procurement teams that need to know the remaining budget before committing to a vendor.
  • Organizations that want to leave spreadsheets behind for budget control.

Closing

Managing budgets in the oil & gas industry does not have to rely on separate Excel files and manual checks. With Odoo and the SDT Oil and Gas Budgeting module, WPNB and AFE become the backbone of cost control directly connected to purchasing transactions through to accounting journals — so every rupiah and dollar can be accounted for.

Need WPNB & AFE implementation in Odoo for your company? Contact the Sinergi Data Totalindo (SDT) team for a consultation and demo.


Note: appearance and features may adapt to the Odoo version and implementation needs. Module: sdt_oilgas_budget — by Sinergi Data Totalindo, PT.

Sinergi Data Totalindo October 6, 2026
Share this post
Archive
After Go-Live: Why ERP Still Needs to Be Developed?
Go-live is not the finish line. Here is why ERP needs to keep being optimized after the system goes live.
Chat WhatsApp