Skip to main content
Microsoft Platform Construction Finance Operations

Month-End Close Cut to 6 days Across 8 Entities for a 1,100-employee Construction Group

A construction group's close ran 19 days and produced numbers the operations directors argued with. We rebuilt the dimension design, automated intercompany and consolidation, and put project WIP recognition on a defined method instead of a monthly judgement call.

19 → 6
month-end close
8 entities
consolidated automatically
210
live projects with WIP
The challenge: Close took 19 across 8 entities, intercompany never agreed, and project WIP was calculated in a spreadsheet by one person. What we did: Redesigned dimensions as the reporting backbone, automated intercompany and consolidation, moved WIP onto the project costing engine, and built approval workflows and a scripted close checklist. See our Business Central consulting service. The result: Close down to 6, intercompany agreeing on the first pass, and WIP recognised on a stated method that survives audit.

About the Client

Industry
Size
1,100 employees
Geography
US, 5 states
Stack
Business Central online, Power BI, Power Automate, Microsoft 365
Engagement
Business Central Consulting + Finance Specialist Deployment
Duration
16 weeks

The Challenge

The group's close ran 19 and its last days were spent defending the result. Operations directors would look at a project margin, disagree, and be right often enough that finance stopped publishing until the argument settled. The disagreements were never about arithmetic. They were about which costs had landed against which project, in which period, in which entity.

Dimensions were the immediate problem. Business Central had been implemented 2 years earlier with department and project as the two global dimensions, which seemed reasonable then. Since then the group had acquired two businesses, started reporting by contract type and begun tracking cost against work package. Those newer analyses were bolted on as shortcut dimensions where they fitted and encoded into project codes where they did not, so the project dimension value carried three meanings in a delimited string only three people could parse.

Intercompany was manual. Plant hire between entities, shared site staff, and materials bought centrally and issued to sites were raised as invoices in one company and keyed in the other a week later. Around 2,800 moved every month, so the elimination at consolidation never balanced first time and the reconciliation became a sub-project inside every close.

Work in progress carried the real audit risk. WIP was calculated outside the system in a workbook kept by the group financial controller, from percentage of completion figures emailed in by quantity surveyors. No consistent method across contracts, no trail from the WIP posting back to the cost that justified it, and no way to produce the calculation if that person was away. The auditors had raised it two years running.

Our Approach

Close speed is a symptom. We fixed the four things generating the manual work — dimension design, intercompany, WIP method and approvals — and the timetable followed.

1

Dimension Redesign (Weeks 1-6)

Rebuilt the dimension model from the reports backwards. The platform allows two global dimensions and eight shortcut dimensions, so entity, contract, work package, cost type, contract type and department each became a dimension in its own right. The two globals went to the analyses that appear in every report, because only those two filter reports, batch jobs and XMLports. That decision is expensive to revisit: changing a global dimension later runs a logged rewrite across all posted entries with the system locked. We set default dimensions on master data with value posting rules, and blocked dimension combinations so an overhead account cannot take a work package value.

2

Intercompany Automation (Weeks 5-10)

Configured intercompany partners for each entity, an intercompany chart of accounts and intercompany dimensions so analysis survives the crossing. Plant hire, shared labour and central purchasing now post from the originating company into the receiving company's inbox as draft documents with dimensions attached. The receiving team reviews and accepts rather than rekeys, with auto-accept only where the originating entity owns the coding decision.

3

Job Costing and WIP Recognition (Weeks 8-16)

Moved contracts onto the projects module — renamed from jobs, though objects and several reports still say job — with project tasks mirroring the work breakdown structure and planning lines carrying budget, schedule and billing. Cost reaches the project from purchase invoices, item consumption, timesheets and resource journals rather than from a workbook. The WIP method was decided per contract type and written into the project card, chosen from the five the platform supports: cost value, sales value, cost of sales, percentage of completion, completed contract. The calculation is stated policy, posts by batch with a trail back to the underlying entries, and closes the audit point. Retention runs through separate payment terms and dedicated accounts.

4

Approvals and Controls (Weeks 12-18)

Configured approval user setup with approver chains and amount limits by entity, and switched on workflows for purchase orders, purchase invoices, payment journals and project planning line changes above threshold. Approvals surface in Teams through Power Automate, so site managers approve on a phone rather than holding the close up. Posting dates locked per user group.

5

Close Checklist Automation and Consolidation (Weeks 16-22)

Turned the close checklist into scheduled work rather than a document. Recurring journals with reversing accrual lines handle standing accruals, and job queue entries run the WIP calculation, allocation journals and adjust cost batch on a timetable. A consolidation company pulls each entity as a business unit with its own translation method, on a schedule rather than live. Eliminations stay manual — nothing detects duplicates for you — so they go in as journal lines in a dedicated elimination company, previewed with the consolidation eliminations report. Financial reports and Power BI sit on the same dimension set, which is why operations and finance now argue about decisions instead of numbers.

Solution Architecture

Dimension model: Entity, contract, work package, cost type, contract type and department as dimensions, the two globals assigned to the analyses present in every report

Dimension controls: Default dimensions with value posting rules on master data, blocked combinations, and mandatory values on the account ranges where analysis is required

Intercompany: Intercompany partners, chart of accounts and dimensions, with documents flowing through inbox and outbox and selective auto-accept by transaction type

Project costing: Projects module with tasks against the work breakdown structure, WIP method fixed per contract type, and WIP posted by scheduled batch. Delivered with our Dynamics 365 consulting practice

Close automation: Recurring and allocation journals, job queue entries for WIP and cost adjustment, user-level posting date locks, and a consolidation company with a separate elimination company

Results

19 → 6
month-end close
Over three consecutive cycles
8
entities consolidated
Business unit pull, not a spreadsheet
2,800
intercompany transactions
Flowing through inbox and outbox
210
live projects with WIP
Batch calculated, traceable
640 → minimal
manual close journals
Recurring and allocation journals
Audit point
closed
WIP method stated and traceable to source

Client identity withheld under confidentiality. Figures are representative of engagements of this scope.

Key Takeaways

If your organization is facing a similar challenge, here's what we learned:

Dimension design is the most expensive thing to get wrong. Changing a global dimension after go-live rewrites posted entries with the system locked, and adding a dimension later leaves historic entries blank so comparatives break. Design the two globals against the reports you are required to produce, not this year's org chart.

Never encode analysis into a code string. A project code carrying three meanings in a delimited string is a dimension design that lost an argument. Every report on it needs string parsing, and every new analysis makes the string longer.

Intercompany is a setup problem, not a discipline problem. Teams rekey intercompany invoices because the partner setup, intercompany chart of accounts and intercompany dimensions were never configured. Once documents flow through the inbox with dimensions attached, the elimination journal is a short predictable entry, not a reconciliation project.

Write the WIP method down and let the system apply it. A WIP number produced in a spreadsheet by one person is an audit finding waiting to be written. Fixing one of the five methods per contract type on the project card and running the calculation as a batch gives the same answer with a trail back to the cost.

Automate the checklist, not the closing. Most close time goes on accruals, allocations and cost adjustment that recur identically every period. Recurring journals and job queue entries remove them — see our Power Platform consulting work for the approval layer.

How Long Does Your Close Actually Take?

If the answer includes days spent defending the numbers, the problem is usually dimension design and intercompany, not effort. We look at both first.