The problem
Construction billing does not look like any other kind of billing. You bill a percentage of a schedule of values, not an invoice for goods shipped. Part of every certified amount is held back as retention and released in stages, sometimes years later. Variations are instructed on site and priced afterwards, so the contract sum in the system is out of date the moment work starts. Subcontractors submit applications that must be certified, not simply paid, with their own retention and their own back-charges.
Meanwhile finance has to state a position: how much revenue has been earned on each contract, how much has been billed, and what the difference means. Get that wrong and you either report profit you have not earned or hide a loss until the contract closes.
F&O project management and accounting gives you the core — projects, WBS, categories, forecasts, cost postings, on-account invoicing and revenue recognition rules. What it does not give you out of the box is the contracting layer: a schedule of values billed by percentage complete with retention held and released to its own ledger accounts, a variation order register that adjusts contract value and forecast in a controlled way, subcontractor payment certification with retention and back-charges, and a WIP position that a project accountant can explain contract by contract.
What ECOSIRE builds
We build the contracting layer as X++ extensions on top of standard F&O project accounting, no overlayering, deployed through your own LCS pipeline. Standard project structures stay standard — we extend them rather than replace them, so your existing project reporting, cost capture and integration continue to work.
Schedule of values and progress billing
Each contract carries a schedule of values broken down to the level you actually bill at, linked to the project WBS. Applications for payment are raised by entering percentage complete or measured quantity per line, with the system calculating gross this period, previous certified, and amount now due. Certification against the client's assessed value is recorded separately from your application, so the variance between what you claimed and what was certified is visible rather than lost. Approved certificates generate project invoice proposals through standard F&O invoicing, so they post into ProjInvoiceJour and the customer ledger exactly like any other project invoice and reconcile normally.
Retention held and released
Retention is calculated per certificate at contractual percentages, with separate rates and thresholds where your contracts distinguish between practical completion and final release. Held retention posts to its own ledger account rather than sitting inside trade receivables, so the balance sheet says what it means. A retention register tracks every held amount against its contract, its release trigger and its due date, and release generates the corresponding invoice. The same treatment applies in the other direction for retention you hold from subcontractors.
Variation orders
Variations are registered from instruction through pricing to client approval, each with its own status and value. An approved variation adjusts the contract sum, extends the schedule of values and updates the project forecast so cost-to-complete and revenue recognition use the revised figures. Pending variations are tracked separately and can be included or excluded from the reported position depending on your accounting policy — which is a decision your auditors will ask about, so it is configuration rather than a buried assumption. Approval routes through the standard F&O workflow framework.
Subcontractor certification
Subcontractor applications are received against their order or agreement, assessed, and certified for the amount you agree rather than the amount claimed. Certificates carry their own retention, back-charges for materials or plant supplied, and any contra-charges. Certified amounts flow into vendor invoicing so payment runs work normally, while the certification history remains attached to the project for the inevitable dispute.
Work in progress and revenue recognition
WIP is calculated per contract on your chosen basis — cost-to-cost percentage of completion, or another basis agreed during scoping — comparing revenue earned to revenue billed and producing the resulting accrued income or deferred income position. Postings use your ledger setup and carry financial dimensions, so the WIP position analyses by contract, division or region and reconciles to the general ledger. Provision for foreseeable losses is handled explicitly where a forecast shows a contract in loss. Period calculations run under the F&O batch framework, so a month-end WIP run across a large contract portfolio does not block other processing, and each run is retained so a prior period position can be reproduced rather than reconstructed.
Where site teams capture progress away from a desk, measured quantities and subcontractor assessments can be fed in through data entities and the data management framework, or through Power Platform apps where a mobile form is the right answer.
Who this is for
Main contractors, specialist subcontractors, civil engineering firms and fit-out contractors running Dynamics 365 Finance & Operations, billing against schedules of values with retention and variations, and currently managing certificates and WIP in spreadsheets alongside the ERP. It is most valuable where contract volume makes spreadsheet WIP a month-end bottleneck, or where an audit has questioned how revenue recognition figures were derived.
How delivery works
1. Scoping call. We review your real contract forms and current certificates — how your schedules of values are structured, retention terms and release triggers, how variations are instructed and priced, your subcontract certification process, and the WIP basis and accounting policy your auditors expect.
2. Fixed quote. A written scope covering the billing flows, retention treatment, variation process, subcontractor certification and WIP basis included, priced fixed against that scope.
3. Build. Development of the extension model, tables, forms, workflows, posting logic, batch jobs and reporting. Typical lead time is two to four weeks from approval, longer where several contract forms or an unusual WIP basis are in scope.
4. Install in test. Deployment to your sandbox through LCS, then running your live contracts through a full cycle — application, certification, retention, a variation and a period WIP run — so your project accountants verify the numbers against their own workings before production.
5. Production. Deployment in your maintenance window after sign-off, with a documented rollback and an agreed approach for contracts that are mid-flight at cut-over, including opening retention and WIP balances.
6. Support. A support window covering your first full month-end WIP run and first retention release, which is when the real questions surface.
This is not shelf software. Each build reflects the contract structures, retention terms and accounting policy agreed in your scope.