Project Costs Adjustment Approval Workflow
By default, cost adjustments are automatically approved. If you want project cost adjustments to be approved by authorized users, configure the ApproveAdjustment adjustment approval workflow. This workflow is triggered when a user doesn’t have adjustment approval privileges.
Use the adjustment approval workflow to control how project cost adjustments are reviewed and approved before they are applied.
When you initiate an adjustment, the application determines whether approval is required based on the adjustment type, your privileges, and configured workflow rules.
The approval workflow is triggered only when the user performing the adjustment doesn’t have the required approval privilege.
Some adjustments don’t trigger an approval workflow and are processed immediately.
For example:
- Changing a comment on a project cost
- Updating account information
How Approval Is Determined
When you perform an adjustment, the application evaluates:
- Whether the project cost is eligible for adjustment
- Whether you have the required approval privileges
- Whether the selected adjustment type requires workflow processing
Based on this evaluation:
- If you have the required approval privileges, the application bypasses the approval workflow and processes the adjustment automatically
- If you don’t have the required approval privileges, the adjustment is routed for approval
- If the adjustment type doesn’t require workflow processing, the adjustment is processed immediately
Configure the Approval Workflow
To update business rules associated with approval configuration or to configure the workflow to incorporate parallel approval, request your project application administrator to configure the ApproveAdjustment human task.
Use the Manage Task Configurations for Project Financial Management task in Setup and Maintenance to update the adjustment approval workflow.
You can configure the workflow to:
- Define approval rules based on adjustment type or attributes
- Route approvals to one or more approvers
- Configure sequential or parallel approval stages
Adjustment Types and Approval Behavior
Adjustment type codes are defined in the lookup type PJC_ADJUSTMENT_TYPE.
The following table describes commonly used project cost adjustment types, including how they can be performed, required privileges, and whether they participate in the approval workflow.
| Adjustment | Description | Available in the UI? | Supported in REST API? | Privilege Required to Initiate Adjustment | Supports Adjustment Approval Workflow? | Privilege Required to Bypass Adjustment Approval Workflow |
|---|---|---|---|---|---|---|
| Transfer | Transfer a project cost to another project or task. | Yes. However, transfer of expenditure types isn’t supported in the UI. | Yes | Transfer Project Expenditure Item (PJC_TRANSFER_PROJECT_EXPENDITURE_ITEM_PRIV) | Yes | Approve Project Expenditure Item Transfer (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_TRANSFER_PRIV) |
| Split | Split a project cost into multiple expenditure items. | Yes | Yes | Split Project Expenditure Item (PJC_SPLIT_PROJECT_EXPENDITURE_ITEM_PRIV) | Yes | Approve Project Expenditure Item Split (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_SPLIT_PRIV) |
| Split and transfer | Split and transfer a project cost to another project or task. | Yes | No | Split and Transfer Project Expenditure Item (PJC_SPLIT_AND_TRANSFER_PROJECT_EXPENDITURE_ITEM_PRIV) | Yes | Approve Project Expenditure Item Split and Transfer (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_SPLIT_AND_TRANSFER_PRIV) |
| Reverse | Reverse a project cost. | Yes | Yes | Reverse Project Expenditure Item (PJC_REVERSE_PROJECT_EXPENDITURE_ITEM_PRIV) | No | N/A |
| Recalculate raw cost amount | Recalculate the raw cost amount of a project cost. | Yes | Yes | Recalculate Project Expenditure Item Cost Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_COST_AMOUNT_PRIV) | No | N/A |
| Recalculate burdened cost amount | Recalculates the burdened cost amount associated with a project cost. | Yes | Yes | Recalculate Project Expenditure Item Burden Cost Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_BURDEN_COST_AMOUNT_PRIV) | No | N/A |
| Recalculate converted cost amounts | Recalculate currency conversion amounts. | Yes | Yes | Recalculate Project Expenditure Item Currency Conversion (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_CURRENCY_CONVERSION_PRIV) | No | N/A |
| Recalculate converted transfer price amount | Recalculate transfer price currency conversion. | Yes | Yes | Recalculate Project Expenditure Item Transfer Price Currency Conversion (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_TRANSFER_PRICE_CURRENCY_CONVERSION_PRIV) | No | N/A |
| Recalculate intercompany invoice amount | Recalculate intercompany invoice amount. | Yes | Yes | Recalculate Project Expenditure Item Intercompany Invoice Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_INVOICE_AMOUNT_PRIV) | No | N/A |
| Recalculate intercompany revenue amount | Recalculate intercompany revenue amount. | Yes | Yes | Recalculate Project Expenditure Item Intercompany Revenue Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_REVENUE_AMOUNT_PRIV) | No | N/A |
| Recalculate invoice amount | Recalculate invoice amount. | Yes | Yes | Recalculate Project Expenditure Item Invoice Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_INVOICE_AMOUNT_PRIV) | No | N/A |
| Recalculate revenue amount | Recalculate revenue amount. | Yes | Yes | Recalculate Project Expenditure Item Revenue Amount (PJC_RECALCULATE_PROJECT_EXPENDITURE_ITEM_REVENUE_AMOUNT_PRIV) | No | N/A |
| Set to billable | Set a project cost as billable. | Yes (Project Costing and Project Management) | Yes | Edit Project Expenditure Item Billing Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_BILLING_STATUS_PRIV) | Yes | Approve Project Expenditure Item Billing Status Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_BILLING_STATUS_CHANGE_PRIV) |
| Set to nonbillable | Set a project cost as nonbillable. | Yes (Project Costing and Project Management) | Yes | Edit Project Expenditure Item Billing Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_BILLING_STATUS_PRIV) | Yes | Approve Project Expenditure Item Billing Status Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_BILLING_STATUS_CHANGE_PRIV) |
| Set to capitalizable | Set a project cost as capitalizable. | Yes | Yes | Edit Project Expenditure Item Capitalizable Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_CAPITALIZABLE_STATUS_PRIV) | Yes | Approve Project Expenditure Item Capitalizable Status Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_CAPITALIZABLE_STATUS_CHANGE_PRIV) |
| Set to noncapitalizable | Set a project cost as noncapitalizable. | Yes | Yes | Edit Project Expenditure Item Capitalizable Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_CAPITALIZABLE_STATUS_PRIV) | Yes | Approve Project Expenditure Item Capitalizable Status Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_CAPITALIZABLE_STATUS_CHANGE_PRIV) |
| Set to intercompany billable | Set a project cost as intercompany billable. | Yes | Yes | Edit Project Expenditure Item Intercompany Billing Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_STATUS_PRIV) | No | N/A |
| Set to intercompany nonbillable | Set a project cost as intercompany nonbillable. | Yes | Yes | Edit Project Expenditure Item Intercompany Billing Status (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_STATUS_PRIV) | No | N/A |
| Change work type | Change the work type associated with a project cost. | Yes | No | Edit Project Expenditure Item Work Type (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_WORK_TYPE_PRIV) | Yes | Approve Project Expenditure Item Work Type Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_WORK_TYPE_CHANGE_PRIV) |
| Edit comment | Add or edit a comment on a project cost. | Yes | Yes | Edit Comment (PJC_UPDATE_PROJECT_EXPENDITURE_ITEM_COMMENT_PRIV) | No | N/A |
| Hold invoice once | Hold a project cost from invoice once. | Yes | Yes | Edit Project Expenditure Item Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_PRIV) | Yes | Approve Project Expenditure Item Billing Hold Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_CHANGE_PRIV) |
| Hold invoice until released | Hold a project cost from invoicing until released. | Yes | Yes | Edit Project Expenditure Item Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_PRIV) | Yes | Approve Project Expenditure Item Billing Hold Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_CHANGE_PRIV) |
| Release invoice hold | Remove a project cost from invoice hold. | Yes | Yes | Edit Project Expenditure Item Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_PRIV) | Yes | Approve Project Expenditure Item Billing Hold Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_BILLING_HOLD_CHANGE_PRIV) |
| Hold revenue until released | Hold a project cost from revenue recognition. | Yes | Yes | Edit Project Expenditure Item Revenue Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_REVENUE_HOLD_PRIV) | Yes | Approve Project Expenditure Item Revenue Hold Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_REVENUE_HOLD_CHANGE_PRIV) |
| Release revenue hold | Remove a project cost from revenue hold. | Yes | Yes | Edit Project Expenditure Item Revenue Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_REVENUE_HOLD_PRIV) | Yes | Approve Project Expenditure Item Revenue Hold Change (PJC_APPROVE_PROJECT_EXPENDITURE_ITEM_REVENUE_HOLD_CHANGE_PRIV) |
| Hold intercompany invoice once | Hold a project cost from intercompany invoice once. | Yes | Yes | Edit Project Expenditure Item Intercompany Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_HOLD_PRIV) | No | N/A |
| Hold intercompany invoice until released | Hold a project cost from intercompany invoice until released. | Yes | Yes | Edit Project Expenditure Item Intercompany Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_HOLD_PRIV) | No | N/A |
| Release intercompany invoice hold | Remove a project cost from intercompany invoice hold. | Yes | Yes | Edit Project Expenditure Item Intercompany Billing Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_HOLD_PRIV) | No | N/A |
| Hold intercompany revenue until released | Hold a project cost from intercompany revenue. | Yes | Yes | Edit Project Expenditure Item Intercompany Revenue Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_REVENUE_HOLD_PRIV) | No | N/A |
| Release intercompany revenue hold | Remove a project cost from intercompany revenue hold. | Yes | Yes | Edit Project Expenditure Item Intercompany Revenue Hold (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_REVENUE_HOLD_PRIV) | No | N/A |
| Mark for no cross-charge processing | Mark a project cost for no cross-charge processing. | Yes | Yes | Edit Project Expenditure Item Cross-Charge Attributes (PJC_EDIT_PROJECT_EXPENDITURE_ITEM_CROSS_CHARGE_PRIV) | No | N/A |
| Refresh billing resources | Rederives the billing resource. | Yes | Yes | Refresh Project Expenditure Item Billing Resource (PJC_REFRESH_PROJECT_EXPENDITURE_ITEM_BILLING_RESOURCE_PRIV) | No | N/A |
| Refresh intercompany billing resource | Rederives the intercompany billing resource. | Yes | Yes | Refresh Project Expenditure Item Intercompany Billing Resource Attribute (PJC_REFRESH_PROJECT_EXPENDITURE_ITEM_INTERCOMPANY_BILLING_RESOURCE_PRIV) | No | N/A |
| Reprocess borrowed and lent amount | Reprocess borrowed and lent attributes. | Yes | Yes | Reprocess Project Expenditure Item Borrowed and Lent attributes (PJC_REPROCESS_PROJECT_EXPENDITURE_ITEM_BORROWED_AND_LENT_PRIV) | No | N/A |
| Reprocess cross-charge method | Reprocess cross-charge method. | Yes | Yes | Reprocess Project Expenditure Item Cross-Charge Attributes (PJC_REPROCESS_PROJECT_EXPENDITURE_ITEM_CROSS_CHARGE_PRIV) | No | N/A |
| Reset latest accounting | Reset latest accounting for the transaction. | No | Yes | Reset Accounting (PJC_RESET_ACCOUNTING_PRIV) and Run Create Accounting Process (PJC_RUN_CREATE_ACCOUNTING_PROCESS_PRIV) | No | N/A |
| Update accounts | Update account information on a project cost. | No | Yes | Transfer Project Expenditure Item (PJC_TRANSFER_PROJECT_EXPENDITURE_ITEM_PRIV) | No | N/A |
Cancel Adjustment Considerations
The Cancel adjustment is a net-zero adjustment used to cancel a project cost adjustment.
The application doesn’t provide a dedicated Cancel button; cancel behavior depends on the adjustment status and workflow stage.
- If the adjustment is submitted for approval, you can’t cancel it directly. You must first withdraw it and return it to draft status
- If the adjustment is already approved, you can’t cancel it. Instead, perform a reverse adjustment (subject to eligibility)
- Reversing or canceling approved transactions can impact historical data and reports
- If approval workflows are enabled, reverse adjustments may also require approval
- Provide sufficient documentation when performing cancel or reverse actions
Privileges Required to Approve Adjustment Workflows
Each adjustment approval privilege allows users to approve specific adjustment requests. When users with these privileges perform adjustments, the approval workflow isn’t triggered.
Monitoring Approval Workflows
Use the Transaction Console to monitor and troubleshoot approval workflows for project cost adjustments.
You can:
- Review workflow status and approval history
- Identify and resolve workflow exceptions
- Resubmit or withdraw workflow tasks
- Access diagnostic logs for troubleshooting
The Transaction Console also provides visibility into workflow participants, approval actions, and comments.
Key Considerations
- Approval behavior depends on both user privileges and workflow configuration
- Not all adjustments participate in approval workflows
- Some adjustments are processed immediately without workflow
- Workflow supports parallel approvals based on configuration
Considerations for Mass Adjustments
Approval workflows don't apply to mass adjustments. Users with access to the mass adjustment functionality can submit adjustments directly for processing without going through an approval workflow.
Ensure that appropriate access controls and privileges are assigned to users who perform mass adjustments.