Back to Blog

How Azdan Implemented NetSuite for Construction and Contracting

A walkthrough of one contractor payment in NetSuite, from the budget it was committed against to the control that held it back on payment day.
Oracle NetSuite
September 5, 2026
Written by: Jack Tadros

In short: Follow a single SAR 20 million contractor payment through a NetSuite construction implementation — from the budget it was committed against, to the certificate that measured it, to the control that stopped it leaving the bank.

A lender’s auditor asks one question, usually without warning: “Why was this payment made, against what commitment, certified by whom, and net of what deductions?”

On most construction projects, answering it means reopening a purchase order, a bill of quantities, a certificate, and three spreadsheets that don’t reconcile. This article answers it a different way — by following one payment backwards and forwards through the system that produced it.

Flowchart of the NetSuite construction cost-control process from budget through procurement, certification, payment, and period close
How money moves through a construction project in NetSuite — from approved budget through commitment, certification, and payment, back into period reporting. The two diamonds mark the points where a transaction can be stopped automatically.

Before anything: the budget defines what can be spent

Nothing can be committed until there is an approved budget to commit it against, and that budget is structured, not a single number.

Four-level NetSuite cost breakdown structure for construction showing overall, parent, package, and contingency levels
The four-level cost breakdown structure. Commitment can only happen at package level — the constraint that keeps every contract and requisition tied to a specific line of the approved budget.

The cost breakdown structure runs four levels — overall, parent, package, contingency — and one rule makes everything downstream possible: commitment happens only at package level. Every contract and every purchase must attach to a specific package, so nothing can be spent against a vague heading.

Approving a budget revision archives the previous version rather than overwriting it. Five months from now, when someone asks whether the project is over budget, the answer is measured against the baseline the lenders funded — a figure that cannot quietly move.

NetSuite budget position by construction work package with allocated, committed, certified, available, and percentage consumed columns
Budget position by work package. Allocated, committed, certified, and available values sit side by side, so packages approaching full consumption are visible before they become overruns.

Each package carries its own allocated, committed, certified, and available position. So far no money has moved — but the rails are laid.

Month 0: awarding the contract turns budget into commitment

The civil works contract is awarded at SAR 280 million. Before approval, the system checks that the two affected packages have that much budget available and that the contract dates sit inside the budget dates.

NetSuite construction project contract showing original value, approved variations, revised value, and budget validation
Contract award, where budget converts to commitment. The value is validated against available package budget before approval, which is why project exposure appears on the dashboard long before any invoice.

On approval, SAR 280 million moves from available to committed. This is the moment worth pausing on: the project’s exposure is now visible, months before a single invoice arrives. A system that only records cost when an invoice lands is always reporting a position that stopped being true weeks earlier.

The contract also carries the three mechanics that make construction payments different from ordinary invoices — and all three reappear later in the certificate. The advance payment, 10% paid at commencement against a bank guarantee, recovers pro-rata from every future certificate until repaid. Retention, 5% withheld from each certificate as security, releases in tranches at acceptance and after the defects liability period. And letters of guarantee — performance bonds and advance guarantees — carry expiry dates the system tracks, because an expired bond on a live contract is real exposure.

The contract is priced line by line, not as a lump sum. That decision is what makes everything in month five possible.

Month 3: the scope changes, and the contract changes with it

The client moves an interface point. The pipeline gets 1,200 metres longer.

NetSuite variation order with added bill of quantities lines and a linked extension of time record
A variation order adds priced BOQ lines rather than a lump adjustment, and its extension of time is recorded as a separate entitlement — additional time granted without implying additional payment.

The variation order is tested against the affected package’s remaining budget before it can be approved. It adds its own priced lines to the bill of quantities, so the extra work will be measured and certified like everything else rather than appearing as a lump adjustment at the end.

The system also counts. Cumulative variations are tracked against a reclassification threshold — cross it, and the change stops being a variation and becomes a contract amendment on a different approval path.

The extension of time is a separate record from the cost. The completion date moves automatically; no entitlement to extra payment is implied. Keeping time and money apart is what preserves the argument if either is later disputed. The revised contract value is now SAR 290 million — and still nothing has been paid.

Month 5: the contractor claims, and the claim meets measurement

The contractor submits a cumulative claim of SAR 101.3 million. This is where the payment we are following is actually decided — and where most of the money is either protected or lost.

NetSuite interim payment certificate calculation showing retention, advance recovery, deductions, and net amount payable
The certificate calculation ladder: from the certified position down through retention, advance recovery, back-charges, and penalties to the net amount payable — a SAR 101.3m claim resolving to a SAR 20.1m payment.

The interim payment certificate is built from the priced contract lines, not the number on the contractor’s cover page. Line by line, the claimed percentage meets what the engineer actually measured. Reinforced concrete: claimed 30%, certified 25% — two pours haven’t passed 28-day strength testing. Reinforcement steel: claimed 41%, certified 38% — steel delivered to site, but the contract pays on fixing, not delivery.

That gap is SAR 5.2 million claimed and not certified — and every riyal of it carries a line, a reason, and the name of the person who measured it. When the contractor disputes the position, and they will, the argument starts from a measurement rather than a spreadsheet rebuilt overnight.

From the certified position, the deductions apply in order:

Certified this period — SAR 24,568,940
Less retention at 5% — (1,228,447)
Less advance recovery at 10% — (2,456,894)
Less back-charge for utilities supplied — (412,000)
Less liquidated damages, milestone 14 days late — (350,000)
Net payable — SAR 20,121,599

The retention and advance lines are the mechanics set up at contract award, recovering themselves automatically. The back-charge and the penalty are not arithmetic but judgement — so each exists as its own approved record with a reference, not as an unexplained deduction.

A SAR 101.3 million claim has become a SAR 20.1 million payment, and every step between the two is visible.

The certificate becomes a payable — and enters the approval queue

Certification is not payment. The certificate now needs approval, and it joins every other pending decision in one queue.

NetSuite approval queue for construction showing pending requisitions, certificates, and payment runs with age and SLA status
One approval queue for every record type, routed by transaction type, amount, and cost category — with age and SLA status showing what's overdue and self-approval blocked by default.

Routing is automatic, driven by transaction type, amount, and cost category — a certificate above a set value picks up the CFO without anyone assigning it. Self-approval is structurally blocked. Every rejection carries a written reason.

This is also where a small finance team gets an honest answer on segregation of duties. Five people cannot fully separate requisition, approval, posting, and payment. What they can do is enforce the boundaries that matter — the preparer never certifies, the certifier is external, payment needs two releases — and have every one of them logged as a compensating control an auditor will accept.

Payment day: the control that stops the money on its own

The bill is approved and enters the payment run. It does not go out.

NetSuite maker-checker control holding payments during a pending vendor bank detail change for a construction contractor
A pending vendor bank detail change. Payments to the vendor are held automatically from the moment the request is raised, and release requires two independent checkers to review the supporting evidence.

Four days earlier, someone requested a change to this contractor’s bank account details. The moment that request was raised, every payment to that vendor froze automatically — and it stays frozen until two separate checkers verify the supporting evidence.

NetSuite multi-currency payment run for construction with a held payment and realised FX difference
A multi-currency payment run with realised FX recognised at settlement. The largest payment in the batch is excluded automatically because the vendor's bank change is still awaiting its second checker.

So the largest payment in today’s run — SAR 23.1 million including VAT — did not move, and no human being decided that. The rest of the run releases, across three currencies, with realised FX recognised at settlement. Releasing the run itself needs two people: one prepares, another releases.

Vendor bank detail fraud is the most common way money leaves a construction project and never arrives. The control is not the approval. The control is that the payment stops by itself while somebody thinks about it.

Meanwhile: the same discipline on a SAR 2.6 million purchase

Not everything is a certificate. Alongside the main contract, an engineer orders laboratory equipment — and the same logic applies at a fraction of the value.

NetSuite three-way match failure blocking a construction vendor bill over a quantity and price variance
A three-way match failure: 10 units received against 12 invoiced, at a rate above the purchase order. With a SAR 392,000 variance unresolved, the option to send the bill for payment approval isn't available on the record.

The budget was checked when the requisition was raised, not when the invoice arrived. Then twelve analysers were ordered, ten arrived with a carrier damage report, and the invoice came in for twelve at a higher rate than the purchase order.

SAR 392,000 of variance, caught by arithmetic rather than by someone happening to look. And there is no button on the record to send it for payment. The wrong outcome isn’t discouraged; it’s unavailable.

Month end: everything lands in one place

The certificate posts. So does the equipment milestone, the owner’s engineer fee, and the capitalised interest on the facility.

NetSuite capital work in progress roll-forward for a construction project including IAS 23 capitalised borrowing costs
The CWIP roll-forward. Every certified cost, milestone, and capitalised borrowing cost accumulates period over period until commercial operation transfers the balance to the fixed asset register.

During construction the project isn’t running a profit and loss — it’s building an asset. Every certified cost accumulates in capital work in progress, including borrowing costs capitalised under IAS 23. At commercial operation the whole balance transfers to the fixed asset register in one controlled move, rather than two years of spending being reconstructed from memory.

The period then closes against a checklist with named owners and due dates, and cannot be locked until every task is signed off — which is what stops a late entry landing in a month already reported to a lender.

Back to the auditor’s question

Three figures on the dashboard moved this month, because one certificate was certified.

NetSuite project cost control dashboard showing approved budget, committed value, certified-to-date, retention held, and advance outstanding
The project cost control dashboard: budget, commitment, certification, retention, and advance shown as a live position that updates on approval, with an exceptions panel naming who owns each open item.

Now take the number the lender asks about and follow it down. The figure in the lender report. The CWIP line behind it. The certificate that produced it. The line on that certificate. Who certified it, when, and why the claim was reduced. And finally the contractor’s own submission, still attached.

Six steps. Not six days.

That is the difference between auditability as a property of the system and auditability as a project someone runs every March. Every control in this article exists for that one reason: budget, commitment, certification, and payment are linked records — so the story of where the money went is already written down, and nobody has to write it from scratch under pressure.

Frequently asked questions

What is an interim payment certificate (IPC)?

The document that certifies how much contract work has actually been completed, measured against priced bill-of-quantities lines rather than the contractor’s claimed total. Retention, advance recovery, and deductions are applied to it to reach the net payable.

What is the difference between committed and certified?

Committed is money promised the moment a contract or purchase order is approved. Certified is work that has been measured and accepted. Committed comes first, often by months.

What is retention in a construction contract?

A percentage of every certified payment withheld as security, typically 5%. Half is usually released at practical completion, the rest after the defects liability period.

What is advance payment recovery?

Repayment of the upfront mobilisation advance, deducted pro-rata from each certificate until the full advance is recovered. It happens automatically rather than being calculated by hand each month.

What is a three-way match?

A comparison of the purchase order, the goods receipt, and the vendor invoice. If quantities or rates don’t agree, the bill cannot be sent for payment until the variance is resolved.

What is maker-checker on vendor bank details?

A control that freezes all payments to a vendor the moment someone requests a change to their bank account, releasing only after two separate approvers verify the supporting evidence. It targets the most common construction payment fraud.

Why is an extension of time recorded separately from cost?

Because entitlement to more time is not entitlement to more money. Keeping them as separate records preserves both arguments if either is disputed.

What is CWIP in construction accounting?

Capital work in progress — the balance where every certified cost and capitalised borrowing cost accumulates during construction, transferring to the fixed asset register at commercial operation.

Can a five-person finance team segregate duties properly?

Not completely. But the boundaries that matter can still be enforced and logged — preparer never certifies, certifier is independent, payment needs two releases — which is the compensating-control argument auditors accept.

How long does a NetSuite construction implementation take?

It depends mainly on three things: the depth of the cost breakdown structure, the approval matrix, and the opening positions of contracts already in flight. Those are scoping questions rather than product questions.

Planning a NetSuite implementation for a construction or contracting business? The decisions that matter most are cheapest to get right before build starts. Talk to an Azdan advisor about a scoping workshop.

Hue Hue
Get Started

Ready to Strategize 
Your Next Move?

Let’s talk about your next milestone
Mora Fahmy, Solutions Advisor at Azdan
Mora Fahmy
Solutions Advisor