Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CHAPTER 9: USE AND DESIGN OF THE PROJECT MANAGEMENT AND ACCOUNTING MODULE
Objectives
The objectives are: Describe how projects are created, and the various types of projects that are available. Review the data model for projects. Discuss the significant classes that are used with projects. Describe how the work breakdown structure is used with projects and how the data model relates to the project data model. Discuss the transaction types that are used for journals in the Project management and accounting module and how categories, pricing, and line properties control the posting of these transactions. Review the data model and the ProjTrans class hierarchy that is used for posting transactions against a project. Describe how budgeting and forecasting works with projects. Review the data model for budgets and forecasts. Describe how project contracts are used. Review the data model for project contracts. Describe how project invoice proposals and invoices are generated in Microsoft Dynamics AX. Review the data model and classes used for generating invoice proposals and invoices. Review how estimate projects and cost templates are used in the system. Describe the Project Management and Accounting Add-In.
Introduction
This chapter introduces you to the Project management and accounting module of Microsoft Dynamics AX. The design and data models for several key areas are reviewed. Use the project management and accounting module to plan, create, manage, control, and complete projects for your organization. Customer-focused projects can be set up on a time and materials or fixed-price basis. You can also use the module to manage costs for internal and investment projects.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-1
9-2
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Projects
The project list contains the list of all projects in the current company and will be used frequently by project managers. Open Project management and accounting > Common > Projects > All projects.
To create a new project without a template, open Project management and accounting > Common > Projects > All projects. On the Action Pane, select the Project tab. Then click Project in the New group. You can edit the properties of an existing project by using the Project details form. You can optionally use a project template when creating a new project. Project templates help make the process of creating a new project or complex project structures easier and more consistent.
Subprojects
Some projects can easily be processed as one large project for planning and accounting if the subprojects and complexity are low. Other projects gain more overview when distinct phases of the project's activities are split into separate subprojects. For example, if a large project has several phases such as a design phase and an implementation phase a separate subproject can be created for each phase.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-3
Project Types
The Project management and accounting module, supports the following six project types. Time and material: Time and material projects are invoiced as work progresses based on the consumption of hours, expenses, items, or fees on the project. This project type is mainly applied to projects where costs can be matched with the revenue on each transaction and the project is invoiced as work progresses. Fixed-price: Fixed-price projects are for projects that are invoiced according to a billing schedule based on the project contract. Revenue for a fixed-price project can be posted according to the completed contract method or according to the completed percentage method. Internal: Internal projects are financed by your company. There are no customers for this project and it cannot be invoiced. Costs can be posted to profit and loss accounts or balance sheet accounts.
9-4
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Cost: Cost projects are internal projects that register hours, expenses, and item transactions. Transactions on cost projects are posted to profit and loss accounts and cannot be capitalized to balance accounts. Time: Time projects are internal projects that only register hour transactions. Time projects are applied to the total number of hours consumed on a task or a project. Unlike the transactions on an internal project type, transactions on a time project are never posted to ledger accounts. Examples of time projects include the registration of illness or holidays. Investment: Investment projects are internal projects without immediate earnings. Only costs of items, hours, and expenses can be registered on an investment project, and the estimate feature is applied to track and control costs. Costs registered to an investment project are entered on profit and loss accounts and transferred to work in progress (WIP) accounts when estimates are posted. After the project is completed and the project is eliminated, the WIP value is transferred to a fixed asset, a ledger account, or a new project.
Project Groups
Project groups define how the system processes the ledger postings of the project types. Each project belongs to a single project group. Project groups control the posting profiles to the general ledger and the project WIP. Rules for posting transactions are set up according to project or category type, and the costs are posted into profit and loss or balance accounts. Because the project group is mandatory when you create a new project, a minimum of one project management and accounting group must be set up. When you create a project group, you must immediately determine the project type tied to this group. Then you will assign the specific conditions connected to that specific type, such as invoice posting, journalizing, cost price, and sales price. When you create new projects, you can only select groups that are defined for that specific project type.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-5
9-6
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Projects Data Model
The following figure shows the data model for projects.
The ProjTable is the primary table for projects; each project has one record in the ProjTable. For external (billable) projects, each project contract (ProjInvoiceTable) is attached to one or more customers for invoicing and payment. Each project is also attached to a project group (ProjGroup). The project group defines how the system processes the ledger postings of the various project types.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-7
On the ProjTableType class an object method called type() is used to construct the actual object. Object methods such as insert(), update(), delete(), validateWrite(), and validateField() are implemented on the classes. The object method on the table is activated by the kernel. However, the call is redirected to the object constructed by the object method type(). A modification to these methods should be implemented on the classes instead of on the table object method. The dataflow object method called initFrom() is also implemented on the classes. If you must have a new property on an existing or new subclass of these hierarchies, add the default property to the root class and override it on the subclass in question. To create a new project type, start by adding a new element to the project type base enumeration, and then create a new class that extends the ProjTableType class. Add methods to the new class that override the base methods in the ProjTableType class. Then you must modify the type() object method on the ProjTable.
9-8
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Activities are set up by using an activity hierarchy, in which sub activities are created as smaller tasks within one large task or phase of a project. Information related to working with activities includes the following. Because activities are specific tasks that are performed on a specific project, they are always project-specific and not shared between projects. Each project transaction can be associated with an activity in the WBS. Both project budgets and project forecast can refer to activities in the WBS. The WBS is extended for resource scheduling by the project management and accounting add-in.
To create a new activity, from the Work breakdown structure window, click a specific activity and then click New.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-9
Each project activity has one record in the ProjActivity table. Each project activity record is associated with one category. Each project can have many different activities and many projects can have the same activities.
9-10
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Transaction Types
After a project is created, transactions are entered through journals or projectrelated business documents. The following transaction types are supported in the Project management and accounting module. Hours: Consulting, installation Expenses: Plane tickets, hotel accommodations, vendor services Fee: Surcharges Item: Products delivered as part of the project
In addition to these transactions, on-account transactions represent pre-payments for a time and material project or scheduled payments for fixed-price projects. For all transaction types: The system searches for sales and cost prices and applies them as a default to the transaction. The user can override prices in the journal. The sales tax group is copied from the project or project contract. For non-item transactions, the item sales tax is derived from the specified project category. The line property indicates whether the registered transaction can be invoiced or not. A line property that can be charged is only relevant on time and material projects.
For some transaction types: Hour, expense, and fee transactions can use validation functionality. In addition to being managed in the project ledger, project transactions are usually summarized by posting to the general ledger.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-11
To make it easier for companies to categorize expenditures, categories are shared among the Expense management, Production control, and Project management and accounting modules. Additionally, categories are shared between legal entities. You can use category groups to share properties (primarily posting profiles) between related categories. You must have a minimum of one category group for each transaction type and each project category is assigned a group. Together, the project groups, project categories, and category groups define the posting specifications in the Project management and accounting module. Additionally, line property defaults can also be defined for category groups. To open the Category groups form, open Project management and accounting > Setup > Categories > Category groups.
Project Pricing
Project transactions include a cost price, a sales price or both. The cost price is the price for each unit that is charged to the project. If a customer is invoiced for transactions, a sales price is specified for each unit. Sales prices are not used for fixed-price projects or internal projects.
9-12
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Cost and sales prices can be specified generically at the category or employee level, or more specifically on a project. Specifying them generically helps standardize pricing, removing the need for users to determine the cost and sales price at the time of transaction entry. To access prices open Project management and accounting > Setup > Prices, and then select one of the forms.
Line Properties
In addition to project categories and pricing, line properties are also significant to project transactions. A line property controls whether any of the following occurs. An additional cost percentage is applied to the transaction. An additional sales percentage is applied to the transactionapplies only for time and material projects. A transaction with a line property is chargeable to a customer. The sales value of a transaction is accrued at the time that it is posted on time and material projects. The cost is capitalized to balance accounts when transactions with a line property are posted. This applies to time and material projects, fixed-price projects, investment projects, and internal projects.
The line properties are set up from the Line properties form. Open Project management and accounting > Setup > Line properties > Line properties.
Journals
Journals are used to post the various types of transactions. Each journal uses different tables with similar data models. The following topics review the hours journal. The basic information entered for the hour registration on a project includes the following. The project to which the hour costs should be allocated. The date the hour costs occurred. The name of the person initiating the hour costs. The type of hour costs to be allocated. The amount to be posted, and if invoiced to a customer, at what price and whether sales tax is applied.
To open the hour journal form, open Project management and accounting > Journals > Hour.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-13
9-14
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
The following table lists the journal header, lines, and posting table that is used for each of the types of journal. Journal type Hour Journal header table ProjJournalT able LedgerJourn alTable InventJourna lTable ProjJournalT able Journal lines table ProjJournalTrans Posted journal transaction table ProjEmplTrans ProjEmplTransCost ProjEmplTransSale ProjCostTrans ProjCostTransCost ProjCostTransSales ProjItemTrans ProjItemTransCost ProjItemTransSale ProjRevenueTrans ProjRevenueTransCost ProjRevenueTransSale
Expense
Item
Fee
ProjJournalTrans
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-15
If a ProjInvoiceCost record exists with a matching transaction ID, then the transaction is already invoiced.
9-16
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Challenge Yourself!
Use the information provided, to add a new warranty item field to the hours journal that is copied to posted hours transaction record.
Step by Step
To create a new project, follow these steps. 1. 2. 3. 4. 5. 6. Open the Development workspace. Open the Projects window. Right-click the Shared node and then click New > Project. Right-click the new project and select Rename. Enter a name for the project such as WarrantyItemLab. Double-click the project to open it, and then close the Projects window.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-17
9-18
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
To add the warranty item field to the ProjEmplTrans table and the ProjTransEmpl form, follow these steps. 1. Under the Data Dictionary node in the AOT window, expand tables and locate the ProjEmplTrans table. 2. Drag the table into the project that you created earlier. 3. Expand the ProjEmplTrans table. 4. Select the warranty item extended data type that you created and drag it to the Fields node of the ProjEmplTrans table. 5. Save the table. 6. Expand the Field groups node 7. Select the warranty item field that you created from the Fields node on the ProjEmplTrans table, and then drag it into the Identification field group. 8. Save the table. If the Synchronize table window opens, click Continue. 9. In the AOT window, expand Forms and then locate the ProjTransEmpl form. 10. Drag the ProjTransEmpl form into the project that you created earlier. 11. Save the project. 12. Right-click the ProjTransEmpl form and then click Restore. 13. Save the form and the project. To modify the InitTransFromJournal method, follow these steps. 1. Expand the Methods node of the ProjEmplTrans table in the Project window. 2. Right-click the initTransFromJournal method and then click View Code. 3. After line 31 in the Code Editor window, add a line of code to set the projJournalTrans warranty item field equal to the projEmplTrans warranty item field. Use the following code sample to guide you. projEmplTrans.ProjWarrantyItemID = _projJournalTrans.ProjWarrantyItemID; 4. Save the table and the project. TIP: You can compare your solution to the AX2012_ENUS_DEVIV_09_01_LAB_SOL.xpo file provided with the training image by importing the XPO file and then comparing the objects.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-19
9-20
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
After the project budget is defined, make sure that the project is configured to use the budget. You can do this in the Budget and forecast tab on the Project details form. After you enter a budget or budget revision you can allocate the budget amounts across periods. When you are entering a project item task (such as a project purchase requisition, purchase order, or vendor invoice) you can view the impact the document will have on the transaction on the project budget. Demonstration: View Project Budget Status for a Project Purchase Order 1. Open Project management and accounting > Common > Item tasks > Project purchase orders. 2. Click Purchase order in the New group of the Action Pane. 3. On the Create purchase order form select a vendor such as 1102, and then click the General FastTab. 4. In the Project ID field, select a project such as 10002: Colorado Airport, and then click OK.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-21
At the end of the year, you can transfer any remaining budget amounts for multiyear projects to future years. You can also create budget register details for those amounts in the associated general ledger accounts. The ProjYearEndProcess class contains the logic to run the process.
9-22
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Budgeting Data Model
The following figure shows the data model for project budgets including revisions and allocations.
When budgets are activated for a project, the project budget details are stored in the ProjBudget table. Each budget amount is stored in the ProjBudgetLine table. The ProjBudgetLine.ProjTransType field is used to determine whether the budget is a cost or revenue.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-23
Forecasting
You can use project forecasting to forecast expected labor, machines, expenses, and cash flow that is needed to run projects. You can also use project forecasting to effectively use resources and to control expenses so that a reasonable profit margin can be earned. In the Project management and accounting module project forecasts can be entered against the following transaction typesexpenses, fees, items, and hours. When you set up forecasts you can create a new record for each forecast model to use, and create submodels if a model hierarchy must be built. The model hierarchy can only contain two levels. After you have defined forecast models, you can enter forecasts for hours, expenses, fees, items and on-account payments. Open Project management and accounting > Common > Projects > All projects. Select a project. On the Action Pane, on the Plan tab, in the Forecast group, you can click a specific type of forecast.
9-24
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Forecast Scheduling
Project managers can use the Project management and accounting module to group forecasted hour consumption by worker. You can use the resources to plan and schedule hours, and use the hour scheduling function to perform job scheduling and operations scheduling. Because the scheduling function resembles the production scheduling function, a complete setup is not required to perform the scheduling routine from the Project management and accounting module. Scheduling involves resources, not workers. With the Project management and accounting module, you can use the type of resource and the capacity-related options to determine the project schedule. When you use work centers, you can schedule all resource types, and schedule whole processes, because it is not limited to only human resources. Both the Production control and Project management and accounting modules share resource groups and resources. The following figure shows the relation to resources.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-25
Each hour forecast record is stored in the ProjForecastEmpl table. Each forecast is related to a specific activity from the work breakdown structure and the resource requirements are stored in the WrkCtrActivity... tables. These requirements are used to schedule projects.
9-26
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
A similar data model exists for the other types of forecasts by using similar tables. Forecast type Hour Expense Item Fee On account Forecast table ProjForecastEmpl ProjForecastCost ForecastSales ProjForecastRevenue ProjForecastOnAcc
Project Contracts
The project contract contains necessary customer information for correctly issuing invoices to one or more project customers. All external projects must refer to a project contract. This makes the setup of the project easier. The project contract includes information on the following. Invoicing currency Customer and address information
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-27
To view the list of project contracts, open Project management and accounting > Common > Projects > Project contracts.
You can also choose to set up project funding information for a project including funding sources, limits, and rules for funding. After a project contract is defined, it can be used when you create a new external (time and material or fixed-price) project. One Project contract - many projects attached. A customer can be connected to many projects. With one project contract, one invoice can be issued for all or only parts of these projects. One Project - many different project contracts attached. Although you can only link one contract to a single project, you can link a different contract to each subproject within a project hierarchy. This allows you to connect many different customers into the project hierarchy for billing purposes. You can then report on the entire project hierarchy.
Each project contract is stored in the ProjInvoiceTable. Each project can then be related to one project contract. Multiple projects can be related to the same project contract. The funding information on project contracts is stored in three additional tables.
9-28
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
ProjFundungSource: Each project contract can have one or more project funding sources. ProjFundingLimit: Each project funding source can have one or more limits established. The limits define the amount that is being funded and the attributes. For example, specific activities, transaction types, or categories. ProjFundingRule: Each funding limit can have one or more rules defined. The rules are used to prevent transactions from posting when the amounts defined are exceeded.
Invoicing
You can create project invoices by using an invoice proposal that is later confirmed and posted to the general ledger. This proposal is populated according to selections made by the user, which can be modified if necessary and then posted.
Invoice Proposals
The invoice proposal is generated based on the transactions registered on the projects. The transaction types include expense, employee hours, fee, items, and an offset on-account payment. The Invoice proposals form includes proposed invoice lines on separate tabs, according to the transaction type. Invoice proposals are created by using the ProjInvoiceChoose super class and subclasses. On account transactions use a specific subclass. The following figure shows the ProjInvoiceChoose class hierarchy.
When ProjInvoiceChoose is run, you are prompted to select which type of transactions will be invoiced and you can also delimit the transactions by using the query. This query is executed to retrieve any un-invoiced transactions and populate the ProjProposal... transaction tables.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-29
Post Invoices
After the invoice proposal is reviewed and edited, and the lines are satisfactory you can post the invoice by clicking Post. As with standard sales order invoicing, you can specify whether a credit limit check of the customer must be performed when you post the invoice. The overall control of how the system warns the user if the credit limit is exceeded is set up in the Project management and accounting parameters form under in the Invoice tab under Credit rating. In addition to the Invoice proposal form, invoice proposals can also be posted by running the periodic job, Post invoice proposals. To find this job, open Project management and accounting > Periodic > Project invoices > Post invoice proposals.
9-30
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
ProjFormLetter Class
Invoicing occurs in the ProjFormLetter class and in the ProjFormLetter_Invoice subclass. The structure for these classes resembles the FormLetter classes used in the Accounts receivable and Accounts payable module discussed earlier in the Use and Design of Sales and Purchase Modules chapter. The following figure shows the ProjFormLetter class hierarchy.
When the invoice is posted new transactions are created in several tables to store the posted information. Each invoice has a record in the ProjInvoiceJour table for the header of the invoice. For the lines of the invoice, several tables are used for each transaction type. Transaction Type Hour Expense Item Fee On account Posted Transaction Table ProjInvoiceEmpl ProjInvoiceEmplDetail ProjInvoiceCost ProjInvoiceCostDetail ProjInvoiceItem ProjInvoiceItemDetail ProjInvoiceRevenue ProjInvoiceRevenueDetail ProjInvoiceOnAcc ProjInvoiceOnAccDetail
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-31
Challenge Yourself!
Put an invoice proposal on hold. This requires a new field, OnHold, type = NoYes. If this field is set, then the invoice cannot be posted, and a new invoice proposal can be created that could include transactions included on the OnHold proposal.
Step by Step
To create a new project, follow these steps. 1. 2. 3. 4. 5. 6. Open the Development workspace. Open the Projects window. Right-click the Shared node and then click New > Project. Right-click the new project and select Rename. Enter a name for the project such as InvoiceProposalHoldLab. Double-click the project to open it, and then close the Projects window.
9-32
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
To add the on hold field to the ProjProposalJour table and the ProjInvoiceProposal form, follow these steps. 1. Under the Data Dictionary node in the AOT window, expand tables and locate the ProjProposalJour table. 2. Drag the table into the project that you created earlier. 3. Expand the ProjProposalJour table. 4. Right-click the Fields node of the table and then click New > Enum. 5. In the Properties window, set the following values. a. Name = OnHold b. Label = On hold c. HelpText = When selected the invoice proposal is on hold and cannot be posted. d. ExtendedDataType = NoYesId 6. Save the table. 7. Expand the Field groups node. 8. Select the on hold field that you created from the Fields node on the ProjProposalJour table, and then drag it into the Invoice field group. 9. Save the table. If the Synchronize table window opens, click Continue. 10. In the AOT window, expand Forms and then locate the ProjInvoiceProposal form. 11. Drag the ProjInvoiceProposal form into the project that you created earlier. 12. Save the project. 13. Right-click the ProjInvoiceProposal form and then click Restore. 14. In the Data Sources node of the form browse to ProjProposalJour > Fields and then select the on hold field that you created. 15. Drag the on hold field into the grid of the the form. (To locate the grid, browse to Designs >Design > Group:CtrlHeader > Tab:Heading > TapPage:TabProjProposalJour > Grid:PrijProposalGrid in the ProjInvoiceProposal form.) 16. Set the AllowEdit property on the ProjProposalJour data source in the form to Yes. 17. Highlight all of the fields in the Grid except for the new On hold field and set the AllowEdit property to No. 18. Next you must modify the setAllowEdit method on the form to allow the grid to be edited. Locate the setAllowEdit method under the Methods node of the form, and then right-click and select View Code. 19. In the Code Editor window, locate line 17 and change the result to true, and then locate line 48 and change the result to true.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-33
9-34
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Step by Step: Test
To test the new hold functionality, follow these steps. 1. Open Project management and accounting > Common > Projects > All projects. 2. Select a project such as 10001: Contoso Retail Los Angeles. 3. Click Hour in the Journals group of the Action Pane. 4. Click New. 5. Enter 5.00 in the Hours field. 6. Click Post. 7. Click OK. 8. Close the Infolog window. 9. Close the Journal lines for hours form. 10. Close the Journal form. 11. Click the Manage tab on the Action Pane in the All projects list page. 12. Click Invoice proposals in the Bill group of the Action Pane. 13. Click New > Invoice proposals. 14. Select the Hour check box, and then click OK. 15. Close the Infolog message. 16. Select the On hold check box for the new invoice proposal that was created. 17. Click Post. 18. Click OK, and then click OK again. 19. You should receive an error message that says the invoice proposal is on hold and cannot be posted. Close all the forms.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-35
Estimate Projects
Estimates are maintained on individual estimate projects or on batches of estimate projects. When estimate projects are processed in batches by using periodic jobs, the estimate projects that are selected for processing are grouped by period code. You can work with estimates in the following ways: To maintain estimates for individual estimate projects, use the Estimate form. Open Project management and accounting > Common > Projects > Estimate projects. Select an estimate project. On the Action Pane, in the Related information group, click Estimates. To view the periodic features that are available for estimate maintenance, open Project management and accounting > Periodic > Estimates. The periodic jobs that are available correspond to the functions available in the Estimate form.
The New, Calculate, Delete, Post, Reverse, Eliminate, and Reverse elimination buttons on the Estimate form open dialog boxes that reflect the typical life-cycle of an estimate. NOTE: The data in the Hyper-V training environment does not include any estimates. You can create a new estimate by clicking New in the Estimates form.
Cost Templates
Cost templates are used in the calculations for revenue recognition for fixed-price projects. In Microsoft Dynamics AX, a cost template is an attribute on an estimate project. The cost template and cost template lines determine which forecasts and which actual transactions are included to calculate the percentage of the project that is completed. The percent-complete value is then used to calculate how much revenue is recognized. Example You are working on a website design project for a customer for a flat fee of 10,000 United States dollars (USD). You forecast that it will take 100 hours (5,000 USD) to complete the project, and two plane tickets and four nights in hotels for trips to the customers site (1,800 USD). This results in a total forecasted cost of 6,800 USD.
9-36
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
When you run the fixed-price revenue recognition process to create an estimate at the end of the month, you find that you have already worked 35 hours on the project to this point, without flights or hotel stays. You also had an assistant perform five hours of research for the project that you did not plan for, at a cost of 100 USD. When you calculate the percent complete value for this project, you have some choices to make. Do you want to include all costs (hours and expenses) or just hours? Do you want to include all hours or just planned hours? Do you want to calculate the percent complete based on the dollar cost of the planned hours (5,000 USD) or just on the number of hours (100)?
Your answers to these questions determine the options that you set on the cost template and the categories that you select on the cost template lines. The following table shows the results of different methods of calculating the percent-complete value for this scenario. Completion based on All hours, no expenses All hours, no expenses Planned hours, no expenses All hours and expenses Dollar cost or units Dollar cost Percent complete 37 percent Calculation 35 x 50 USD + 100 USD = 1,850 USD 1,850 USD / 5,000 USD 40 hours/100 hours (including five unplanned hours) 35 / 100 hours or 35 x 50 USD /5,000 1,850 USD / 6,800 USD
Units
40 percent
35 percent
27.2 percent
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-37
If you use the third method that is listed in the table, you would only update the planned hours for your own time to keep the percentcomplete calculation accurate. Your profitability will change when unplanned hours are logged. However, you will remain on a known percent-complete trajectory. If you use the fourth method that is listed in the table, the risk is that expenses will occur at irregular times and might not be reflected in your completion progress. o Therefore, if the expenses are included, they can cause your percent complete to fluctuate more than is desirable. For example, because you have not yet taken a flight yet, your percent complete is 27 percent instead of 35 percent or 37 percent if you base the calculation on time alone. If you had taken one trip for two nights and forecasted your flight and hotel costs accurately, the percent complete would be 40.4 percent (1850 USD for labor and 900 USD for expenses = 2750 USD / 6800 USD = 40.4 percent). Therefore, incurring the expenses for just one plane trip would change the percent complete from 27 percent to 40 percent.
9-38
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Key Features
Some key industry-specific features of the Project Management and Accounting Add-in include the following. Other worker attributes Assign attributes for project skills and experience to a worker. Resource-based scheduling Search for and assign workers to a project, depending on worker skills and availability. Project-based scheduling Search for and assign workers to a project, depending on the skill and experience requirements for a project. Resource assignment analysis View analyses of project activities by worker, by department, and by project. Indirect cost components Identify indirect costs, define calculations for indirect cost amounts, and allocate indirect costs to a project. Billing rules Define billing rules to calculate customer invoice amounts for advances, project milestones, for each unit completed, retained amounts, and administrative fees.
Summary
This chapter described the overall use and design of the Project management and accounting module. Several types of projects exist that you can use to create and manage project information. Projects can be linked to one another by using subprojects to create a hierarchy of related projects. Each project is assigned to a group that controls how the ledger postings will work for each project. You can use the work breakdown structure to create a hierarchy of tasks or activities that will be completed for a specific project. Activities can be associated to resources that can be linked to resource requirements for forecasting and scheduling the tasks. Projects can have many transactions posted to record the various costs and revenues for the project. The transactions can include hours, expenses, items, fee, and on account payments. Journals are used to post these transactions. After transactions are recorded, you can create invoice proposals and invoices to record the project transactions against the customer's account and into the general ledger. This requires that a project contract is set up first. You can also record budgets and forecasts for projects to provide better reporting and to set limits and controls on transactions. You can use estimate projects to record estimates into the general ledger based on cost templates that define how the revenue is to be recognized for a specific project. Later when the project transactions are recorded, you can eliminate the estimates.
9-39
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
2. Which of the following statements are true about work breakdown structures? (Select all that apply) ( ) Activities are shared between projects. ( ) Each project transaction can be associated with one activity. ( ) Project budgets can be associated with activities. ( ) Project forecasts cannot be associated with activities. 3. Which class hierarchy is used to control the functionality for each type of project? ( ) ProjLineType ( ) ProjTableType ( ) ProjPostingType ( ) ProjTransactionType 4. What happens to the project transactions when a project is invoiced? ( ) The records are deleted from the ProjProposal... tables and copied into the ProjInvoice... tables. ( ) The records are updated in the ProjProposal... tables with the final invoice ID and the invoiced status. ( ) The records are updated in the ProjProposal... tables and copied into the ProjInvoice... tables. ( ) Reversal records are created in the ProjProposal... tables and new records are created in the ProjInvoice... tables.
9-40
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
5. Which of the following statements are true about project contracts? (Select all that apply) ( ) All projects must have a minimum of one project contract defined. ( ) Many projects can be related to the same project contract. ( ) Each project contract must have a minimum of one project funding source defined. ( ) Each project or subproject can only be related to one project contract. 6. Which of the following statements are true about all journals and transactions for projects? (Select all that apply) ( ) Users can override sales and cost prices in the journals. ( ) All transaction types can use validation functionality. ( ) On account transactions can be applied to all project types. ( ) The line property indicates whether the registered transaction can be invoiced or not.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-41
2.
3.
9-42
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
Chapter 9: Use and Design of the Project Management and Accounting Module
Solutions
Test Your Knowledge
1. Describe the difference between project budgeting and project forecasting. MODEL ANSWER: Project budgeting helps companies monitor and control project revenue and expenditures. By comparing budget and actual amounts, your organization can reallocate money and resources to meet budgetary goals. Project forecasting is a process that is used to forecast expected labor, machines, expenses, and cash flow that is needed to run projects. Project forecasting is expected to help optimize the running of a project by using resources effectively, and by controlling expenses so that a reasonable profit margin can be earned. 2. Which of the following statements are true about work breakdown structures? (Select all that apply) ( ) Activities are shared between projects. () Each project transaction can be associated with one activity. () Project budgets can be associated with activities. ( ) Project forecasts cannot be associated with activities. 3. Which class hierarchy is used to control the functionality for each type of project? ( ) ProjLineType () ProjTableType ( ) ProjPostingType ( ) ProjTransactionType 4. What happens to the project transactions when a project is invoiced? ( ) The records are deleted from the ProjProposal... tables and copied into the ProjInvoice... tables. ( ) The records are updated in the ProjProposal... tables with the final invoice ID and the invoiced status. () The records are updated in the ProjProposal... tables and copied into the ProjInvoice... tables. ( ) Reversal records are created in the ProjProposal... tables and new records are created in the ProjInvoice... tables.
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement
9-43
9-44
Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement