Project Management
- Setup features and preferences
Enable features for project management.
Navigate to Setup> Company> Enable features. On the company tab Project subtab, enable the following features.
- Projects
- Project Management
- Planned Work
- Job Costing and Project Budgeting
- Form Customization
The project form is customized to NEUS Project Form. The mandatory fields in the project form are Project Name, Customer Name, Project manager, Status, Scheduling Method, Start Date, Estimated End Date, Subsidiary, Billing Type, and Project expense Type.
The field Actual End Date is set to display in the form. After the project completion, update this field with the actual project end date.
This form will be used for pop ups also.
- Create Project from sales orders with different Billing Types
Create a sales order adding items to it.
Create a project record.
Navigate to Lists > Relationships > Projects > New.
You can also create projects from the sales order itself by selecting new in the Project field in sales order.
In the project record fill the necessary fields like Project name, Customer(select the customer in the sales order), and status. The subsidiary and currency will default from the customer selected. (If creating a project from sales order then these fields will default from the transaction record).
Start date will be defaulted to the date the project record created. We can add a different date also.
Give an estimated end date. The Actual end Date field can be filled after the project completion.
In the finance subtab select a Billing Type. The available billing types are Fixed bid interval, Fixed bid milestone, Time and Materials and charge based. In this guide we will discuss Fixed bid Milestone and Time & Material billing types. And select or create a billing schedule.
Fixed Bid Milestone – Fixed Bid Milestone billing allows organizations to bill based upon completion of project tasks, or milestones. The advantage of using this billing type is that billing will only occur when actual project work has been done. The milestones are configured in the work breakdown structure of the project when it is set up.
For Fixed Bid Milestone projects, the estimate will contain Product Platform and Project Implementation Costs. And the project billing schedule will be created only for the Project Implementation part. So separate Sales orders should be created for Project implementation and Product platform from an Estimate. And apply the project to both sales orders. But apply the Billing schedule only to the Project Implementation Sales Order.
As there are different iterations in Fixed Bid Milestone projects, create project tasks for each iteration as parent tasks(As non billable).
Select Fixed Bid Milestone as the billing type. And add these tasks as milestones in the billing schedule.
Select nothing in the Initial Amount field as we are adding this as a project task( create a project task with no assignees for initial contract signing stage as this stage is present for each iterations). If the initial contract signing amount for all iterations are billed together at the time of project start then don’t create a project task for the initial milestone. Instead give that amount in the initial amount field. Or you can create a project task for the initial stage and set the date field the same so that these amounts can be billed together on the same date.
The amount can be entered in percentage only. So divide the amounts to percentage breakdown structure in the schedule.
Select this billing schedule in the Project implementation Sales Order. Then the billing dates and amount will be displayed in the schedule subtab under the billing tab.
Time will be entered against the project and once a milestone is completed, a Sales Order will be ready to bill that only includes amounts related to that particular milestone. When the corresponding project task is completed then the milestone in the schedule will be automatically marked as completed. The actual completion date field updates. It shows the date of the last timesheet entry date against this project. If we are giving dates instead of tasks as milestones then we have to mark manually as completed to generate invoice. Milestone Schedule can not be made public.
Time And Materials – Time and Materials billing is based on hours logged and approved against a project. Time intervals are set up for when an organization wants to bill. However, there is no fixed price set for the project and for each interval, the hours logged and approved against the project are what is billed to the customer, even if it is more than the estimated hours.
Create at least one project task(Don’t check the Non Billable box) and track time against it.
If you want to create a billing schedule then you can create it from a project.
Recurrence Frequency – the frequency for billings to repeat, such as hourly, weekly, annually or monthly. In Arrears – bills at the end of each period, instead of the beginning.
If a custom date has to be mentioned in the billing schedule then create a schedule from the Sales Order itself. Under the Billing tab create a new billing schedule by clicking on the plus symbol or selecting new from Billing Schedule drop down field.
Select “Custom” option from both Recurrence frequency and Units. Select the desired Date and amount. Amount can be entered as currency value or percentage.
Points common to all Project Billing Type
Select a Project Expense type. The values available are Overhead and Regular.The project expense type determines which account is debited when posting time transactions recorded for this project.When you enable job costing, two default project expense types are created – Regular and Overhead:
- The Regular expense type is mapped to the Direct Labor account by default.
- The Overhead expense type is mapped to the Indirect Labor account.
Check the Apply to All time entries box to apply the selected project expense type to all time entries for this project.
In the Budget subtab, set Cost Budget and Billing Budget. In both budgets the Labor category is calculated automatically and can use that value. Or can set a different value also. Labor cost in the cost budget is calculated from the Project task record labor cost. In the billing budget the labor price calculated from the Price field in the project task record. The total value of the cost budget populates to the Estimated Cost field in the financial tab. The total value of billing budget populates to the Estimated revenue field in the Financial tab. For non-billable project tasks the labor price amount will not reflect in the billing budget. In that case give an amount manually or you can set the project price as the Estimated revenue. It is possible to set a budget at the task level and it will be updated at the project level.
In the preferences subtab, Check Allow time entry box to enable time to be entered for this project. Check the Limit Time And Expense to Resources box to allow only resources listed on the Resources subtab for the project to enter time and expenses Check the Allow Expenses box to allow expenses to be entered for this project. Uncheck the Create Planned Time Entries Box.
In the Resource subtab select the resources and corresponding role to be assigned in the project tasks. Mention a project manager at the primary information section.
After saving the project record, select this project in the sales order. The billing schedule will be automatically populated in the sales order. In the Schedule subtab of sales order can see the next bill date and the amount according to the billing schedule.
For customers with multiple subsidiaries, select the subsidiary and currency in the sales order and also in the project form. By default, the project will be created in the customer’s primary subsidiary and default currency.
- Resource Allocation
Allocate resources to the resource subtab of the project record. Before that You Should identify an employee as a project resource on their employee record. Edit the desired employee record under the Human Resources subtab check the Project Resource box. Set a work calendar for the employee. Default work calendar will be assigned by default. Define a labor cost in the employee record.
- Setup Project Tasks
Navigate to LIsts> Relationships > Projects. From the list of projects select the desired project record. On the Schedule subtab click on New Project Task Button. A task form is opened up. Give the task name and status.
Select a parent task if the task you are creating is part of a group of tasks. The parent task summarizes data for all of its subordinate tasks.
In the Insert Before field, place the new task in the proper order in the schedule, by selecting the task that follows it.
Check the Non-billable box to designate this task as non-billable.
When time is entered against this task, it is automatically marked as non-billable and cannot be changed to billable.
The Planned Work field is updated automatically when resources are assigned or allocated to the project task. If multiple resources are added the field displays the sum of all planned work. If this is a parent task, this field automatically updates to include the sum of planned work for all child project tasks.
Saving a project task with no planned work, assigned resources, and Finish No Later Than date creates a project milestone. These tasks can be assigned as parent tasks.
In the Constraint Type field, specify how to determine the start and end dates for the task.
- As Soon As Possible – For forward scheduled projects, NetSuite calculates the earliest possible start date for a task based on existing predecessors and sets the end date based on the available work time in the assigned resource’s work calendar.
- Fixed Start – The task starts on the date you specify. Predecessor relationships are ignored. The task end date is based on the estimated work for the task and the assigned resource’s available work time.
The Start Date field indicates the estimated date to begin work on the task.
- If the task constraint is Fixed Start, enter the date to begin work on the task.
- If the constraint is As Soon As Possible or As Late As Possible, NetSuite determines the Start Date based on the schedule.
- If the task constraint type is Fixed Start, enter the time to begin work on the task in the Start Time field. This field is optional. If left blank, the start time is 12:00 am. You cannot enter a start time if the task constraint type is As Soon As Possible.
In the Finish No Later Than field, you can select the date this task must be finished by.
On the Predecessors subtab, set dependency types for the task:
- Select an existing project task in the Task field.
- Select a dependency type for the existing task as it relates to the current task.
- Finish-to-Start (FS) – Task starts when preceding task finishes. Start date is adjusted based on the preceding task’s finish date.
- Start-to-Start (SS) – Task starts after preceding task starts. Start date is adjusted based on the preceding task’s start date.
- Start-to-Finish (SF) – Task finishes after the preceding task starts. Start date is adjusted based on the preceding task’s start date.
- Finish-to-Finish (FF) – Task finishes after the preceding task finishes. Start date is adjusted based on the preceding task’s finish date.
- If you want to add lag time to your tasks, enter the number of days in the Lag Days field.
Under the Assignees sub-tab we can add resources.
- Select resource name.
- Units – The percentage utilization of a project resource. Default value is 100%.
- We can select the service item. Only non-fulfillable or receivable service items can be selected on project tasks. The menu will display service items from the subsidiary that the project belongs to.
- Planned work – Amount of time you expect this resource to require to complete.
- Calculated Work – Automatically updates. It is the sum of planned work and the time tracked outside planned work(extra time) if any.
- Unit cost – Defaults from the Labor cost field of the employee record. we can give a different value manually also.
- Cost – Unit cost * Planned work. Populates automatically.
- Unit price – Auto populates from the Item record. It picks the amount specified in the item record in the project primary currency. If there is no amount specified in the project currency in the item record then this field will be 0. We can give a different value if needed.
- Price – Planned work * unit price. Populates automatically.
Note: The Labor cost in the employee record will be in the currency of that employee. When an employee is allocated to a project with different currency, this Labor Cost will be converted to the project currency automatically and will populate to the unit cost field in the project task record.
- Setup Time track records and Expense reports
The timesheets will be imported to netsuite on a monthly basis. The timesheets will be per day tracking records. And the status will be “Approved”.
The time entry form is customized to NEUS Time Tracking Form. The employee Location field is made to be hidden.
When a time transaction is approved it is available for posting. When you are posting time for Job costing, the default preference for grouping the journal entries is by project.
Go to Transaction> Financial > Post time
- Select the project cost variance account. In the time journal entry the Direct Labor/ Indirect Labor account will be debited and Project Cost Variance Account will be credited. Select a default project cost variance account at setup> account> Accounting preferences> Default project cost variance account
- Select Employee
- post the timesheet
We can not delete the timesheets after posting them. We can only Void them.
Transaction> Financial > Void Time
To create expense reports
Transaction> Employees> Enter expense Reports
- Select employee and date.
- Check the box Complete if the report is completed. Only complete reports are submitted for approval and processing.
Note: Once an expense report is marked complete, you can no longer make changes to it. - At the line level select a category and enter the amount
- Select project and project task. Check the box Billable if it is a billable transaction.
- Upon saving the expense report its status will be Pending approval
- The employee supervisor is the default expense approver. If no supervisor exists for the employee then the first level approval defaults to the Accounting section.
- Project to Cash Flow
Generate invoices for the projects with different billing types.
If you are creating an invoice from a sales order then, click on the Next Bill button on the sales order to generate the bill.
Then the invoice shows the item amount on the item tab according to the billing schedule.
The billable times from the approved time transactions appear on the Billable time subtab on the invoice. If we want to apply that amount to the invoice we can check the apply box then the amount will be added to the invoice.
The Location field value of all employees has been cleared from the account so that it never appears on the invoice. If the Employee location is other than invoice location then we can not generate an invoice.
The billable expenses will appear on the Billable expense subtab. Only the expense reports that are created for billable project tasks and the billable box checked will appear on the invoice.
The vendor bills for the expenses will also show in the billable expense subtab of the invoice. And vendor bills for the items will show on billable item subtab on invoice
Note: For Fixed bid projects if there are any billable tasks and billable time entries then they will appear on the invoice. Do not check the apply box for those time and expense entries if it is not needed to be billed.
It is possible to generate an invoice directly from the project record by clicking on the Quick Add menu on the top.
Note : There will be a two level flow for the Invoice Approval process. And there will be 3 different invoice forms based on the project type to print PDF Template accordingly.
- Costing
The Employee cost will be calculated as the time tracked(from the timesheet) * The unit cost of the employee(from the employee Labor cost field). The Labor Cost field in the employee record contains the per hour rate of that employee.
As this value changes on a monthly basis, this field will be updated monthly. This is scheduled with the Netsuite-adrenalin employee Integration.
The approved imported timesheets should be posted to account the employee costs. The cost in the non posted timesheets will not appear anywhere in netsuite. The cost of the tracked time sheets goes to actual cost in Profitability reports and Cost part of P&L only if it is posted.
Project Center & Dashboard
Project dashboard View
The project dashboard shows the information specific to an individual project.
To view the dashboard for a project click the dashboard icon at the top of the project record or in the project list.
on the Dashboard, we can set up the reminder portlet for the project related notifications.
Also can add portlets from the personalize link on the top right corner. For example, We can set the project indicator tab to see time transactions related to the projects. In this way we can easily get the time journals related to this particular project. Can set up project tasks in the list portlet.
There is a “Search” button available on the top of the project record. This button will take you to the related transactions of that project (including time journals).
Project Center
NetSuite offers a standard Consultant role with access to the Project Center. The Project Center allows access to NetSuite using a specialized interface that routes the most important functions of project work directly to the home page.
The Project Center has the following standard tabs: Home, Activities, Projects, Time & Expenses, Resources, Reports, Documents, and Support. Each tab offers access to links and information that deal directly with project management in NetSuite.
The available portlets –
- Quick link – links to enter time, enter expenses, allocate resources, etc pages
- Projects – displays all projects with filters added for status, type , resource
- Reminders
- calendars etc
Resource Allocations
Enabled Resource Allocation feature and installed Resource Allocation chart/Grid and Resource Skill set suiteapps.By clicking on the New Resource allocation button we can create new allocation for the project.
Enter the Resource name. Specify the duration for which resource is allocated, How much time(in hrs) need to be allocated and the allocation type. If Hard allocated then allocation request is not flexible; the resource is committed to the dates and hours required on this request. If soft allocated then allocation request is flexible; adjustments can be made to the date and hours if needed to accommodate other priorities.
We can specify the project task to which the resource needs to be allocated.
Note: For each project, it is recommended that you choose to either allocate resources directly to project tasks or allocate resources to the project and then assign to project tasks. Using both resource allocations to project tasks and task assignments can create inconsistencies in your project data.
After allocating the resources, these will be available for assigning to project tasks.
Resource allocation chart/Grid
Navigation- Lists-> services-> Resource Allocation Chart/Grid
Resource allocation Chart view
- Filters
- Resource Default – Filters based on resource
- Customer Default – filters based on Customer names
- Project Default – Filters based on Project Names
- Customize button – To customize the Filter fields.
- New Resource Allocation Button
Can allocate new resources based on availability and skillsets. If allocation of a resource is more than 100% then the total percentage will be shown in Red
- From the resource allocation chart view, we can extend or decrease the allocation time. Or reallocate the time to any other resources in case of overbooking
Resource skill sets – There is a Skills & Expertise tab is available in the Employee record which shows the Basic skill set
The project tab shows the already assigned projects of that resource. In the portfolio tab, we can upload the resume and work samples of that employee(a new portfolio type can not be created currently). The Portfolio subtab uses the NetSuite File Cabinet to store attachments.
Also, we can create additional subtabs to store other skills(Technical skills, Product Knowledge, etc).
To create a skill category:
- Go to Setup > Services > Skill Category > New.
- Enter a name for this skill category.
For example, you could create a category named Software to record employees’ skill levels with the types of software your company uses. - On the Skill tab, enter the names of each skill you want included in this category. Click Add after each skill.
- On the Skill Level tab, there are three default skill levels provided. You can edit the existing levels by selecting the line you want to edit, making your changes and clicking Done. Add new levels by inserting a line or adding a new line to the bottom of the list. Skill levels should appear in this list from lowest to highest proficiency.
The levels you enter here are available for each skill entered on the Skill tab. - When you have finished, click Save.
Each skill category is available as a subtab on the Skills & Expertise tab of the employee or vendor record.
- Also, there will be a My skill set record available at List-> Employees Navigation where one can find their own skill set and can update it.
After setting this skill set this will be available when allocating resources from Resource allocation Chart/Grid
Generic Resources –Generic resource records can be used as placeholders when project managers and resource managers are planning a project in NetSuite. This feature enables resource allocations and project task assignments to be made when a specific resource may not yet be identified.
Create new Generic resources List → Employees → Generic resources → New
Enter the name of the generic resource(you can specify the role ex: Software Developer, manager, etc). Enter the labor cost which will be picked up in the project task in which this resource will assign.
Also can specify the price. Then when this resource is assigned to any project task then the unit price field will be populated with the price specified in the resource record. If any service item is entered into the project task then this price will be overwritten by the price from the service item record.
The currency of the Generic Resource will be the currency of the subsidiary that this resource belongs to. If a generic resource is assigned to any intercompany projects then the cost and price will be converted to the project currency at the rate of the assignment date.
If you use Resource Allocations and choose only to show allocated resources for project task assignments, generic resources are available to be assigned even when they have not been allocated to a project.
Project Resource roles – Project Resource roles can be set up from Setup-> Accounting → Project Resource roles.
There are two default roles available- Project Manager and staff. If the client wants to add more roles then can create new ones.
When assigning resources to a project, you can select multiple project roles for a single resource using a multi-select field.
Resource work calendars – set up work calendars to track and manage the work capacity for employees and vendors you assign as resources on projects. Any employee or vendor you plan to assign as a project resource must have a work calendar assigned on their record. A work calendar defines the standard work week for the employee and lists non-working days, such as holidays and vacation days.
Non Working Days subtab. On this subtab, enter a date and description for each date you plan to exclude from all project work schedules, such as holidays.
Note: The work calendar setup is a one-time setup. But the nonworking days should be updated for every year.
Timesheet Management
Enabled Time & Expenses features.
Set up Accounting Preferences.
The client will not track time in NetSuite. Instead the Approved timesheets will be imported into Netsuite in appropriate intervals.
The Labor cost will be calculated as the hours entered in timesheet * The unit cost/ Labor cost of employees. If the project task is mentioned in the timesheet then the unit cost mentioned in the task record will be considered. Otherwise Labor cost in the employee record will be taken. The Labor cost will be accounted in NetSuite only when the approved timesheets are posted.
The Labor Billing amount will be calculated as time entered in the timesheet * the unit price mentioned in the project task record. So it is recommended to specify project tasks for billable timesheet imports.
Billable time amount = Hours worked X Billing Rate.
The project expense type field determines which account should be debited at the time of posting the timesheets. As we are posting the timesheets only to the Direct Labor account, always select the Regular Project expense type which is associated with the Direct Labor account.
The employee Labor cost flows from Adrenalin through integration. So whenever the employee salary changes this change will reflect in the Labor cost field of employee record. And this updated cost will flow to the project task records in which that employee is assigned, through a scheduled script.
Timesheet Import
For Fixed Bid / Non Billable Projects
For fixed bid projects, import timesheets according to the employee allocation in a month. The timesheets should be created based on the total working time of the employee in a month and how that time is divided among various projects. Then the cost will be accounted for accordingly. So the timesheets will include the time that the employees are supposed to spend on the particular project.
For example, if an employee is allocated 100 hrs on Project A and 60 hrs on Project B then his timesheet will be imported with mentioning this same duration for each project irrespective of how much time he actually spent for each project (he may have worked overtime or undertime).
The timesheets against these projects are not billable. So these can be imported without any task mentioned in the import file.
To track time for the employee Training, Meeting or leaves, create Non Billable Projects. And the corresponding timesheets should be Non Billable. To account this cost in Direct Labor select the Project expense type as Regular. Then in the project profitability record can identify the corresponding cost by the Project names.
For Time and Material Projects
The billable time will be tracked in JIRA by the employees. And these timesheets will be uploaded to netsuite as billable.
In this case, necessarily create project tasks and specify that in the timesheet import.
Recommended – Create a single task for all billable projects with a common name. Then this name can be used for the project task column in the import file. So even if the project internal ID is different, we can use the same value for project tasks.
Note : For the timesheet of intercompany resources, even if we imported them as billable timesheets, there is a possibility that those timesheets may be non billable. So we will create a custom field in time track form – “Is Billable”. And will create a workflow to check the “Billable” box whenever “Is Billable” is checked. So map the billable field in the timesheet to the new custom field “Is Billable”.
Import Guidelines
- Prepare the import file
The import file includes the following fields
- Employee ID – ID + Name which is the netsuite employee ID format.
Example: E0039 Sunil Kumar Chintalapati
- Date
- Duration
- Project Internal ID
- Project Task (fill this only for TnM). Format: <project task name><space><(Project Task)>
Eg: If the task name is TnM Task then fill the task column in the following format –
TnM Task (Project Task)
- Is Billable (True for TnM and False for Fixed Bid and other Non billable projects)
- Navigation – Setup> Import/Export> Saved CSV imports
Select the saved import –Timesheet Import
Saved Import ID – custimport_105_5785568_183
Select the file to be imported. Select the ADD import option.
For the field mapping refer to the screenshot below.
The Approval status field should be mapped to the “Approved” value statically. To do that, click on the small pencil icon near that field.Select the option “Provide Default Value” and select “Approved” from the dropdown.
Project Internal ID field in the import file(Project code in the sample image) should be mapped to customer NetSuite fields. Since we are mapping the internal ID of the project, specify the same. Click on the small pencil icon near that field. Choose the reference type as Internal ID
Click Next > Save& Run
View the import status
After Importing the Approved Timesheets, it will be available for posting.
Navigation – Transaction -> Financial -> Post Time. select all the timesheets or can select employee wise timesheets. Select a Project cost variance account. This account is credited when time transactions are posted. By default set the account Project Cost Variance as this account.
You can select a different account at the time of posting time transactions.
The project expense type determines the account which is debited when timesheets are posted. There are two default expense types – Regular and Overhead.
Regular expense type is related to direct Labor acc which is 70604 Expenses : Salary – Direct.
Overhead expense type is related to the acc – Indirect Labor
Note: The billable timesheets will be available for billing in the invoice created from the project or from Sales order if the sales order is related to the project. The rate field of billable time entry in the invoice can be edited. But the hours field is not editable in the invoice. If you want to change the time then update it in the timesheet. But you can not edit the posted timesheets. It is possible to edit the approved but unposted timesheets.
Reminders – Currently available Reminder Notifications are Time Rejected and Time To approve
The available reports are Time by Employee, time By Customer,
Unbilled cost by Customer – The Unbilled Cost by Customer Summary report shows unbilled costs, sorted by customer or project. Costs appear on this report from unbilled items and expenses charged to a customer or project. After an invoice is issued for these costs, they no longer appear on this report.
Unbilled time By customer
Time by Item
Time entry exceptions – To know missing time entries. Time is considered missing if the work calendar for the employee shows the time as available, but there is no time entered yet.
The report shows employees in the supervisor and subordinate structure.
Project Reports
In the project preferences, we can classify the time entered against that project as Utilized, Productive or exempt.
Based on this the report Utilization by Employee shows the exempt hours(leave/ holidays) and utilized and productive hours
The Standard project related reports are
Under Time & Billable
- Utilization by Employee – Restrict view to a subsidiary to view the report. The report shows the Available hours(from work calendar), Exempt hours, utilized hours and production hours
- Allocated Utilization by resource – Allocated hours(in resource allocation) Vs utilization.
Utilization = Allocated hr/ Available hr(from work calendar)* 100
- Planned Utilization by Resource – Planned time vs utilization. Planned time – time entered in the project task. Exempt hours will not be included in the planned time.
Utilization = planned hr/ Available hr * 100
- Actual Utilization by Resource –
Actual time = Tracked time – Exempt hrs
Available hrs = Total hrs(from work calendar)
Net Hours = Available time – exempt time
Utilization = Actual time/ Net time * 100
- The above same reports based on Project
- Current Backlog by Project Resource
set your Restrict View preferences to a single subsidiary, at Home > Set Preferences, before you can run this report.
- Estimated Profitability by Project – The Estimated Profitability by Project report shows estimated cost, revenue, and profit for projects. The default report shows columns for the following:
- Estimated cost = [Estimated Work * Cost] for all project tasks
- Estimated revenue = [Estimated Work * Price] for all project tasks
- Estimated profit = [Estimated revenue – Estimated cost]
- Current time budget – time in project task
- Actual time
- Project status
- Allocated vs. Actual Hours by Resource
Under Projects section
- Project Cost Budget vs. Actual
- Project Billing Budget vs. Actual
- Project Task Cost Budget vs. Actual
- Project Task Billing Budget vs. Actual
- Project Profitability by Month – The Project Profitability by Month report compares actual project revenue and costs to show each project’s profitability.
The Project Profitability by Month report is available in both summary or detail.
The summary report displays the following for each project by month:
- Customer:Project/Category
- Total Income
Income is the net profit after costs for each category. - Total Cost
The total costs incurred for each category. This figure is consistent with the actual amounts from the Project Cost Budget vs. Actual report. - Committed Cost
The committed costs for each category. - Committed Revenue
Revenue commitments for each category. - Recognized Revenue
Revenue that has been recognized for each category. - Income/ cost margin- Total Income / Total Cost * 100 – 100 = Margin
- Revenue/Cost margin – Recognized Revenue / Total Cost * 100 – 100 = Margin
The detailed report is expanded to show the individual transactions that make up the totals for each category.