When you create cost transactions — such as Purchase Orders, Expenses, Claim Requests, or Imprest Requests — and link them to a project, GTS Solution automatically records and updates the corresponding budget metrics in the Project Budget.
This article explains:
A transaction only affects a Project Budget when all 3 of the following conditions are met simultaneously:
| # | Condition | Description |
| 1 | Correct project | The transaction must be linked to a project that has an active Project Budget |
| 2 | Within the budget period | The transaction date must fall within the budget's Start Date – End Date range |
| 3 | Matching Budget Category | The cost category of the transaction must match one of the Budget Categories configured in the budget |
If any condition is missing, the transaction will not be reflected in the Project Budget — even if the correct project is selected.
Step 1 — Enable Tracking for Each Transaction Type
Go to Accounting → Settings → General and find the Project Budget & Enforcement section and check the transaction types you want to track
Important: If a transaction type is not checked, the Project Budget Category field will not appear on its creation form — and costs from that transaction type will not be recorded in the Project Budget, even if the correct project is selected.
Note: Claim Requests and Imprest Requests do not need to be configured here — the Project Budget Category field is always visible on these two transaction types by default.
Click Save to apply your settings.
Step 2 — Choose a Policy for Handling Over-Budget Transactions
Go to Accounting → Settings → General and find the Project Budget & Enforcement section to select one of the 3 policies below to define what happens when a transaction exceeds the Remaining Budget:
There are 3 options:
Option 1 — Disable Request When Budget Exceeded (Hard Block)
When the transaction amount exceeds the Remaining Budget of the matching category:
Use this when your organization requires strict budget control — no overspending is allowed under any circumstances.
Option 2 — Allow Request but Require Advanced Approval
When the transaction amount exceeds the Remaining Budget of the matching category:
Use this when your organization wants flexibility — overspending is permitted but requires sign-off from an authorized person on a case-by-case basis.
Option 3 — Only Notify (Warning Message)
When the transaction amount exceeds the Remaining Budget of the matching category:
Use this when your organization only wants visibility and alerts — without hard controls.
| PO Status | Recorded In |
| Draft | Allocated/Committed |
| Approved | Moves from Allocated → Actual Spent |
| Rejected | Deducted from Allocated/Committed. Does not affect Actual Spent |
Special case — "Allow request but require advanced approval":
If a PO exceeds the budget and requires special approval:
| When | Recorded In | Notes |
| Immediately upon successful creation | Actual Spent | Recorded directly — does not pass through Allocated |
Special case — "Allow request but require advanced approval":
| When | Recorded In | Notes |
| Immediately upon successful creation | Actual Spent | Recorded directly — does not pass through Allocated |
Special case — "Allow request but require advanced approval":
Imprests & Retirements is a two-step process: first an Imprest Request (advance payment) is created, then a Retirement (expense settlement) is created within that Imprest Request.
| When | Recorded In | Notes |
| When a Retirement is created and the Imprest Request reaches Completed status | Actual Spent | Recorded once the settlement is finalized |
Special case — "Allow request but require advanced approval":
In the Detailed Transaction Logs section of the Project Budget Details page, each transaction displays two status badges: the transaction status and the budget status.
Transactions with Budget Rejected status do not affect any Project Budget metric (Allocated, Actual Spent, or Remaining).
Important Note About Date: If the Order Date falls outside the budget period of all Project Budgets under that project, the transaction will not be recorded into any budget even if the correct project and category are selected.
Important Note: The Project Budget Category field is only displayed when the Purchase Order checkbox is enabled in: Accounting → Settings → General → Enforce Budget Constraints on
Important Note About Date: The Expense Date must fall within the budget period (Start Date – End Date) of the corresponding Project Budget. Otherwise, the expense will not be recorded into the budget even if the correct project and category are selected.
Important Note: The Project Budget Category field is only displayed when the Purchase Order checkbox is enabled in: Accounting → Settings → General → Enforce Budget Constraints on
Important Note About Date: The Claim Date must fall within the budget period (Start Date – End Date) of the corresponding Project Budget. Otherwise, the expense will not be recorded into the budget.
Important Note: The Project Budget Category field is always displayed on the Claim Request form — no additional configuration is required in Settings.
Important Note: The Project Budget Category field is always displayed on the Imprest Request form — no additional configuration is required in Settings.
Important Note About Date: The date used for budget matching is the date when the Imprest Request was created — not the Retirement creation date.
For example: There are 2 Project Budgets: May Budget (01/05/2026 – 31/05/2026), June Budget (01/06/2026 – 30/06/2026)
Imprest Request created on 28/05
Retirement completed on 03/06
The expense will still be recorded into the May Budget, not the June Budget.
Important Note: Expenses are only recorded into the Project Budget after the Retirement is created and the Imprest Request status changes to Completed. No budget impact occurs at the initial Imprest Request creation stage.