Proforma invoicing

Completed

In Project Operations, proforma invoices are built as an extension to the invoices in Microsoft Dynamics 365 Sales.

However, the invoicing process between Sales and Project Operations differs when it comes to invoicing.

For example, it's not possible to create a new invoice from the Invoices List page in Project Operations, but it is possible to do so in Sales.

These differences and extensions are in place to support invoicing processes for projects that are different from a typical invoice for a sales order.

Important

Because of the differences, don't use invoices in Sales and Project Operations interchangeably.

Invoicing gives project managers a second level of approval before they create invoices for customers. The first level of approval is completed when the time and expense entries that project team members submit are approved.

Create project invoices

You can create project invoices one at a time or in bulk. Additionally, you can create them manually, or they can be configured so that they are generated in automated runs.

Create project invoices manually

From the Project Contracts list page, you can create project invoices separately for each project contract, or you can create invoices in bulk for multiple project contracts.

To create an invoice for a specific project contract, on the Project Contracts list page, open a project contract and then select Create Invoice.

An invoice will be generated for all transactions for the selected project contract that have a status of Ready to Invoice. These transactions include time, expenses, milestones, and product-based contract lines.

Follow these steps to create invoices in bulk:

  1. On the Project Contracts list page, select one or more project contracts that you must create an invoice for, and then select Create Project Invoices.

    A warning message informs you that a delay might occur before invoices are created. The process is also shown.

  2. Select OK to close the message box.

    An invoice will be generated for all transactions on a contract line that have a status of Ready to Invoice. These transactions include time, expenses, milestones, and product-based contract lines.

  3. To view the invoices that are generated, go to Sales > Billing > Invoices. You should see one invoice for each project contract.

Set up the automated creation of project invoices

Follow these steps to configure an automated invoice run:

  1. Go to Settings > Batch jobs.
  2. Create a batch job and name it Project Operations Create Invoices. The name of the batch job must include the words Create Invoices.
  3. In the Job type field, select None. By default, the Frequency Daily and Is Active options are set to Yes.
  4. Select Run Workflow. The Look Up Record dialog box will show three workflows:
    • ProcessRunCaller
    • ProcessRunner
    • UpdateRoleUtilization
  5. Select ProcessRunCaller and then select Add.
  6. In the next dialog box, select OK. A Sleep workflow is followed by a Process workflow.
  7. You can also select ProcessRunner in step 5. Then, when you select OK, a Process workflow is followed by a Sleep workflow.

ProcessRunner is the workflow that creates the invoices. It goes through all contract lines that invoices must be created for, and then it creates invoices for those lines. To determine the contract lines that invoices must be created for, the job looks at invoice run dates for the contract lines. If contract lines that belong to one contract have the same invoice run date, the transactions are combined into one invoice that has two invoice lines. If no transactions are available to create invoices for, the job skips invoice creation.

After ProcessRunner has finished running, it calls ProcessRunCaller, provides the end time, and then is closed. ProcessRunCaller then starts a timer that runs for 24 hours from the specified end time. At the end of the timer, ProcessRunCaller is closed.

The batch process job for creating invoices is a recurrent job. If this batch process is run many times, multiple instances of the job are created and will cause errors. Therefore, you should start the batch process only one time, and you should restart it only if it stops running.

You can perform the following operations with Proforma invoices:

  • Edit headers
  • Edit retainer amounts to be used
  • Edit line details for Billing type and Quantity
  • Add new lines for Time, Expense, or Fees directly on the invoice
  • Invoice in multi-customer scenarios
  • Perform invoice confirmation and not-to-exceed (NTE) Validations
  • Correct invoices for correcting quantity or price
  • Confirm corrections