For project based service organizations such as the Marketing agency, Legal and IT consulting world, it is very common to require their customers to partially or fully pay for professional services in advance of the work getting done. This type of billing agreement is called “Retainer agreement” or in simple terms you can call it as pre-billing. In some cases you may also need to define an automatic schedule for retainer billing. In this agreement, the service provider agrees to receive the cash in advance and commits to deliver the services when needed.
When retainers are billed, the revenue is typically deferred and when the actuals on the projects are reconciled against the retainers/advances monthly, revenue is recognized
The Project Management and accounting module of D365 F&O provides this functionality called “Customer advances”, which lets you bill retainers or advances to customers for projects. With the release of version 4.5.0.134, D365 Project Operations solution now has the Retainers and Advances functionality available to general public. This blog post highlights the capabilities of this functionality.
There are 2 ways you can create retainers and advances for a project contract in D365 Project Operations.- Create an automated schedule of retainers to be billed for a certain period of time for a specific amount. System will automatically create the scheduled lines and if you have a automated batch job running for invoice creation, the retainer invoices will be automatically created based on the schedule.



When you create the retainer/advance record on the Project contract, those amounts are just ready to be billed to the customers, once you have marked the lines as “Ready for invoicing”. Until you have billed the retainer, they are not available to be applied/reconciled against actuals.
You can create the retainer/advance invoice just like you create any other invoice in Project Operations. The retainer lines will appear under the Advances and Retainers section of the proforma invoice.
After you confirm the proforma invoice, the Project invoice proposal is created and is ready for review and posting. Note that the retainer/advance line is created as an on-account transaction on the project, on the in finance side of the solution.(Those who worked on D365 F&O project module can relate this how the customer advance functionality in the project accounting module of F&O works).


When you post the retainer/advance invoice, the revenue is deferred and AR is debited. (Note here that the ledger posting depends on the cost and revenue profile and project ledger posting setup you have in the entity. For my scenario here, I have it setup for deferring the revenue when i bill retainers. I will recognize the revenue when I reconcile my actuals against the retainers).





At this point, you can modify the amount you want to apply if needed or just confirm the reconciliation invoice as is. After you confirm the reconciliation($0.00) invoice, a project invoice proposal is created automatically on the finance side. This invoice contains the actuals for time and expenses you are reconciling and a deduction on-account line to offset those.



Let’s go ahead and post this reconciliation $0.00 invoice and validate the results. Below screenshot shows the posted invoice with all the hours, expenses and deduction on-account lines of the reconciliation invoice.

The voucher shows that the actual revenue accounts were credited and the Deferred revenue was debited and no posting to the AR account, since this was just a reconciliation invoice.

