Back to V300: Project Accounting for Construction
Lesson 1: Reviewing the Project Settings and Lifecycle
Part 1: Project Commitments
Projects represent an organized, well-defined way to manage corporate activity and carefully track and manage related costs in the company. This lesson explains how you can review the project settings and gather all the needed information about the performed and planned work.
Project Creation and Processing: General Information
A project in Acumatica ERP is a one-time endeavor with its own budget, costs, and revenues; the funding and deliverables of a project are usually finite. In the system, a project contains various specifications that affect project completion, such as the date range, customer, and resources (including employees and equipment).
Learning Objectives
In this lesson, you will learn how to do the following:
- Plan a project structure
- Create a project and specify its settings
- Plan the structure of the project budget
- Process a project during its lifecycle
Applicable Scenarios
You create a project to plan work to be performed for a customer, define budgets for the planned work, track the progress of completion of the planned work, bill the customers for the provided services, and track the costs and revenues of the provided services.
Type of Projects
You can use projects for tracking activities involving customer interaction (external projects) and in-house work (internal projects). The key objective of external projects is balancing costs and income to make sure the organization remains profitable, while meeting project goals and maximizing customer satisfaction. The scope of internal projects is typically limited to the physical and organizational boundaries of your organization; these projects serve the needs of the organization and never produce any revenue. Depending on which activities you are going to track, you can configure projects of the following types:
- A fixed-price project, which is an external project in which services and products are provided to customers at a fixed price; the price of the project is defined at the beginning of the project and is not changed during its completion (unless any change orders are processed for the project).
- A cost-plus project, which is an external project in which the prices are calculated as a percentage of the costs. The final price of the cost-plus project depends on the overall cost of fulfilling the project, and the costs may be billed with or without a premium.
- An internal project, which is used to track activities completed within your company. The scope of these projects is limited to the physical and organizational boundaries of an organization; these projects serve the needs of the organization and never produce any revenue. Internal projects have budgets, do not include billing settings, and are not associated with any customer.
Project Settings
You create a new project and specify its settings on the Projects (PM301000) form. When you are manually adding a new project to the system, you enter the following information:
- General information: This information includes the description, the start and end dates, the project manager, the project address settings, the project currency, and the branch to which the project belongs. You can also specify the billing rule to be assigned to project tasks by default.
- Billing schedule: You define whether you will use direct AR invoices when billing the project, or use the pro forma invoices. Then you determine when the project is billed: on the date of the customer statement, at the end of each month, at the end of each quarter, or at the end of each year.
- Project tasks: You define the project tasks of the project. A project task in a project is a separate work unit with its own lifecycle, budget, cost, revenue, and billing rule. Budgeted, revised, and actual amounts in the project are tracked by account group balances, each of which is the total of all the corresponding amounts in the project tasks. That is, the project does not have any balances beyond those in the project tasks of the project. You can define one of the project tasks to be used by default in lines of records with this project specified. For more information, see Project Tasks: General Information.
- Budget: You define the level of detail for the cost budget and for the revenue budget. The structure of the revenue budget of the project is determined independently from the cost budget structure. Then you specify the budget, which holds the estimated expenses and revenues for a project.
- Default GL accounts: You define the general ledger accounts to be used by default in project-related documents.
Cost Codes: General Information
A cost code represents an additional classification level for project revenues and costs in a construction project. You can associate cost codes with documents and document lines in which projects are referenced, such as general ledger transactions, accounts payable bills, purchase orders, accounts receivable invoices, expense entries, time cards, and lines of project budgets.
Learning Objectives
In this lesson, you will learn how to do the following:
- Plan the structure of cost codes to be used in construction projects
- Configure the structure of the cost code identifier and define cost codes
- Configure cost code tracking in the revenue budget lines of the project budget
- Configure cost code tracking in the cost budget lines of the project budget
- Deactivate a cost code that is no longer being used
Applicable Scenarios
You create cost codes and configure a project to use these cost codes if you need to further classify revenues and expenses in a budget of a construction project.
Cost Code Configuration
By tracking revenues and expenses by cost codes, you can analyze how much each project task costs, what the revenue is, and how the tracked values compare with the budgeted ones. To define the cost codes to be used in your projects, you need to perform the following tasks:
- Plan the structure of cost code identifiers and the cost codes to be used based on the processes in your organization.
- Modify the COSTCODE segmented key based on your planned structure, if necessary.
- Add the planned cost codes to the table on the Cost Codes (PM209500) form.
- Configure the use of cost codes in the cost budget and revenue budget of a particular project.
You can prepare the list of cost codes in an .xlsx or .csv file and upload the file to the Cost Codes form. Alternatively, you can add cost codes one by one on the form.
Project Budget Tracking by Cost Codes
When you create a document or a document line (or both) that you want to associate with a particular cost code, you first specify the applicable GL account, project, and project task for the line; you then assign the appropriate cost code to the line. In the lookup table that opens when you click the selector button on the applicable form, the system lists the cost codes that are used in budget lines of the project you have selected for the document or document line. The lookup table also lists the budget lines that have the same project task and the account group that corresponds to the GL account selected for the document or document line. You can select any of the available cost codes, or select a cost code that has not yet been used for the combination of project, project task, and account group. For a project, on the Summary tab (Project Properties section) of the Projects (PM301000) form, you can use the Revenue Budget Level and Cost Budget Level boxes to specify the way the system represents budget lines and classify revenues or expenses by cost codes as well as other factors. You do this by selecting the needed options in the Revenue Budget Level and Cost Budget Level boxes as follows:
- If you select Task and Cost Code or Task, Item, and Cost Code in the Revenue Budget Level box, you can view revenue budget lines by cost codes on the Revenue Budget tab of the Projects form for the project, and you can bill the project with the selected revenue budget level for progress.
- If you select Task and Cost Code or Task, Item, and Cost Code in the Cost Budget Level box, you can view cost budget lines by cost codes on the Cost Budget tab of the Projects form for the project. You can also bill the project with the selected cost budget level for time and material. You can change the cost code for each cost budget or revenue budget line manually, if needed.
Deactivation of Cost Codes
Sometimes a particular cost code is no longer needed—for example, if this is a single-use cost code added solely for one particular project, and all work related to it has been completed. If a user has the Project Accountant role assigned on the User Roles (SM201005) form, they can deactivate this cost code on the Cost Codes (PM209500) form. Inactive cost codes become unavailable for selection on any data entry form but remain specified in existing documents. Users can work with these documents but cannot perform any operation that would lead to creation of a related document or transaction (such as a project transaction or general ledger transaction) with the inactive cost code. The following cost codes cannot be deactivated:
- The default cost code
- A cost code that is specified in a project budget line along with a project task that has the Active status
Project Creation and Processing: A Project’s Lifecycle
In Acumatica ERP, a project is a one-time or recurring endeavor with a specific scope, time frame, and budget. The following sections describe the common stages of a project’s lifecycle: estimation, acceptance, execution, and completion.
Project Stages and Statuses
The following diagram shows the stages a project goes through and the statuses it is assigned from the project’s initiation to its completion.
Project Estimation
During the project estimation stage, you specify project settings on the Projects (PM301000) form, define activities, plan the project tasks, estimate the time required for the completion of each project task, and populate the project record with employees, resources, and equipment. The system assigns each new project and its tasks the In Planning status once it has been saved. Users cannot select projects and project tasks with the In Planning status in any records, except for the following types of records that are available for planning:
- Employee activities on the Activity (CR306010) form
- Tasks on the Task (CR306020) form
- Email activities on the Email Activity (CR306015) form
- Purchase orders on the Purchase Orders (PO301000) form
- Subcontracts on the Subcontracts (SC301000) form For instance, you can add an employee activity for planning budgets for project tasks, or record a project commitment. However, if your user account does not have the Project Accountant role assigned on the User Roles (SM201005) form, these documents can be processed further only aer the Active status is assigned to the project task. If your user has the Project Accountant role, you can release employee activities with project tasks that have the In Planning status.
Project Acceptance
The acceptance stage involves reaching an agreement with all the stakeholders, including customers and employees, as well as estimating the budget for the project and the expenditures it will entail. If the approval of projects is not required in your system, the project manager takes the project off hold to assign it the Active status. If the approval of projects is required in your system, the system submits the project for approval and assigns it the Pending Approval status once it is taken off hold. If all assigned employees have approved the project on the Approvals (EP503010) form or on the Projects (PM301000) form, the system assigns it the Active status. If at least one of assigned employees has rejected the project, it is assigned the Rejected status. You can assign the In Planning status to the project again so that you can edit its details and resubmit it for approval. For more information on approvals, see Specific Approvals: Projects, Project-Related Documents, and Time Activities.
Project Execution
During the execution stage, the project retains the Active status, indicating that it is in progress and project transactions can be posted to it. Users can select active projects and their project tasks on the forms of the functional areas in which the projects are visible.
A user can select the project tasks with the Completed, Canceled, or In Planning status on data entry
forms only if this user has the Project Accountant role assigned to their user account on the User Roles
(SM201005) form.
By default, in newly created transactions and documents, the system inserts the non-project code. When you create a project-related transaction or document, you need to specify the particular project and project task to indicate that this transaction or document must be tracked within the project; also, you can specify whether the transaction or document is billable. If the non-project code is specified in these transactions, they are not tracked in any project. If any budget changes occur during the course of the project, the system preserves the initial budget amounts, and tracks the revised figures for the project budget. If your company has decided to temporarily pause all activities on the project, you can assign this project the Suspended status. A suspended project is not available for selection on data entry forms, except for forms where employee activities and project commitments can be entered. When work on the project resumes, you can reactivate the suspended project.
Project Completion
The statuses of individual project tasks do not directly affect the status of the corresponding project. Thus, the system does not automatically set a project’s status to Completed if all of its project tasks have been completed. However, to be able to complete the project, you first need to complete all project tasks included in this project. For more information about project task completion, see Project Tasks: Tracking Task Completion. Once the project is finished, the project accountant completes it by manually assigning it the Completed status, and then analyzes the project profitability. Project transactions can no longer be posted to a project with the Completed status.
To simplify the tracking of the project completion percentage, you can create a separate dedicated
task and use it exclusively to manually specify the project completion percentage, which you
evaluate by using all the information available about the progress of project tasks and project-related
transactions.
Alternatively, a project can be canceled. The Canceled status indicates that the project has been stopped before its actual completion. A canceled project can be activated again.
Construction Project Budget: To Review Project Balance
The following activity will walk you through the process of reviewing the structure, settings, and balances of a project.
Story
Suppose that ToadGreen Building Group is a general contractor building an Italian restaurant for its customer, the Italian Company. A ToadGreen manager has created a project for the work to be performed, and the budget has been agreed on with the customer. Acting as the construction project manager, you need to review the project balances to become familiar with the project and gather all the information about performed work.
Configuration Overview
In the U100 dataset, the following tasks have been performed to support this activity:
- On the Enable/Disable Features (CS100000) form, the Construction and Cost Codes features have been enabled.
- On the Projects (PM301000) form, the ITALIAN project has been defined.
Process Overview
You will review project' settings on the Projects (PM301000) form. Then you will review the project revenue budget on the Revenue Budget tab of the form, and project cost budget on the Cost Budget tab of the form. Finally, you will review the Invoices tab to ensure that no invoices have been prepared for the project yet.
System Preparation
To sign in to the system and prepare to perform the instructions of the activity, do the following:
- Launch the Acumatica ERP website, and sign in to a company with the U100 dataset preloaded; you should sign in as construction project manager by using the ewatson username and the 123 password.
- On the General tab of the Projects Preferences (PM101000) form (General Settings section), make sure that Revenue Budget Update is set to is Detailed.
- Make sure that Cost Budget Update is also set to Detailed.
- Select the Internal Cost Commitment Tracking check box. This exposes the committed values of the budget.
- Save your changes to the project accounting preferences.
Step 1: Reviewing the Billing Settings of the Project To review the main settings and the structure of the project for the Italian Company, do the following:
- On the Projects (PM301000) form, open the ITALIAN project. In the Summary area of the form, notice that the project's status is Active. With this status, transactions and documents can be recorded on this project. Also notice that the project is being performed for the ITACOM customer.
- On the Summary tab, review the billing settings of the project, and notice the following:
- The TM billing rule is specified in the Billing Rule box. This billing rule is used as the default value for newly created project tasks. A billing rule determines how progress billing amounts or project transactions (or both) are billed for the project.
- Billing Period is set to Month, which means that Next Billing Date is auto-incremented by a month aer every run of the project billing process. The billing period is specified for a new project and cannot be changed thereaer.
- The Create Pro Forma Invoice on Billing check box is selected, which means that during the project billing process, the system creates a pro forma invoice. On release of the pro forma invoice, an AR invoice or credit memo is created.
- On the Tasks tab, make sure that all the project tasks have the Active status (as shown in the following screenshot). With this status, transactions and documents can be recorded to those tasks. Notice that the Billing Rule column is filled in for all tasks—that is, the billing rule is specified at the project task level. You can change the billing rule for any task, which provides a high level of flexibility of project billing configuration. Figure: Project tasks of the ITALIAN project
- In the Summary area, notice the amounts in the Actual Income and Actual Expenses boxes. These amounts indicate that some costs have already been recorded for the project, but there is no revenue yet.
- On the Invoices tab, notice that there are no documents, which means that the project has not been billed yet.
Step 2: Reviewing the Cost Budget of the Project Perform the following instructions to review how the project costs are tracked:
- While you are still viewing the ITALIAN project on the Projects (PM301000) form, on the Summary tab, review the Cost Budget Level setting, which defines the level of detail for the budget structure on the Cost Budget tab. The selected level of detail, Task and Cost Code, indicates that the budget figures and the auto- calculated values are determined for the project by account group, project task, and cost code.
- On the Cost Budget tab, review the cost budget lines specified for the project. Notice that each record on this tab has a unique combination of values in the Project Task, Cost Code, and Account Group columns (which together make up the project budget key). When a cost project transaction is released, if there is a budget record with the project budget key that matches the transaction, the actual quantity and actual amount are updated in that budget record. If there is no matching budget record, the system creates a new budget line with budgeted amounts of zero and with actual amounts from the transaction. The way the system creates the cost budget line depends on the option that is specified in the Cost Budget Update box on the Projects Preferences (PM101000) form.
- On the Cost Budget tab, select the Group by Task check box. The system groups the cost budget lines with the same task into a single line and shows the total for each column of the table in the bottom-most row.
- Move the Potential CO Amount column by dragging it aer the Revised Budgeted Amount column, and review the cost budget of the project. The cost budget information is divided into the following buckets— that is, groups of columns with similar budget information (see the screenshot below):
- Budgeted (the columns with Budgeted in the names; see Item 1 in the screenshot below): The planned costs of the project. The original budgeted values are entered manually for the project on the Cost Budget tab of the Projects form, or on the Project Budget (PM309000) form. Revised budgeted values can also be entered manually if the change order workflow is not used for the project.
- Potential (the Potential CO Amount column; Item 2): The total quantity of the estimation lines of change requests that have the Open status plus the total quantity of the revenue budget lines of the change orders that have the On Hold, Open, or Pending Approval status and are associated with the same project, project task, account group, and cost code or inventory item. These totals are calculated automatically.
- Committed (the columns with Committed in their names; Item 3) The total amounts and total quantities of commitments (subcontracts and purchase orders), with a breakdown by the stage of the process (such as open or invoiced). These totals are calculated automatically.
- Actual (the columns with Actual in their names; Item 4): The total amounts and total quantities of project
transactions released. These totals are calculated automatically.
Figure: Cost budget information of the project
Step 3: Reviewing the Revenue Budget of the Project Perform the following instructions to review how the project revenues are tracked:
- While you are still viewing the ITALIAN project on the Projects (PM301000) form, on the Summary tab of the form, review the Revenue Budget Level setting. This setting defines the level of detail for the budget structure on the Revenue Budget tab. The selected level of detail, Task and Cost Code, indicates that the budget figures and the auto-calculated values are determined for the project by account group, project task, and cost code. Corresponding columns with these settings are available for reviewing and editing on the Revenue Budget tab.
- On the Revenue Budget tab, review the revenue budget lines specified for the project (which are grouped into similar buckets as those for the cost budget lines). Notice that each record on the Revenue Budget tab has a unique combination of values in the Project Task, Cost Code, and Account Group columns (the project budget key). When a revenue project transaction is released, if there is a budget record with the project task, cost code, and account group that match the transaction, the actual quantity and actual amount are updated in that budget record. If there is no matching budget record, the system creates a new budget line with budgeted amounts of zero and with actual amounts from the transaction.
- On the General tab of the Projects Preferences (PM101000) form, review the Revenue Budget Update
setting, which is set to Detailed. This means that a new budget record is created with information from the
project transaction at the budget level of detail. For the revenue budget of the ITALIAN project, this is the
project task, cost code, and account group of the project transaction. The same update logic applies to
commitments, change orders, and change requests.
The structure of cost budget is determined independently from the revenue budget structure. Similar rules
apply to the cost budget structure of a project. Thus, the Cost Budget Level setting can be specified for
a project on the Summary tab of the Projects (PM301000) form, and the respective Cost Budget Update
setting (Summary or Detailed) is specified on the General tab of the Projects Preferences form; this setting
determines the level of detail for the budget record that is created if there is no matching record (that is, a
record with the same project budget key) for a cost project transaction being released.
If you would select Summary in the Revenue Budget Update or Cost Budget Update box, the corresponding budget records will be created with information from the project transaction grouped by project task and account group. This mode is useful if the following conditions are met:
- Only certain articles are budgeted at a very detailed level.
- There may be many transactions processed with different cost codes and items.
- All these transactions are budgeted in a single line of a project.
You have finished reviewing the project settings and project budget.