Understanding How to Modify Advanced Contract Billing Contracts

Throughout the life of the contract, you might need to make multiple modifications. The P52G01M program enables you to keep detailed records of all contract modifications because you assign a number, effective date, and a reason code to each modification. The system stores all contract modifications in the Advanced Contracts Modifications table (F52G01M).

You can modify contracts at the contract, invoice, and funding level. However, when you make changes at the invoice or funding level, the system generates an error message if the changes are not valid with respect to the contract level. For example, if you change the POP dates at the funding level, the system generates an error if the dates are not within the POP dates that are specified at the contract level.

You might also need to make modifications to the structure of the contract, such as moving a funding level to another invoice level, or moving an invoice level to another contract level. When you make changes such as these, the system stores the original hierarchy. For example, if you change the invoice level for a funding level, the system stores the original invoice level.

Changes to the invoice level for a funding level contract also require that the system perform these actions:

  • Check the current contract level for the new invoice level and, if the contract level is different, assign the new contract level to the funding level.

  • Update the invoice level in the Business Unit Master table (F0006) for the funding level.

    If the invoice level is on a different contract level, also update the contract level.

  • Determine whether invoices exist for the funding level.

    If invoices exist and the Maintain Invoice History field is selected in the Billing Constants program (P48091), the system:

    • Displays a warning message that invoices have been processed for the funding level.

    • Creates Invoice Summary table (F4822) records in the Invoice Summary History table for the funding level that you change.

    • Adds records to the F4822 table with the new invoice level.

    • Deletes the original records in the F4822 table.

  • If invoices exist and the Maintain Invoice History field is cleared, the system:

    • Displays a warning message that invoices have been processed for the funding level.

    • Adds records to the F4822 table with the new invoice level.

    • Deletes the original records from the F4822 table.

Changes to the contract level for an invoice level require that the system perform these actions:

  • Verify that the company number on the contract level is the same as the invoice level.

  • Update the contract level in the F0006 table for the funding levels that are defined for the invoice level.

    If the invoice level is on a different contract level, also update the contract level for the funding levels

  • Check to see if invoices exist for the funding levels that are associated with the invoice level.

    If invoices exist and the Maintain Invoice History field is selected in the Billing Constants program (P48091), the system:

    • Displays a warning message that invoices have been processed for the funding levels that are associated with the invoice level.

    • Creates invoice summary records in the Invoice Summary History table for all the funding levels that are associated with the invoice level that you are changing.

    • Adds records to the F4822 table with the new contract level.

    • Deletes the original records from the F4822 table.

  • If invoices exist and the Maintain Invoice History field is cleared, the system:

    • Displays a warning message that invoices have been processed for the funding levels that are associated with the invoice level.

    • Adds records to the F4822 table with the new contract level.

    • Deletes the original records from the F4822 table.

You can change contract amounts at both the contract and funding levels. If you change amounts at the funding level, the system generates an error if the amount exceeds the total amounts at the contract level. When you change any of the contract amounts, the system reviews the Billing Detail Workfile table (F4812) for current transactions that are related to revenue for the contract. If the system does not find any current transactions that are related to revenue for the contract, and limit excess records exists for the contract, it creates a record for the contract in the F4812 table with no amounts in it. When you run the Journal Generation program (R48132), this record indicates to the system that it should review the contract for any increases in limit amounts so that you can recognize revenue for what was previously an excess amount.

See Understanding Limit Processing.