Perform Check Funds on Requisitions

When you enable budgetary control in a business unit, you can control spending by checking and reserving funds for your transactions.

Before submitting your requisition for approval, you may want to know whether funds are available or not for your order. You can check funds availability for your entire requisition before you submit it for approval and know the funds check result. If the funds check result for your requisition is successful then you can reserve funds by submitting your requisition for approval. The reservation point will be either on submit or approval depending on the Budgetary Controls settings for the ledger of your requisitioning business unit (BU).

You can use the purchaseRequisitions resource to perform check funds on requisitions that are eligible for funds check. For example, you can check funds for a requisition that has at least one line in incomplete, withdrawn, rejected, or returned status. All distributions of all eligible lines must pass the check funds for you to submit the requisition for approval and have funds reserved.

Let's discuss these scenarios.
  • A transaction-passed budgetary control validation.

  • A transaction-passed budgetary control validation with warning due to an advisory control budget.

  • A transaction-failed budgetary control validation due to insufficient funds.

Transaction-Passed Budgetary Control Validation

Let's consider Vision City Organization, which has controls in place for purchase approvals and budget spending. The budget manager of the organization has allocated budget amounts to the departments and their programs. The budget manager has also enabled funds control at the time of requisition to ensure that requestors are aware of any budget issues before they submit requisitions to approvers.

Let's also consider that Jim Kenworthy, who is a preparer in Vision City Organization, wants to submit a requisition to order some items for a team of program managers in the Parks and Recreation department. Jim is aware that his requisition for the Parks and Recreation department is dependent on funds availability and, therefore, it must successfully pass funds check before it can be submitted for approval. If the funds check results in error, he will need to contact the budget manager for the necessary corrections.

After creating the requisition, Jim can check funds availability for his order.

Example URL

Use this resource URL format:

POST

curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' 
"https://servername/fscmRestApi/resources/version/purchaseRequisitions/RequisitionHeaderId"

Example Request

Here's an example of the request body in JSON format:
{
    "name":"checkFunds",
    "parameters": [{"fundsCheckType":"REQ_CHECK_MANUALLY"}]
}

Example Response

Here's an example of the response body in JSON format:

{
    "result": [
        {
            "returnStatusCode": "SUCCESS",
            "message": "The transaction passed the funds check process."
        }
    ]
}

Transaction-Passed Budgetary Control Validation With Warning

Let's consider that Jim Kenworthy, who is a preparer in Vision City Organization, wants to submit a requisition to order some items for the Public Safety department. Transactions that consume funds from the Public Safety department are only subject to Advisory control. If the funds check results in a warning, Jim will be able to submit his requisition for approval.

After creating the requisition, Jim can check funds availability for his order.

Example URL

Use this resource URL format:

POST

curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' 
"https://servername/fscmRestApi/resources/version/purchaseRequisitions/RequisitionHeaderId"

Example Request

Here's an example of the request body in JSON format:

{
    "name":"checkFunds",
    "parameters": [{"fundsCheckType":"REQ_CHECK_MANUALLY"}]
}

Example Response

Here's an example of the response body in JSON format:

{
    "result": [
        {
            "returnStatusCode": "WARNING",
            "message": "The transaction passed the funds check process with warnings."
        }
    ]
}

Transaction-Failed Budgetary Control Validation

Let's consider that Jim Kenworthy, who is a preparer in Vision City Organization, wants to submit a requisition to order some items for the City Manager department. Since the spending-control level for this department is absolute, then in case of insufficient funds Jim won't be able to submit the requisition for approval until the budget issue is resolved.

After creating the requisition, Jim can check funds availability for his order.

Example URL

Use this resource URL format:

POST

curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' 
"https://servername/fscmRestApi/resources/version/purchaseRequisitions/RequisitionHeaderId"

Example Request

Here's an example of the request body in JSON format:

{
    "name":"checkFunds",
    "parameters": [{"fundsCheckType":"REQ_CHECK_MANUALLY"}]
}

Example Response

Here's an example of the response body in JSON format. If funds check passes with errors, the process terminates with Status 400 Bad Request and the message:

1  The transaction didn't pass the funds check process. (XCC-675370)

Note:

Since the transaction didn't pass funds check successfully, Jim will use the View Budgetary Control Results UI to understand the budgetary control result for his transaction and determine the problem. Jim can access the View Budgetary Control Results UI in the Oracle Fusion Cloud Procurement Purchase Requisitions application.