Project Billing & Control - Advanced

Updated at March 30th, 2026

Module Description

This module aims to extend the standard Business Central project management module by providing additional and additional elements for monitoring project costs and revenues, such as the CBS ( Cost Breakdown Structure ) and the invoicing plan.

The PBC Advanced app has dependencies on Origins apps as it also handles RDAs from job orders and document templates for creating sales orders from projects.

Setup

The form requires the completion of the “Advanced Project Module Setup”:

Image containing text, screenshot, number, character  AI-generated content may be incorrect.

  • Project Billing Plan No .: Identifies the numerator for billing plans.
  • Project invoice plan template number : if the templates for selecting and compiling the invoice plan are used, this numerator must also be filled in.
  • Default item/service reg. cat.: useful for having a proposal for filling in the item/service category on the billing plan.
  • Def. Name Project Registration (Revenue) : journal required for recording revenue in the job order at the same time as invoicing a shipment relating to goods delivered for the project.
  • Project Registration Batch Name (Revenue) : batch required for recording the revenues related to the invoicing of a shipment in the job.
  • Project Dimension : Specify the job/project dimension. As we'll see below, this dimension is useful for collecting job costs using a dimension.
  • For the app to function correctly and for job cost consultation, this dimension must be defined as global in the general accounting setup.
  • CBS accounting period start date : useful for analyzing job costs and revenues over multiple fiscal years, in this field you must set the date from which you want to analyze the data (especially for multi-year jobs) in the case in which the CBS is analyzed by "Accounting Period".
  • Default ODV document template code : using the PBC app, you can generate sales orders from project planning lines: filling in this field allows you to establish in advance whether to use a specific document template for these orders.
  • Default RDA category code : if filled in, it allows you to establish which default category to associate with purchase requests generated by the order.

Functionality

A function for creating a project directly from this page has been added to sales orders, thus creating a link between the customer request and the related job in Business Central.

Image containing text, screenshot, number, character  AI-generated content may be incorrect.

This allows us to maintain a link between the order (which includes the finished item and its sales price) and the job order for the creation of the aforementioned project.

At the project task level, the following additional fields are present compared to the standard:

Image containing text, line, number, character  AI-generated content may be incorrect.

  • Sales Invoicing Task: Identifies the task to which the project planning lines generated when the invoicing plan is released are linked (NB Only one task per project can have this flag).
  • Initial Cost Budget VS Revised Cost Budget: Two fields indicating the budget amount have been managed, which differ in that a "Budget revision line" flag is present on the project planning lines. This allows the project manager to distinguish between the estimated budget from the estimate and any subsequent revisions.

The project sheet contains these features:

Image containing text, character, line, or number  AI-generated content may be incorrect.

Project Billing Plan

It allows you to manage and monitor invoices to be issued or issued to the client.

On the plan header, you can define the billing customer, which, if not modified (using the appropriate function), is carried over from the project master data:

As mentioned in the setup section, you can associate one of the available templates with the plan. This will provide a proposal in the plan's rows. Alternatively, you can proceed manually.

In the “Revenue Resource No.” field, you must specify a “fictitious” resource on which the billable lines will be generated to invoice the job revenue.

In the “Registration” tab, a series of other fields, such as dimensions, are inherited from the job order or from the setup, such as registration categories.

It is also possible to detail the registration accounts for advance or withholding invoices:

Image containing text, line, character, or number  AI-generated content may be incorrect.

Finally, the billing milestones contractually agreed with the customer will be entered on the plan lines:

Image containing text, screenshot, line, character  AI-generated content may not be correct.

Billing installments can be modified until the line has been invoiced to the customer.

Below is an explanation of the main fields in the rows:

  • Scheduled Billing Date : Indicates the scheduled billing date for the advance or milestone plan.
  • Invoice type : specifies the type of invoice to be issued. Depending on the option chosen, accounts in the Profit and Loss Statement or Balance Sheet may be moved (see explanatory table below).
  • Calculated shipped amount : if you are fulfilling a previously shipped order line, you can recall it using this function to connect it to the line of the plan to be fulfilled:
  • Image containing text, screenshot, character, line  AI-generated content may be incorrect.
  • Amount (VL) : indicates the invoice amount in local currency.
  • Amount : indicates the invoice amount in foreign currency, specified in the “currency code” field of the plan header.
  • Description : This is shown on the invoice line issued by the plan.
  • Run Invoice : The line or lines to be transferred to a new invoice must be flagged. To do this, after releasing the plan using the appropriate function, click "Create Sales Invoice," which generates a temporary invoice on the standard sales invoice page.
  • The plan line contains the reference to the provisional document and, once accounted for, to the registered document with the fields updated accordingly.
  • % of advance to be reversed : this percentage can be indicated on milestone lines with reversals and is used to specify the amount of the previously issued advance that you want to reverse.
  • For the amount to be calculated correctly, the advance invoices must already have been accounted for.
  • For “final” invoices, this percentage does not need to be specified but is automatically calculated on the residual amount when the provisional sales invoice is created.
  • As an alternative to the percentage, you can specify an amount in the dedicated field.
  • % of withholding tax to be reversed : This percentage can be indicated on milestone lines with reversals and is used to specify the amount to be reversed from withholdings that will be invoiced later. As an alternative to the percentage, you can specify an amount in the dedicated field.

Both in the header and on the plan lines there are a series of calculated amounts that highlight the progress of the order in terms of invoicing to the customer.

Below is an explanation of the types of invoices that can be issued from the PDF:

Type Description
Advance Payment Invoice To issue a sales invoice before shipment of materials based on a specific percentage agreed with the customer (e.g. 30%, 100% etc.)
Closing Invoice Usually the final revenue invoice: using this type of invoice BC is reversing everything posted before on advance payment GL account. It's not necessary for the user to specify the percentage of advance to reverse.
Milestone Invoice This type of invoice is posting on revenue GL account, if related to shipment of items the action "Calc. Shipped" should be used.
Otherwise it means that the sales invoice issued is posting a revenue related to the progress of the project (POC) without shipping.
Milestone Invoice with deductions with ADVANCE PAYMENT to reverse
To use this type of invoice the system requires something to reverse (eg advance previously issued).
Depending on the fact that something has been shipped or not, the amount related to revenues can be posted on GL account or directly invoicing the items shipped.
The percentage of advance to reverse must be specified manually on invoice plan line.
with RETENTION to reverse
This type of invoice should also be used when a contractual retention is issued at the end of invoice plan (eg a warranty retained percentage).
In this case the retention is made before the invoicing of warranty.
Contractual retention invoice To issue retention previously held in milestone invoice.
Extra Invoice If there is the need to add a sales invoice at the end of invoice plan that wasn't expected at the beginning of invoice plan.
This invoice is posted on revenue account.
T&M invoice The GL posting is the same as the previous invoice: it is normally used to issue something related to activities done that the customer has to pay based on hours or days actually worked.
Credit Memo Credit memos in invoice plan should be issued related to a previous sales invoice posted, so on invoice plan lines there's the possibility to flag the line as to be reversed with credit memo.
Anyway, there's also the possibility to issue stand alone credit notes.
GL account used is the same specified for revenues.

There is an action on the plan to release or reopen it, changes can only be made when the plan is not released:

Image containing text, screenshot, character, number  AI-generated content may be incorrect.

The action to generate invoices from the plan once it is released is this:

Image containing text, screenshot, character, number  AI-generated content may be incorrect.

The “Calculate Shipped” function is useful for linking the delivery of the goods to the customer and therefore the sales order with which the fulfillment took place to the invoicing plan.

Using this line action, you can select the lines of the previously sent delivery notes linked to the order.

To generate sales orders directly from the job, an action is available on the planning lines to transfer the lines of the items to be shipped directly from the job to the order:

As described in the setup section, it is possible to establish in advance which document template should be assigned to sales orders when they are created from a job order.

 

Cost Breakdown Structure

This page allows you to create job analyses to highlight the variance between budget and actual costs and the project's progress.

Similar to the standard financial reporting module, this tool allows you to add and manage job analyses: both row and column layouts can be set.

By opening the Cost Breakdown Structure it is possible to choose which row and column scenario to display, in addition to the reference time period:

Image containing text, line, number, character  AI-generated content may be incorrect.

LAYOUT of ROW

In the scenarios that can be set up in BC, the order can be analyzed at row level in its entirety or a series of filters can be applied by accounting dimension in order to filter the values (e.g. by cost center, product line, business unit, etc.):

Image containing text, screenshot, number, character  AI-generated content may be incorrect.

COLUMN LAYOUT

The columns that can be set within the CBS can be chosen from a list, some values are shown below.

Image containing text, screenshot, number, character  AI-generated content may be incorrect.

A new field called “Item Type” has been added to the item master data:

Setting items as “For Project” allows a different management of the linkage between item ledger entries. Compared to the standard behavior, it introduces additional logic based on the project dimension (previously defined in the setup as global) within the item application entries.

This functionality enables, for example, a more accurate analysis from the CBS perspective, particularly for movements related to production and assembly orders (see the dedicated paragraph on Cost Breakdown Structure).

On the project card, an action is also available to update valuation entries:

If there is a need to transfer the cost of the produced item to the project—as a usage-related accounting entry—a manual posting can be performed through a project journal batch.

At the same time, this report allows processing and marking the related consumption/output entries as “used in project”, so that they are no longer visible in the CBS.

Purchase request management

From the job planning lines it is possible to directly create RDAs thanks to this feature:

Image containing text, character, number, or line  AI-generated content may be incorrect.

Selected planning lines can be transferred to a purchase requisition, provided they are of type “Item”.