WIP Costs in Fixed-Price Projects: General Information

According to the GAAP matching principle, the expenses related to the revenue have to be recorded to the same financial period as the revenue is. Expenses may happen in several financial periods before an invoice is created for the customer for those costs and the generated revenue can be recognized.

To set up the accounting for work-in-progress (WIP) costs for a project so that it corresponds to the GAAP matching principle, you can temporarily allocate the project costs to a work-in-progress account group and then reverse the allocation back to the initial labor account group in the financial period in which an accounts receivable invoice is generated for the project and the revenue is recognized.

Learning Objectives

In this chapter, you will learn how to do the following:

  • Configure an allocation rule to move project costs to a WIP account group
  • Configure a fixed-price project for allocating costs to the WIP account group
  • Temporarily allocate costs of the project to the WIP account group

Applicable Scenarios

If you have a long-term fixed-price project with expenses that have been posted to several financial periods but the project has not been billed yet, and in accordance with GAAP you want to record these expenses to the same financial period as the income generated by the invoice, you can move the expenses to the needed period by allocating the project.

Creating the Allocation Rule

To temporarily allocate costs of a fixed-price project to a WIP account, you create an allocation rule on the Allocation Rules (PM207500) form. Using this allocation rule, the system creates allocation transactions based on the project transactions posted to a particular account group or groups, which moves costs from the original accounts to a WIP account.

For this allocation rule, you specify the following settings on the Calculation Rules tab:

  • Allocation Method: Allocate Transactions

    With this setting, the system calculates the amount to allocate by using the underlying transactions and their amounts.

  • Create Allocation Transaction: Selected

    With this check box selected, the system creates the allocation transactions resulting from the step.

  • Select Transactions (Selection Criteria section): Not Allocated Transactions

    The step is applied to project transactions that have not been allocated yet.

  • Branch (Selection Criteria section): The branch to be used as the filtering criteria for project transactions to be allocated.
  • Account Group From (Selection Criteria section): The account group that starts the range of account groups whose transactions are involved in the allocation step
  • Account Group To (Selection Criteria section): The account group that ends the range of account groups whose transactions are involved in this allocation step

    If you want to allocate the transactions posted to a single account group, you select the same account group in the Account Group From and Account Group To boxes.

  • If @Rate is not defined (Rate Settings section): Set @Rate to 0

    You do not need to adjust the quantity and amount of the allocation transaction, so you will not use rates in the formulas of the allocation rule.

  • Quantity Formula (Calculation Settings section): =[PMTran.Qty]
  • Billable Qty. Formula (Calculation Settings section): =[PMTran.BillableQty]
  • Amount Formula (Calculation Settings section): =[PMTran.Amount]

    As the quantity, billable quantity, and amount of the allocation transaction, the system uses the corresponding values of the original transaction. You do not modify the quantity and amount of the original transactions and just move them to a temporary WIP account as is.

  • Description Formula (Calculation Settings section): The description of the created allocation transaction

You specify the following settings for the allocation rule on the Allocation Settings tab:

  • Post Transaction to GL (Transaction Options section): Selected

    With this check box selected, allocation transactions and reversing allocation transactions are posted to the general ledger.

  • Reverse Allocation (Transaction Reversal section): Never

    With this setting, the allocation transaction is not reversed automatically. A fixed-price project with a progress billing rule does not use allocation transactions for billing so you cannot use the allocation rule for creating reversing allocation transactions.

  • Account Origin (Debit Transaction section): Replace with a WIP account

    With this setting, the system generates an allocation transaction that debits the specified WIP account. The account must be mapped to a dedicated WIP account group that reflects the allocated amount and that you will later use in the billing rule.

  • Account Origin (Credit Transaction section): Debit Source

    With this setting, the system generates an allocation transaction that credits the debit account of the source transaction.

Configuring Fixed-Price Projects for Allocation

On the Projects (PM301000) form, for a fixed-price project to be allocated, you assign the created allocation rule to the project tasks on the Tasks tab.

You bill a fixed-price project with a billing rule with a Progress Billing step that does not use project transactions, including allocation transactions, for billing. To make the system automatically reverse created allocation transactions, which prevents the allocation transactions from affecting the project balance after you bill the project, you select the WIP account group to which you allocate the project costs in the Non-Billable WIP Account Group box on the Summary tab (Billing and Allocation Settings section) of the Project Tasks (PM302000) form.

Allocating and Billing Projects

You run the allocation process for a project by clicking Run Allocation on the More menu of the Projects (PM301000) form while reviewing the project. As a result, the system creates allocation transactions based on the project transactions selected by using the allocation rules specified for project tasks on the Tasks tab. To make it possible to identify a batch of created allocation transactions, the system assigns the Allocation for <Project ID> description to such a batch. For the project transactions that have been used as a source of the allocation, the system selects the Allocated check box on the Project Transaction Details (PM401000) form.

When you bill a fixed-price project and create the accounts receivable document, the system automatically reverses the allocation transactions posted to the account group selected in the Non-Billable WIP Account Group box on the Summary tab (Billing and Allocation Settings section) of the Project Tasks (PM302000) form. Reversing allocation transactions copy original allocation transactions and reverse the sign of the amount. Allocation transactions are always reversed in the full amount. When you release the reversing allocation transactions, the system clears the WIP account group and moves the allocated costs back to the original accounts in the financial period the AR document created in.