Sei sulla pagina 1di 44

Chapter 9: Use and Design of the Project Management and Accounting Module

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

Development IV in Microsoft Dynamics AX 2012


For external projects, you can create project quotations that can be converted to projects. You create project contracts with one or more funding sources that will be invoiced for project costs and fees. Each project that you create can have one or more subprojects and activities that are made up of the project work structure. You can create financial forecasts and budgets for cost control and to measure project performance. You can assign attributes for project skills and experience to workers to enable you to search for and assign workers to a project that is based on skills and availability. For additional project planning flexibility, you can integrate the projects with Microsoft Project Server. During project execution, employees and contractors can enter project timesheets and expense reports. Required items and services can be procured and charged back to the customer. Project managers have many different reports and analytical tools to examine project performance from different perspectives. The following figure provides an overview of the Project management and accounting module.

FIGURE 9.1 PROJECT MANAGEMENT AND ACCOUNTING OVERVIEW

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.

FIGURE 9.2 ALL PROJECTS LIST PAGE

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

Development IV in Microsoft Dynamics AX 2012


You can use subprojects to achieve a project structure that reflects the different project initiatives, and to process special accounting situations. Examples include invoicing expenses and materials on a fixed-price project and keeping track of internal time consumption as part of the preparation for an external project. All project types can be combined in a project hierarchy, and more subprojects can be added as a project progresses. Project hierarchy properties appear in the Project hierarchy tab on the Project details form. Each subproject must have a project ID that follows the format <Parent Project ID><Delimiter><Subproject ID>.

FIGURE 9.3 PROJECT DETAILS FORM

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

Development IV in Microsoft Dynamics AX 2012


Open Project management and accounting > Setup > Posting > Project groups.

FIGURE 9.4 PROJECT GROUPS FORM

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.

FIGURE 9.5 PROJECTS DATA MODEL

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

Development IV in Microsoft Dynamics AX 2012


ProjTableType Class
Microsoft Dynamics AX 2012 supports several different types of projects such as internal, cost, and time. Each type supports different tasks and functionality. Instead of creating many if-statements to separate the functionality about the project type, the properties and methods are isolated on the class hierarchy ProjTableType. The following figure shows the ProjTableType class hierarchy.

FIGURE 9.6 PROJTABLETYPE TYPE HIERARCHY BROWSER

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

Work Breakdown Structure


The project work breakdown structure (WBS) defines the set of tasks that are performed on projects and can be used for fine-grained tracking of hour, expense, and item consumption and forecasting. To track the total cost for a specific task, specify the activity associated with the project transaction when the project transaction is entered through a project journal. To set up activities, open Project management and accounting > Common > Projects > All projects. Highlight the project for which you want to set up a WBS. In the Action Pane, select the Plan tab, and then in the Activities group, click Work breakdown structure.

FIGURE 9.7 WORK BREAKDOWN STRUCTURE FORM

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

Development IV in Microsoft Dynamics AX 2012


Work Breakdown Structure Data Model
The following figure shows the data model for the work breakdown structure.

FIGURE 9.8 WORK BREAKDOWN STRUCTURE DATA MODEL

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

Journals and Transactions


Transactions posted against projects can be one of five typesHour, Cost, Revenue, Item, and On Account. Instead of creating a Type field on one table and many redundant fields, project transactions are recorded in five tables. After transactions are posted against projects, an invoice proposal can be created. The system creates a suggested invoice based on user-defined criteria. The invoice proposal for each transaction type is stored in five tables. When transactions are invoiced, they are stored in another set of five tables.

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

Development IV in Microsoft Dynamics AX 2012


Categories and Category Groups
The Project management and accounting module is an easy method to categorize revenue and expenses on projects. It provides detailed reporting and analysis, and steers posting to the general ledger. Additional detail on project performance is provided by categorizing expenses and revenues separately from the general ledger. The following diagram shows the correlation between shared categories, project categories, category groups, and transaction types:

FIGURE 9.9 CATEGORY BREAKDOWN

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

Development IV in Microsoft Dynamics AX 2012


Hours Journal Data Model
The following figure shows the hour's journal data model.

FIGURE 9.10 HOURS JOURNAL DATA MODEL

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

LedgerJournalTrans _Project InventJournalTrans

Item

Fee

ProjJournalTrans

ProjTrans Class Hierarchy


The ProjTrans super class and its sub-classes control the creation and posting of transactions. ProjTrans has a sub-class for each transaction type, and each subclass has a sub-class for all the stages in a project.

FIGURE 9.11 PROJTRANS TYPE HIERARCHY BROWSER

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

9-15

Development IV in Microsoft Dynamics AX 2012


For example, the ProjTransCostTrans.invoiced() method returns true if the cost transaction is already invoiced. View the ProjTransCostTrans.invoiced() method.
/// <summary> /// Determines whether this transaction has been invoiced. /// </summary> /// <returns> /// Always returns false. /// </returns> /// <remarks> /// This method should be overridden by classes that extend this class to provide the necessary /// functionality for the specific transaction. /// </remarks> //BP Deviation Documented public display boolean invoiced() { ProjCostTransSale projCostTransSale; boolean ret; if (!SysDictClass::isSuperclass(classIdGet(this), classNum(ProjTransCostTrans))) { while select projCostTransSale where projCostTransSale.TransId == this.transId() { ret = ProjTrans::newProjCostTransSale(projCostTrans, projCostTransSale).invoiced(); if (ret) break; } } else { ret = super(); } return ret; }

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

Lab 9.1 - Warranty Item


This lab demonstrates how to add a field to the hours journal and copy data to a posted transaction. Estimated time to complete: 20 minutes Scenario The Contoso Company offers repairs to the items that they sell, and requires employees to record time against a single project, which is titled Warranty Repairs. It is required that the employee record in which item the repair work is performed.

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.

Need a Little Help?


1. Create a new project to store the changes. 2. Create a new string extended data type called ProjWarrantyItemId. 3. Add a new field, WarrantyItemId of the type ProjWarrantyItemId to table ProjJournalTrans and ProjEmplTrans tables and related forms. 4. Set ProjEmplTrans.WarrantyItemId = ProjJournalTrans.WarrantyItemId in static table method ProjEmplTrans::InitTransFromJournal(). 5. Test the new field to make sure that it is copied correctly.

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

Development IV in Microsoft Dynamics AX 2012


To add the warranty item extended data type, follow these steps. 1. In the AOT window expand the Data Dictionary node. 2. Right-click the Extended Data Type node and select New > String. 3. In the Properties window, set the following values on the new real. a. Name = ProjWarrantyItemId b. Label = Warranty item c. Help text = Warranty repair item ID. 4. Save the extended data type. 5. Drag the newly created extended data type into the project that you earlier. 6. Save the project. To add the warranty item field to the ProjJournalTrans table and the ProjJournalTransEmpl form, follow these steps. 1. Under the Data Dictionary node in the AOT window, expand tables and locate the ProjJournalTrans table. 2. Drag the table into the project that you created earlier. 3. Expand the ProjJournalTrans table. 4. Select the warranty item extended data type that you created and drag it to the Fields node of the ProjJournalTrans 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 ProjJournalTrans table, and then drag it into the IdentificationHour 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 ProjJournalTransEmpl form. 10. Drag the ProjJournalTransEmpl form into the project that you created earlier. 11. Save the project. 12. Right-click the ProjJournalTransEmpl form and then click Restore. 13. In the Data Sources node of the form browse to ProjJournalTrans > Fields and then select the warranty item field that you created. 14. Drag the warranty item field into the grid of the form. (To locate the grid, browse to Designs >Design > Tab:Tab > TabPage:Overview > Grid:Grid in the ProjJournalTransEmpl form.)

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

Development IV in Microsoft Dynamics AX 2012


Test
To test the solution and verify that the Warranty item field is copied from the journal to the posted transaction, follow these steps. Open Project management and accounting > Journals > Hour. Click New to create a new journal. Select a Project ID such as 10001. Enter 2.5 into the Hours field. Enter a Warranty item number such as 2456. Click Post, and then click OK. Close the Infolog window. Open Project management and accounting > Inquiries > Transactions > Hour. 9. Scroll to the very bottom of the list to locate the transaction that you just posted. 10. Select the transaction that you posted, and then click the General tab. 11. Notice the Warranty item field is populated with the number that you entered in step 5. Close the forms. 1. 2. 3. 4. 5. 6. 7. 8.

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

Budgets and Forecasting


The Project management and accounting module includes project budgeting functionality. This functionality can help companies monitor and control project revenue and expenditures, and reallocate funding and resources to meet budgetary goals. Project budgeting works with general ledger (GL) budgeting. Transactions are compared with project budgets and then against general ledger budgets. Project budgeting is also closely related to project forecasting. You can build project budgets from forecast models. Additionally, project budget amounts (original and remaining) are maintained as two specified forecast models for control and reporting. Additionally, Microsoft Dynamics AX supports a cost control mechanism called forecast reductions. When you create a project, you create the original budget. You can define budgets for costs, revenues, or both. After you define the budget, you submit the budget to workflow. After a budget is approved, any changes to the budget must undergo the budget revision process. Before you create project budgets, you must define the approval process. Approval of project budgets is implemented by using the workflow feature of Microsoft Dynamics AX. Two workflow types are defined for project budgeting. Review original budget workflow Review budget revision workflow

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

Development IV in Microsoft Dynamics AX 2012


5. Add an item to the order such as 1101, and then click on the Manage tab in the Action Pane. 6. Enter a Quantity and Unit price for the item. 7. Click Budget > Project budget status. The Project budget status form will display details of the budgeted amounts for the item, category, activity, and budget period.

FIGURE 9.12 PROJECT BUDGET STATUS FORM

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.

FIGURE 9.13 PROJECT BUDGETS DATA MODEL

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.

ProjBudgetTransactionLine Class Hierarchy


You can use the ProjBudgetTransactionLine class hierarchy to hold budget transaction information associated with various types of project transactions. For example, you can use the ProjBudgetTransactionLine_HourJournal class to hold and retrieve the budget information associated with the hour journal.

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

9-23

Development IV in Microsoft Dynamics AX 2012


The following figure shows the ProjBudgetTransactionLine class hierarchy.

FIGURE 9.14 PROJBUDGETTRANSACTIONLINE TYPE HIERARCHY BROWSER

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.

FIGURE 9.15 GENERAL SETUP PROCESS FLOW DIAGRAM

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

9-25

Development IV in Microsoft Dynamics AX 2012


Forecasting Data Model
The following figure shows the data model for project hour forecasts.

FIGURE 9.16 PROJECT HOUR FORECAST DATA MODEL

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

ProjForecastPost Class Hierarchy


You can use the ProjForecastPost hierarchy to hold forecast transaction information that is associated with various types of project transactions. For example, you can use the ProjForecastPostCost class to hold and retrieve the expense forecasts. The following figure shows the ProjForecastPost class hierarchy.

FIGURE 9.17 PROJFORECASTPOST TYPE HIERARCHY BROWSER

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

Development IV in Microsoft Dynamics AX 2012


Terms of payment Sales tax and tax information Fixed exchange rate agreement references

To view the list of project contracts, open Project management and accounting > Common > Projects > Project contracts.

FIGURE 9.18 PROJECT CONTRACTS LIST PAGE

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.

FIGURE 9.19 PROJINVOICECHOOSE TYPE HIERARCHY BROWSER

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

Development IV in Microsoft Dynamics AX 2012


Transaction Type Hour Expense Item Fee On account Proposal Table ProjProposalEmpl ProjProposalEmplDetail ProjProposalCost ProjProposalCostDetail ProjProposalItem ProjProposalItemDetail ProjProposalRevenue ProjProposalRevenueDetail ProjProposalOnAcc ProjProposalOnAccDetail

Edit Invoice Proposals


After an invoice proposal is completed it can be edited. You can make the following changes to the proposalcancel the proposal, delete a proposal line, add a new proposal line, and, or edit the sales price and transaction texts. Canceling the invoice proposal only cancels the proposal lines. To access a canceled invoice proposal, a new invoice proposal must be created. To delete one or more proposal lines, select the transaction(s) and then click Remove from the toolbar. This does not delete the actual transaction, only the line from the invoice proposal. Deleted lines are reselected as proposals the next time that an invoice proposal is run. If new transactions are posted within the same date range as the previously created invoice proposal, and they must be included, use Add lines. The system finds any transactions that fall into the same selection criteria that is specified in the original invoice proposal and adds them to the existing proposal.

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.

FIGURE 9.20 PROJFORMLETTER TYPE HIERARCHY BROWSER

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

Development IV in Microsoft Dynamics AX 2012

Lab 9.2 - Put an Invoice Proposal on Hold


This lab demonstrates how to modify the project invoice proposal and project invoice posting framework. Estimated time to complete: 20 minutes Scenario Isaac, the Systems Developer, is asked to create a function so that Invoice Proposals can be put "on hold." The invoice proposal will be put on hold while transactions are investigated in the case that Prakash, the Project Manager, believes there might be an error.

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.

Need a Little Help?


1. 2. 3. 4. Create a new project to store the changes. Add a new NoYes field, OnHold to ProjProposalJour. Display this field on theProjInvoiceProposal form. In the ProjFormLetter_Invoice class add logic to validate that the invoice is not on hold. 5. Test the new field to make sure that the invoice cannot be posted.

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

Development IV in Microsoft Dynamics AX 2012


20. Save the form and the project. 21. Right-click the form and select Open. Verify that you can modify the On hold field but cannot edit any other fields in the grid. To modify the ProjFormLetter_Invoice class, follow these steps. 1. Locate the ProjFormLetter_Invoice in the AOT window and drag it into the project that you created earlier. 2. Expand the ProjFormLetter_Invoice and locate the run method. 3. Right-click the method and then click View Code. 4. Add an IF statement to the beginning of the method to call the validate method. Use the following code sample to guide you. /// <summary> /// Contains the code that does the actual job of the class. /// </summary> public void run() { if(!this.validate()) { throw error('@SYS21533'); } super(); } 5. Locate the validate method and then right-click and select View Code. 6. Add an IF statement to the end of the method that checks for the invoice proposal to be on hold and return a warning message when it is on hold. Use the following code sample to guide you. if(this.parmProjProposalJour().OnHold) { ret = checkFailed("The proposal is on hold and cannot be posted."); } 7. Save the class. TIP: You can compare your solution to the AX2012_ENUS_DEVIV_09_02_LAB_SOL.xpo file provided with the training image by importing the XPO file and then comparing the objects.

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

Development IV in Microsoft Dynamics AX 2012

Estimates and Revenue Recognition


The following sections describe estimate projects and cost templates.

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

Dollar cost or unit Dollar cost

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

Development IV in Microsoft Dynamics AX 2012


Deciding which approach to take to create a cost template can depend on several considerations. If you include unplanned hours in the cost template, you risk reaching 100 percent complete before the project is finished. This occurs because actual hours will be greater than planned hours. o Therefore, if you use either of the first two methods that are listed in the earlier table, you should change the plan (forecasted units) when you become aware of deviations. In this case, you would add or subtract hours based on your knowledge of what is required to finish the project. If the project requires another 65 hours to complete, you would add five hours to the plan for a total of 105. If you know that your assistant will have to perform another five hours of research, the total will be 110 hours, and so on.

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.

Project Management and Accounting Add-In


The Project Management and Accounting Add-in integrates with the Project management and accounting and Human resources modules to help you manage projects that consist primarily of worker services. You can use features in the Project management and accounting module, such as contract management, quotations, budgeting, project policies, project parameters, and categories, with the Project Management and Accounting Add-in. You can use the Project Management and Accounting Add-in to identify and schedule workers with specified project experience. You can also assign direct and indirect costs for service projects, and create customer invoices for billing scenarios that are specific to service industries.

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

Development IV in Microsoft Dynamics AX 2012

Test Your Knowledge


Test your knowledge with the following questions. 1. Describe the difference between project budgeting and project forecasting.

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

Development IV in Microsoft Dynamics AX 2012

Quick Interaction: Lessons Learned


Take a moment and write down three key points you have learned from this chapter 1.

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

Development IV in Microsoft Dynamics AX 2012


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.

9-44

Microsoft Official Training Materials for Microsoft Dynamics Your use of this content is subject to your current services agreement

Potrebbero piacerti anche