Budget Posting Process

You run the Commitment Control Posting (FS_BP) process to post completed budget journals to the control budget ledgers. You can run the process by initiating it on the Budget Lines page for a single budget journal, or you can request a batch process on the Budget Posting Request page.

Commitment Control Posting Functions

The Commitment Control Budget Processor Application Engine (FS_BP) process performs the following functions:

  1. Edits the budget journal entries to ensure that they meet the rules established on the Budget Definitions component and the Budget Attributes pages.

    Validates that the journal meets the following conditions:

    • Budget is not closed.

    • Control ChartField value is valid for the budget definition.

      If the All Values option is selected on the Control ChartField page, you can enter journals for any value of this ChartField. Otherwise, the ChartField value entered on the budget journal must be among those listed in the ChartField Values grid on the Control ChartField page.

    • Key ChartField values are at or above a budgetary-level node of the translation tree, if translation is established in the budget definition.

    • The journal date falls within valid dates for the control ChartField, if the ChartField value has beginning and ending dates for spending range.

    • Budget period is valid for the budget ledger, unless no budget calendar is defined for the rule set, in which case it validates that budget period is blank.

    • Ledger is valid for the business unit and is a budget ledger.

    • Base currency is correct for the budget ledger.

    • Account is not an account type that is excluded for the budget.

    • Account value is not excluded for the budget.

    • Non-key ChartFields are blank.

    • Funding source code is populated, if funding source is enabled on the budget definition and for the control ChartField value.

    • Entry events are populated, if entry events are enabled and required.

      If entry events are optional for the Commitment Control ledger group, they are only validated if present. However, if entry event codes are optional at the parent level but are blank, a warning is logged for each such line.

      Note:

      Security and balancing checks (the latter for transfers only) are performed when you save or when you select Refresh Journal in the Process field and run it on the Budget Lines page. Security errors result in a budget header status of S, for Security Error. Balancing errors result in a budget header status of B, for Balancing.

  2. Creates offsetting lines for budget journal entries (if the Entries Must Balance option is selected on the Control Budget Options page).

    Note:

    The offsets are created in the PS_KK_ACTIVITY_LOG and not in the budget journal itself.

  3. If you have chosen to use combination editing, it is initiated as a part of the posting process even if you have previously separately run Edit Chartfields manually using the Process button on the Budget Lines page.

    Automatically running the combination edits at posting catches the introduction of errors due to ChartField changes made after a manual edit but before the subsequent running of the posting process.

    Run the Edit Chartfields process online as often as necessary to prove the validity of your entries as you create budget journals and before posting them either online or in batch.

    Note:

    The Edit Chartfield batch process can be run only as a part of the posting batch process and cannot be run as a batch process separately from the posting process.

    See Generating Parent Budgets, Budget Adjustments and Budget Transfers Automatically.

    See Using Combination Editing with Budget, Transfer, and Adjustment Journals.

  4. If there are errors, the process marks the budget header status as E, for Error.

    Note:

    When the posting process is run and combination edit errors exist, the budget processor logs a budget checking exception indicating that ChartField errors exist. This sets the journal header status to E. When the combination edit process is run directly using the Edit ChartFields option, the process does not update the header status.

  5. These budget related edits are performed by the process:

    • Journal does not reduce the available budget amount below tolerance.

      Edit check is not performed if the control option is Tracking with Budget or Tracking without Budget.

    • Journal does not cause a child budget (along with its siblings) to exceed the parent budget limit.

      Edit check is not performed if the Child Budgets Exceed Option is selected on the Control Budget Options page. However, it checks that a parent budget row exists and logs a warning if it does not. If the parent budget definition has more than one child budget definition, the posting process does not sum children across child budget definitions but ensures that each child does not exceed its parent.

      See Parent and Child Budgets.

    • Negative journal amount does not cause a parent budget to be less than the sum of the children.

      Edit check is not performed if the Child Budgets Exceed option is selected on the Control Budget Options page. If the parent budget definition has more than one child budget definition, the posting process does not sum children across child budget definitions but ensures that each child does not exceed the parent.

    • A funding source has been allocated to the budget on the Funding Source Allocation page, if funding source tracking is enabled.

      The process also updates the funding source allocation row with the journal amount.

    • Sum of the budget amount and all funding source allocation revenue rows is less than or equal to the overall budget amount defined on the Funding Source Allocation page, if funding source is enabled.

      If equal, the process permits processing of source transactions.

    • Journal amount does not cause the total allocations for a funding source to exceed the authorized funding source amount, if funding source is enabled.

  6. If there are no errors, posts the budget journal entries to the budget ledger and marks the budget header status as Posted (P).

    Note:

    If you have added the Date/Timestamp status field (for example, DTTM_STAMP_SEC) on the Source Transactions - Status Fields page, the Date/Timestamp for the current system date is applied upon saving the budget journal (online journal), or whenever the Budget Processor has completed processing.

    See Source Transactions - Status Fields Page

    If there are errors in this round of edits, the budget header status becomes E (error).

  7. If unposting, creates reversing journal entries, posts them to the budget ledger, and marks the original entries as Unposted (U).

    Unposting entries go through all applicable budget checking edits.

  8. If entry events processing is enabled for the Commitment Control ledger group, the posting process calls the Entry Event Processor (FS_EVENTGEN) (only for budget journals) if the applicable Skip entry events generator flag is not set.

    (See the section discussing batch and user preferences for online.) to generate entry event lines.

  9. Validates cumulative begin and end dates.

    If cumulative budgeting is enabled and the derived dates option is not active and cumulative begin and end dates are not yet defined, then cumulative begin and end dates on budget journal lines become required.

    If any cumulative begin and end dates are changed in journal entry, the process updates the budget attributes table.

Note:

Only budget journals that have no errors are posted.

If entries fail edits, you can access the applicable errors page, correct the errors, and process the journal again. Budget posting errors are viewed from the budget journal exceptions page.

Combination editing errors are viewed using both the budget journal exceptions page and using the budget errors tab on the budget journal page.

The budget journal exceptions page displays at a high-level indicating that ChartField errors exist. To see the detail regarding the errors, such as which ChartFields are involved, use the error tab on the journal. If you call combination editing directly using the Edit ChartFields option, information about errors is only available using the budget error tab.

Avoiding Unanticipated Exceeds Budget Tolerance Error When Reducing Budget

If you attempt to post a budget journal to reduce a budget by its available budget balance including some or all of the budget tolerance, the Budget Processor might return an Exceeds Budget Tolerance error. The following is an example.

Assume you have a budget of 10000 with a tolerance of 10%. There is also an encumbrance of 5000 recorded against the budget. The available budget balance, including the tolerance, is 6000.

Budget Row Budget Amount Tolerance Tolerance Amount Enc Available Balance Avail Bal + Tolerance

Original

10000

10%

1000

5000

5000

6000

It would seem that you could enter a new budget journal in the amount of -5500 and that it should pass the budget checking component of the budget posting process. But when you attempt to post, the new budget journal fails posting, because budget posting correctly calculates the available budget balance and tolerance amount based on the budget amount after the budget is reduced by the new journal. In other words, reducing the budget by 5500 results in a new budget amount of 4500. The available budget balance is then -500 ( 4500 minus the encumbrance of 5000). Because the tolerance is calculated on the new budget amount, the available budget balance including tolerance is -50.

Budget Row Budget Amount Tolerance Tolerance Amount Enc Available Balance Avail Bal + Tolerance

Original

10000

10%

1000

5000

5000

6000

New

4500

10%

450

5000

-500

-50

Because the new budget amount, including tolerance, is 4950, and there is an encumbrance of 5000, the transaction fails.

This does not mean that budget posting fails any time you post a journal to reduce a budget by an amount higher than the available budget balance but within tolerance. Let's say, for example, that you had a budget of 10000 with a tolerance of 5% and an encumbrance of 5000, and you post a budget journal to reduce the budget amount by 5100. Your new budget amount will be 4900. Including tolerance—which, at 5% of 4900, is 245—your new budget amount is 5145, more than enough to cover the encumbrance, and the journal passes the budget checking component of the budget posting process.

Budget Row Budget Amount Tolerance Tolerance Amount Enc Available Balance Avail Bal + Tolerance

Original

10000

5%

500

5000

5000

5500

New

4900

5%

245

5000

-100

145