Offer PosMasr Cloud: the first year 20% off with the code · the licence at launch prices until 15 October See the offer →
← Blog

Billing a project: milestones, progress, time — with retention, advances and the margin

Contract work is billed in pieces: an advance at the start, a bill at each stage or each month, a retention the customer keeps until handover, and the advance taken back bit by bit. That is where the spreadsheets come from — and the mistakes. In Projects, PosMasr Cloud works each invoice out from the contract, shows it in a preview, and keeps the margin of every project and phase in sight.

A project invoice with the retention and the advance taken off

Five kinds of invoice

KindWhat it billsRetention and advance
MilestoneA phase's milestone amount (once), or an amount you typeRetention held, advance recovered
ProgressThe contract × the % complete, less what progress invoices billed beforeRetention held, advance recovered
Time and materialsApproved billable hours × the billing rate, plus billable costs × (1 + markup), not billed yetRetention held, advance recovered
AdvanceAn amount you type (all advances together at most the contract)—
Retention releaseWhat the work invoices held, less what was released (or a part you type)—

Net = the gross − the retention − the advance recovered. By default the advance comes back in proportion to the work billed (the advances × this gross ÷ the contract), never more than what is left of it. Milestone and progress invoices together never pass the contract.

An example, invoice by invoice

An example with round numbers, before VAT: a contract of 400,000 EGP billed by progress, a retention of 5 % and an advance of 80,000 EGP (20 % of the contract).

InvoiceGrossRetention 5 %Advance recoveredNet
1 · Advance80,000——80,000
2 · Progress 25 %100,0005,00020,00075,000
3 · Progress 60 %140,0007,00028,000105,000
4 · Progress 100 %160,0008,00032,000120,000
5 · Retention release20,000——20,000

Invoice 3 bills 60 % of the contract (240,000) less the 100,000 already billed by progress; 5 % of 140,000 is held; and 80,000 × 140,000 ÷ 400,000 = 28,000 of the advance comes back. At the end the nets add up to the contract, the advance is fully recovered, and the 20,000 held waits for the release — the shop decides how many days after the project is done it falls due, and the owner is alerted then.

A project invoice with the retention and the advance taken off

What % to bill? The tasks suggest one: the estimated hours of the tasks done over all of them (a task without an estimate counts one hour). You can type your own; a % not above what was billed bills nothing.

Time and materials

For maintenance contracts, agencies and changes outside the contract. Another example: in a week the team logged 42 approved billable hours at a billing rate of 250 EGP (10,500), and billable costs of 3,000 EGP with a 10 % markup (3,300): a time-and-materials invoice of 13,800 EGP gross, with the retention and the advance as above. The hours and cost lines it billed are marked, so the next invoice never bills them again; time not approved yet waits.

Preview, and never twice

  • Preview shows the gross, the retention, the advance recovered, the net and the VAT before anything is issued.
  • A double click or a lost connection never makes two invoices: the same request finishes the same invoice, and two invoices can never bill the same hours.
  • A billed milestone keeps its amount and cannot be removed; approved time is locked.

Through Books, or the customer's account

  • With Books on: each project invoice is a Books tax invoice, numbered by Books (INV-000123), with the project's number as its reference and the retention and the advance recovered as its discount — so the VAT is on what is billed now (the standard code when the shop charges VAT). Payments are Books receipts, and the project reads what Books says is paid.
  • Without Books: the invoice is a charge on the customer's account with the shop's VAT added, and payments (cash, bank, card, cheque) are recorded on the project's page and settle the account.

Budget against actual, and the margin

Revenue is the gross of the work invoices (an advance is not revenue). Costs are the lines by kind — expenses, materials, supplier bills, subcontractors, others — plus labour, every hour not sent back at the cost it carried. In the example, if the job cost 150,000 in materials, 120,000 in labour and 60,000 in subcontractors, the project shows a margin of 70,000 EGP, 17.5 %. The same figures show per phase, against each phase's budget.

The Projects list totals every project, counts the late and over-budget ones, and downloads as CSV or Excel for your accountant.

Alerts and Ask your shop

  • Owner alerts: approved billable time not invoiced for 30 days (you set the days), retention due after a project is done, a project over budget, a project past its due date.
  • Ask your shop: “how are my projects” answers with the budget used, the margin and the retention held.

Which plans include it

EditionProject invoices
PosMasr CloudPart of Projects: included in Business and Chain (with Books); an add-on for Shop at 300 EGP a month (invoices on the customer's account). The 14-day trial has it.
The program on your PCNot included

Quick answers

Can I type the advance to recover myself?
Yes, on each invoice; by default it is in proportion, and never more than what is left of the advances nor than the invoice leaves after the retention.

Can retention be more than 50 %?
No: Settings → Projects takes up to 50 %; each project keeps its own %.

Is the VAT right on a retention release?
The release is its own invoice, with its own VAT; the work invoices carry VAT only on what they billed after the retention and the advance.

Is this an e-invoice for the Tax Authority?
No. It is a Books tax invoice (or a charge on the customer's account); nothing is sent to the Tax Authority from Projects.

Let the invoice do the arithmetic

Start the 14-day trial of Business, no card: Projects and Books are in it. Put a running contract in, preview its next invoice, and compare with your spreadsheet.

First year 20% off every plan and add-on — with the code

Start the free trial — 14 days See the online demo

Try PosMasr Cloud free for 14 days

Sign up in a minute, pair your till with a 6-digit code and start selling — every feature of the Business plan, no card needed. Then the first year is 20% off with the code AHLAN20, whichever plan you pick.

The discount code: