September 30, 2026

Projects, Percentage of Completion & WIP Revenue Recognition in Business Central - Part 4 of 5

  • IFRS 15
  • Business Central

By Shailesh Apte, Chartered Accountant and Business Central Solution Architect

You invoice a customer £420,000 on 1 January for an 18-month engineering contract. By 31 January you have done one month of work. How much revenue do you recognise in January?

Not £420,000. The invoice follows the milestone schedule agreed for cash flow; revenue follows the work. On an over-time contract the two almost never match, and Business Central Projects is built to manage that gap, provided the project is set up correctly from day one.

Recap so far: one contract, many documents in Business Central

A single contract splits across three documents: a Sales Order for the goods or licence, a Project for the implementation, and Subscription Billing for the recurring services. Business Central brings them back together through the CONTRACT dimension.

PO

Performance obligation

Contract price

Recognition pattern

BC document

PO1

Software license

£60,000

Point in time

Sales Order (Part 1)

PO2

Implementation

£42,000

Over time, % completion

Project (this post)

PO3

2-year support

£48,000

Over time, pro rata

Subscription Billing (Part 3)

This post is about PO2: work delivered over time and measured by progress. To show it at scale, we follow Crestline Engineering through an 18-month EPC contract.

The rule: billing follows milestones, revenue follows progress

A project invoice is never the revenue figure. Business Central posts the invoice, then the WIP process adjusts revenue to match the percentage of completion. The difference sits on the balance sheet:

  • Recognised more than invoiced: a contract asset (WIP Accrued Sales)

  • Invoiced more than recognised: a contract liability (WIP Invoiced Sales)

Costs are recognised as they are incurred. Under percentage of completion, only the sales side is deferred.

The worked example: Crestline Engineering Ltd

Company

Crestline Engineering Ltd

Customer

Westbridge Utilities Authority

Project

J00220, water treatment upgrade

Contract value

£4,200,000

Duration

18 months (Jan 2026 to Jun 2027)

Estimated cost / margin

£3,360,000 / 20%

The customer controls the asset as it is built on its site, so revenue is recognised over time. Progress is measured by the cost-to-cost input method: costs incurred ÷ total estimated costs.

Step 1: Create the project and set the WIP method

MS Guide: Managing projects - Business Central | Microsoft Learn

Milestone billing schedule

Milestone

Description

Date

Invoice (£)

Cumulative (£)

M1

Mobilisation

1 Jan 2026

420,000

420,000

M2

Design & site preparation

31 Mar 2026

630,000

1,050,000

M3

Major plant delivered

30 Jun 2026

840,000

1,890,000

M4

Civil works complete

31 Oct 2026

840,000

2,730,000

M5

Mechanical & electrical

28 Feb 2027

840,000

3,570,000

M6

Commissioning & handover

30 Jun 2027

630,000

4,200,000

Create the project and enter the budget on the project tasks: £3,360,000 budgeted cost and £4,200,000 contract value, with the six milestones as billable lines:

Set WIP Method = Percentage of Completion before any entries are posted; changing it once WIP has been posted is messy.

Business Central then calculates recognised sales as (costs incurred ÷ total budgeted cost) × contract value, which is the IFRS 15 input method.

Step 2: Set up the project posting group

Account

Type

Mapping Field

40930 Contract Asset

Balance sheet

WIP Accrued Sales

50700 Contract Liability

Balance sheet

WIP Invoiced Sales

40950 WIP Job Costs

Balance sheet

WIP Costs

10250 Revenue: EPC projects

P&L

Recognized sales

10450 Job Sales Applied

P&L (contra)

Project Sales Applied

20300 Cost of sales EPC projects

P&L

Recognized Costs

20399 Direct Costs Applied

P&L (contra)

Project Costs Applied

Step 3: Post costs to the project

Project Journal within BC->Project Journal

Labour, materials and subcontractor costs are posted to the project each month. Under percentage of completion, they reach P&L in the same period.

Step 4: Invoice the milestone

On 1 January, Crestline invoices the M1 mobilization milestone:

At this point the P&L shows £420,000 of revenue for one month of work. Step 5 corrects that.

Step 5: Calculate WIP and post it to the G/L

MS Guide: Calculating work in process for a project - Business Central | Microsoft Learn

January 2026

£

Costs incurred

186,667

% complete (186,667 ÷ 3,360,000)

5.56%

Recognised revenue (5.56% × £4.2m)

233,333

Invoiced to date

420,000

Invoiced above recognised

186,667

Project › WIP › Calculate WIP, then Post WIP to G/L

As the G/L entries show, Business Central does two things when WIP is posted. First, it moves the £420,000 milestone invoice out of revenue: Job Sales Applied is debited and the amount is parked in Contract Liability.

Second, it recognises the revenue actually earned, £233,333.75 (5.56% complete), against Contract Assets.

On the cost side, the £186,667 passes through WIP Job Costs and is recognised in Cost of Sales, so January carries its full cost.

The result:

January revenue of £233,333.75, and a net contract liability of £186,666.25 (£420,000 billed less £233,333.75 earned).

Under IFRS 15 the two balances are presented net for the contract, because the customer has been billed ahead of the work.

Each month Business Central reverses the previous WIP entry and posts a fresh cumulative position. The balance swings between liability and asset as billing and progress leapfrog each other:

Month

Cumulative cost (£)

% complete

Cumulative revenue (£)

Cumulative billed (£)

Contract asset / (liability) (£)

Jan 2026

186,667

5.56%

233,333

420,000

(186,667)

Feb 2026

373,333

11.11%

466,667

420,000

46,667

Mar 2026

560,000

16.67%

700,000

1,050,000

(350,000)

Apr 2026

746,667

22.22%

933,333

1,050,000

(116,667)

May 2026

933,333

27.78%

1,166,667

1,050,000

116,667

Jun 2026

1,120,000

33.33%

1,400,000

1,890,000

(490,000)

Figures rounded to the nearest pound.

Automate it. At month-end, run the batch version of Calculate WIP and Post WIP to G/L across all open projects rather than project by project. Calculate before you post, and do both before the period closes.

Watch out: a contract asset is not a receivable. Keep WIP Accrued Sales out of the aged-debtor report. A receivable is an unconditional right to payment; a contract asset still depends on future work.

Month 9: the scope changes

In September 2026, Westbridge adds a chemical dosing system: +£350,000 price, +£280,000 estimated cost. It is built into the same facility, so it isn't a separate contract. It changes the existing one, and progress is re-measured on the new totals as a cumulative catch-up (IFRS 15.21(b)).

In Business Central, add the scope to the project tasks so the totals become £4,550,000 contract value and £3,640,000 budgeted cost. Calculate WIP always works on cumulative figures against the current budget, so the catch-up happens automatically at the next WIP run.

At End of Month 9

Before

After

Contract value

£4,200,000

£4,550,000

Budgeted cost

£3,360,000

£3,640,000

Cumulative cost

£1,680,000

£1,680,000

% complete

50.00%

46.15%

Cumulative revenue

£2,100,000

£2,100,000

The catch-up here is nil because the new scope carries the same 20% margin. At a different margin, the difference would go through revenue in the month of the change.

Step 6: Reconcile WIP at month-end

Project Card › WIP › WIP G/L Entries

The WIP reconciliation is the key control on project revenue. At 31 December 2026:

Project J00220 at 31 December 2026

Amount / %

Contract value (incl. scope change)

£4,550,000

Cumulative cost

£2,271,111

% complete

62.39%

Cumulative revenue recognised

£2,838,889

Cumulative billed (M1–M4 + M3.1)

£3,080,000

Net contract liability

£(241,111)

Check that the WIP balances in WIP G/L Entries agree to the G/L, project by project.

The £241,111 is billing ahead of performance: it sits in Contract Liability and unwinds as the remaining work is done over 2027.

One more check: Project Statistics shows estimated margin in real time. If it turns negative, the contract is onerous and needs an IAS 37 provision on top of the revenue entries.

UP NEXT · POST 5

SSP Allocation, Contract Balances & IFRS 15 Disclosures

Back to TechCo's £150,000 contract: how one price is allocated across the licence, implementation and support on relative standalone selling prices, the contract balances that allocation creates, and the IFRS 15 disclosure note, with Business Central reporting behind every line.

This post reflects the author's professional views and is for informational purposes only. It does not constitute legal, financial or accounting advice.