PROJECT ACCOUNT GROUPS - Special Topic PJ-18

This topic discusses Project Account Groups and their role in various processes in Costpoint. Detailed information on each of the function codes is also provided. In addition, changes to your Account Groups are discussed.

Purpose

A Project Account Group is a set of accounts that can be used by a given project or projects. The accounts that are included in a specific Account Group are eligible for use by the projects. You do not have to use every account within a Project Account Group; the group merely contains the set of accounts that are available for selection. When setting up your projects, this helps you select which accounts to use by restricting the accounts that are available. For example, you can have a Project Account Group called COM for your commercial projects, or WIP for your Work-In-Process projects.

Within each Project Account Group (PAG), you must select a function code for each account that tells Costpoint how the account will be used for the selected project. Processes use this PAG Code to identify the proper accounts to use, or to restrict which accounts appear on given reports. This same PAG can assist your employees when they enter data into the project transaction entry screens.

When entering your projects, you must decide, on an individual project basis, the transaction validation method that will be used. The various options are controlled in the Maintain Project Master screen (Projects » Project Setup » Project Master) or the Basic Info screen (Projects » Project Setup » Project Master). Regardless of the validation method you select, a given account must appear in the Account Group that is linked to the project if you want to use it.

Setup

Establish Account Groups in the Project Account Groups screen (Projects » Project Setup » Controls). When you initialize new projects in the Maintain Project Master screen (Projects » Project Setup » Project Master) or the Basic Info screen (Projects » Project Setup » Project Master), the appropriate Account Group is linked. You can set up unlimited Account Groups, but you must assign each project to only one Account Group. You should keep the same Account Group for all levels of the project tree.

Upon entering the Project Account Groups screen, you will see the Project Accounts table window, which contains the accounts that are eligible for inclusion in an Account Group. Any account designated as Project Required in the Maintain Accounts screen in Costpoint General Ledger appears in this table window. Adjacent to the Project Accounts window is the Account Functions table window, which contains the 17 system-defined Function Codes.

Highlight each Account that you want to include in your account group along with the appropriate Function Code. In general, each account should have only one Function Code assigned to it within the same account group. The only exception to this rule is BILLED A/R and BILLD AR-PRGRSS, both of which can be assigned to the same account. Click the Select button to transfer the account/function code combination to the Selected Project Accounts table window.

For each account, enter an optional six-character (or less) abbreviation for the account ID in the Project Account Abbrev field. Account abbreviation codes are used strictly for project accounts. When you enter this code in the data entry screens, the project number references the account group in the Maintain Project Master screen (Projects » Project Setup » Project Master) or the Basic Info screen (Projects » Project Setup » Project Master). The account ID corresponding to the abbreviation code in the account group will then default into the data entry screen.

You may find it helpful to use the same abbreviation code for the same account (or the same type of account, even if the actual account number differs) for all groups. For example, if you designated the code DL as the abbreviation for "Direct Labor" for all groups, employees performing data entry can enter the same abbreviation code regardless of the project. The abbreviation code references the associated account group and defaults the correct account ID. You can use the same account abbreviation code in different account groups, but you cannot duplicate a code in the same account group.

Function Codes

As previously noted, there are 17 function codes currently available in the Project Account Groups screen (Projects » Project Setup » Controls). Each performs a separate function in Costpoint. The following is a discussion on each function code:

ALT REVENUE

Use this function code to set up multiple revenue accounts for a single project account group. The accounts that are assigned to ALT REVENUE Function Codes collect the revenue generated by the labor or non-labor accounts listed in the Revenue Account Mapping column.  You can use this feature to show revenue generated by labor and non-labor accounts on separate lines on the Project Status Report.  All revenue adjustments and over ceiling amounts are shown on the line associated with the REVENUE Function Code. You can use this function code multiple times in a single project account group.

AWARD FEE

Use this function code to identify this account as the account that is used for award fees. This function code differs from the Revenue function code in that it is treated separately from project revenue during the Compute Revenue process (Projects » Cost and Revenue Processing » Revenue Processing) and the Post Revenue process (Projects » Cost and Revenue Processing » Revenue Processing). If you do not have award fee on a project, these processes ignore this function code. Only one account in each project account group can have this function code. It is used for projects that accrue award fees.

BAL

Use this function code if you need a project-required account that can be linked to the balance sheet. Most of the other project-required accounts are income statement accounts. No special processes are performed when you use this function code. You can use this function code multiple times in a single project account group. Any account linked to this function code does not display in the Project Status Report.

BILLD AR-PRGRSS

This code is used only by projects that use the Progress Payments billing formula. Billing and cash receipt postings use this code to identify the account used to record and pay the billed receivable amount for progress payment invoices. This function code is different from the Billed A/R code in that progress payment bills contain an option to exclude the General Ledger when they are posted. In other words, if you select this option, the billing and accounts receivable tables are updated when the progress payment invoices are posted, but the general ledger is not. This code identifies the accounts to use for these processes. You can use this function code only once in the same Account Group.

BILLED A/R

The standard billing and cash receipt posting programs use this code. It identifies the account that will record the billed receivable amount during the billing posting. This code also defaults the billed receivable account when you enter cash receipts. For projects that use the Progress Payment billing formula, this code is used to identify the receivable account for delivery invoice postings. You can use this function code only once in the same Account Group.  The account that has been assigned to the BILLED A/R Function Code in the project account group should not be used for any other purpose.

CONTRA-REVENUE

The Process Organization Changes screen (Projects » Cost and Revenue Processing » Utilities) uses this code to hold the year-to-date revenue for users who do not want the org change to be retroactive.  You should use this function code only once in a project account group; do not use it for any other purpose.

COST GOODS SOLD

Use this function code to identify the account that records the Cost of Goods Sold amount during the Compute Cost of Goods Sold Entry screen (Projects » Cost and Revenue Processing » Project Cost Processing). Cost of Goods Sold is used to record the expense (or debit) side of the inventory transfer, from the balance sheet to the income statement, for projects classified as Work-In-Process or Common Inventory. You can use this function code only once in the same Account Group. Do not use this account for any other purpose.

LABOR

This code is used by reports, such as the Project Status Report, to categorize and group certain costs together. You can use this function code more than once in the same Account Group.

To bill the hours and recognize the hourly revenue of subcontractors and consultants on loaded labor rate projects, enter their transactions using an account with a LABOR Function Code. On loaded labor rate projects, the cost of Labor transactions is not billed or included in revenue collections. If you want to bill the cost of subcontractors or consultants on a loaded labor rate project, enter them using a NON-LABOR Function Code. For cost-type projects, you can enter the cost of subcontractors and consultants using accounts with either a LABOR or NON-LABOR Function Code.

NON-LABOR

This code is used by reports, such as the Project Status Report, to categorize and group certain costs together. It is also used by other reports, such as the Project Non-Labor Detail report, to ensure only non-labor accounts appear on the report. You can use this function code more than once in the same Account Group.

PRGRSS-LIQUID

This code is used only by projects that use the Progress Payments billing formula. Billing and cash receipt postings use this code to identify the account used to record the liquidation amount for delivery invoices. How the liquidation account is used depends on the delivery invoice posting method. If you use the Gross method, the liquidation account is used when the cash receipt is posted. If you use the Net method, the liquidation account is used when the bill is posted. You can use this function code only once in the same Account Group. Do not use accounts that have been assigned this function code for any purpose other than that noted.

PRGRSS-UNLIQUID

This code is used only by projects that use a Progress Payments billing formula. Billing and cash receipt postings use this code to identify the account used to record the unliquidated amount for progress payment invoices. How the unliquidated account is used depends on the progress payment invoice posting method. If you update the General Ledger with progress payment invoices, the unliquidated account is used when the bill is posted. If you do not want the General Ledger to be updated when progress payment invoices are posted, the unliquidated account is used when the cash receipt is posted. You can use this function code only once in the same Account Group. Do not use accounts that have been assigned this function code for any purpose other than that noted.

REVENUE

Revenue programs use this code to identify the account that records the revenue for a given project. You can use this function code only once in the same Account Group.  Do not use accounts that have been assigned this function code for any purpose other than that noted.

UNALLOW-LABOR

The revenue and billing programs use this code to identify the accounts used to record labor costs, but which are not eligible to collect revenue or appear on a bill. For example, if you have an expense, such as entertainment labor, that can be identified to a specific project, you probably want to charge that project to obtain full cost accumulation. However, you may not want to collect revenue on this account or include it on a bill. Rather than place a direct cost ceiling on the account, which increases processing time, you can give the account an unallowable function code. You can use this function code more than once in the same Account Group.

UNALLOW-NONLABR

This code performs the same function as the UNALLOW-LABOR code, only for non-labor accounts. The two different unallowable codes are necessary to categorize the expense types on reports, such as the Project Status Report. You can use this function code more than one account in the same Account Group.

UNBILLED-GENERL

The standard billing and revenue programs use this code to identify the account used to record the unbilled amount. When you post revenue, in most situations, the account designated with this code is the offset to the revenue account. When you post standard billings, in most situations, this account is the offset to the billed receivable. In addition, programs such as the Unbilled Analysis Report use this code to identify the unbilled accounts that appear on the report. You can use this function code only once in the same Account Group. Do not use accounts that have been assigned this function code for any purpose other than that noted.

UNBILLED-RETAIN

Use this code to identify the account that records retainage when the standard bill is posted. You can link this function code with only one account in the same Account Group. Do not use accounts that have been assigned this function code for any other purpose.

UNITS

Use this function code on any account that you want to use to record and bill unit usage. To include unit usage in a Standard Bill calculation, you must charge the unit usage to an account that has been designated with either a LABOR, NON-LABOR, or UNITS Function Code. However, the cost of the units, or any other transaction, will be included on a Standard Bill only if the function code is LABOR or NON-LABOR. Therefore, if you use the UNITS function code, you can record both the unit cost and usage to the same account and bill only the unit usage. You can use this function code more than once in the same Account Group.

WIP TRANS OUT

Use this function code to identify the account table that records the WIP Transfer Out amount during the Compute Cost of Goods Sold Entry screen (Projects » Cost and Revenue Processing » Project Cost Processing). The system uses the WIP Transfer Out account to record the balance sheet (or credit) side of the inventory transfer, from the balance sheet to the income statement, for projects classified as Work-In-Process or Common Inventory. You can use this function code only once in the same Account Group. Do not use accounts that have been assigned this function code for any purpose other than that noted.

Account Group Changes

You should view your initial Project Account Groups setup as permanent, and make changes only when absolutely necessary. Please contact Costpoint General Support before making any changes to your Account Groups.

Generally, you can make changes to your Account Groups without any problems if you have not posted any transactions or executed any processes. This means you can make changes during initialization if you have a "false start." Keep in mind that adding or deleting accounts to your Project Selected Accounts may mean additional changes to your transaction validation screens (such as Maintain Valid Project/Account/Orgs).

If you have posted transactions and executed processes, most changes require additional steps. Many of the function codes reside in the project summary ledgers (PROJ_SUM and PSR_PY_SUM) and are identified with an account function number (ACCT_FUNC_NO) to help categorize them. Furthermore, as the revenue process proceeds, additional tables are affected by the account function codes. For example, when you execute the Update Project Status Report Tables screen, it updates a table called PSR_FINAL_DATA. The account function codes are transferred from PROJ_SUM and are known in PSR_FINAL_DATA as the SUB_TOT_TYPE_NO, which groups the types of transactions for presentation on the report. In addition, many posting programs rely on a unique project/account/org combination in the General Ledger (GL_POST_SUM) to determine the amount required for the current posting. Changing the account in the Account Group, in effect, creates a new transaction combination that affects the amount posted. In summary, changing the Project Account Groups can have a wide-ranging affect on the system. Although some information on changing Project Account Groups is provided below, you should contact Costpoint General Support before making changes to your Project Account Groups.

The following are some examples of how to handle Account Group changes:

LABOR to NON-LABOR or Vice-Versa

Make the change in the Account Group and execute the Assign Account Function Codes toolkit in the Miscellaneous Toolkits screen (Projects » Cost and Revenue Processing » Utilities) for the Account Group(s) that changed. This toolkit reviews the current Account Group setup and synchronizes the ACCT_FUNC_NOs in PROJ_SUM and PSR_PY_SUM per that setup. Depending on the size of your database, this toolkit may take considerable time to complete. Keep in mind that if you want these changes reflected on prior period reports, you must execute the appropriate report table update for those periods. Also, changing an account to a LABOR function code may not make the account appear on labor reports if the transactions have not been entered through a labor entry function (for example, Enter Timesheets (People » Labor » Timesheets), or the Employee Labor and Vendor Labor subtasks of the Enter JEs screen (Accounting » General Ledger » Journal Entries (JEs)) or the Enter A/P Vouchers screen (Accounting » Accounts Payable » Vouchers)).

Changing the REVENUE Function Code

Make the change in the Account Group. Enter a journal entry transferring the Year-to-Date (YTD) revenue from the original project/account/org combination to the new combination. When you post revenue the first time after the change, the system will look at GL_POST_SUM to sum the amount that has been posted YTD and to determine the amount of the current posting.

Changing the BILLED A/R Function Code

Make the change to the Account Group and enter a journal entry to transfer the outstanding amount from the original billed receivable account to the new account. This journal entry is needed only if you want to keep the balance in one account. Keep in mind that the detail supporting the balance transfer still resides in the original account.

Changing the UNBILLED-GENERL

Make the change to the Account Group and enter a journal entry to transfer the YTD balance from the original unbilled-general account to the new account. The Unbilled Analysis Report derives the Unbilled Per G/L amount from GL_POST_SUM for the account that is currently designated with the UNBILLED-GENERL for a given project. By moving the YTD balance to the new account, you ensure that all transactions for the current year are included.

Changing the COST GOODS SOLD or WIP TRANS OUT

If you are changing the Cost of Goods Sold account, you need to make the change only in the Account Group and enter an optional journal entry to keep the YTD balance in one account. If you are changing the WIP Transfer Out account, you must make the change in the Account Group, and you must enter the journal entry. The Compute Cost of Goods Sold Entry screen (Projects » Cost and Revenue Processing » Project Cost Processing) sums GL_POST_SUM for the YTD balance of the account with the WIP TRANS OUT function code to determine the amount of the current posting. The journal entry transferring the YTD balance ensures that the current posted amount is correct.

Account Function Numbers

Account Function Numbers are assigned to the accounts that are written to the Project Ledger tables (PROJ_SUM and PSR_PY_SUM). These numbers, which can be found in the ACCT_FUNC_NO columns of both tables, categorize the accounts for processes and direct them to their location on reports. One of these reports is the Project Status Report, which stores some of its information in the PSR_FINAL_DATA table. In this table, the numbers are assigned to the accounts in the SUB_TOT_TYPE_NO column.

The following table lists the ACCT_FUNC_NOS and SUB_TOT_TYPE_NOS in the PROJ_SUM and PSR_FINAL_DATA tables, respectively. Note that different numbers can exist for the same account type if the project is classified as Work-In-Process (WIP).

PROJ_SUM Table vs PSR_FINAL_DATA Table

(ACCT_FUNC_NO Column vs SUB_TOT_TYPE_NO column)

 

PROJ_SUM Table

ACCT_FUNC_NO Column

 

PSR_FINAL_DATA Table

SUB_TOT_TYPE_NO Column

Non-WIP Projects

Non-WIP Projects

 

1    Revenue

1    Revenue

2    Labor

2    Labor

3    Non-Labor

3    Non-Labor

4    Burden

4    Burden

5    Cost of Money

5    Cost of Money

11  Unallowable Labor

2    Unallowable Labor

12  Unallowable Non-Labor

3    Unallowable Non-Labor

13  Units

3    Units

WIP Projects

WIP Projects

 

1    Revenue

1    N/A

2    Labor

2    Labor

3    Non-Labor

3    Non-Labor

4    Burden

4    Burden

5    Cost of Money

5    Cost of Money

6    Cost of Goods Sold

6    WIP Transfer

7    WIP Transfer

7    G&A Backout

8    N/A

8    Revenue

9    N/A

9    Cost of Goods Sold

10  N/A

10  Cost of Goods Sold Burden

11  Unallowable Labor

2    Unallowable Labor

12  Unallowable Non-Labor

3    Unallowable Non-Labor

13  Units

3    Units