Price, mark up, and bill your client
Finish the buy-out: self-price your own work on the Consolidated tab, set markup and preliminaries, read the roll-up and its section lump sums, resolve unbilled lines, and export a VAT-correct client bill under your own company name.
What you'll learn
- Self-price lines your own crews will deliver, from the Your rate column
- Configure markup, per-package rates, self-perform markup, and preliminaries
- Read the Consolidated tab: pricing states, section lump sums, budget against committed, unbilled lines, and the client bill preview
- Export the client bill safely and keep a permanent billing history
Tendering fills in most of the master BoQ. What is left is the work you will do yourself, the margin that turns buy-out cost into a client price, and the document your client actually receives. This guide covers that last mile: it is where the project stops being procurement and becomes your bill.
Why this matters
The client bill is the one artifact of the whole project your client sees. It has to be arithmetically right, VAT-correct, issued under your name, and it must never, under any circumstance, show what your subcontractors charged you. VEXORS enforces that last rule structurally: supplier rates cannot reach the exported document without your markup applied, or your explicit acknowledgment.
The Consolidated tab: one bill taking shape
The Consolidated tab shows the Priced Bill of Quantities: the whole project, line by whichever source currently wins, in the pricing order from the Split guide: Self-priced, then Lump sum, then Awarded, then Carried, then Best bid. Every section can be opened or closed, with Expand all and Collapse all, and each section header shows N of N priced.
The columns are Item, Pricing state, Supplier, Your rate, Budget (your own estimate for this scope), Committed (what the current winning and leading prices add up to), and Variance (budget minus committed). Three kinds of line look different from the rest:
- Section lump sums. Where the winning or leading bidder priced a section as one figure, the lines inside it read Included in section lump sum and the section carries a banner: Awarded lump sum: (supplier), Carried lump sum: (supplier), or Best lump bid: (supplier), with Raw price before markup. Nothing pretends there are per-line prices.
- Rate-only lines. These show the rate as the rate per unit followed by (rate) and are excluded from totals, with the count disclosed, because the quantity is measured on completion.
- Unconverted lines. Bids in a currency you have no exchange rate for show an Unconverted (currency) chip, totals say how many lines they exclude, and a banner offers Add an exchange rate.
Under the bill, the Budget vs committed card totals the three columns and calls the result Under budget, Over budget, or On budget. Until something is committed it says so instead of showing a variance of zero.
Self-price the work you keep
Not every line goes to a subcontractor. Structural works you self-perform, items you supply from stock, scope too small to tender: price these directly in the Your rate column with Set my rate, enter the Unit rate, and save.
- A self-priced line is closed scope: it counts as priced in the KPIs and rolls into the bill like any awarded line. On the Split tab it shows a Self-priced chip and cannot be selected for a package ("Self-priced. Clear the rate to tender this line.").
- Self-pricing and tendering are mutually exclusive per line. A line claimed by a package shows Priced via (package) in the Your rate column instead of a rate field. To tender a self-priced line, Clear rate first; the confirmation says the line returns to unassigned, ready to be tendered through a trade package.
- Self-priced rates are entered in the master currency, and you can edit them at any time (Edit your rate); the bill always reflects the current rate.
Pricing settings: markup, self-perform, preliminaries
Pricing settings in the cockpit header holds the three numbers that turn cost into price. All of them live on the master, so every package inherits consistent commercial logic.
Markup (profit)
Markup (profit) is added on top of trade costs and applies to every package unless a package set its own rate. Two refinements:
- Manage per-package rates opens Per-package rates: a different markup for individual packages (a riskier trade can carry more margin). A blank package rate means the master rate applies ("Uses the master rate, 12%"). The dialog lists every package so you always know which ones run their own number, and the master field warns you when every package overrides it and it is therefore never reached.
- Self-perform markup applies to lines you priced yourself, which customarily carry a different margin than subcontracted work. Leave it blank to use the main markup rate. Until you self-price a line, the field tells you it is not in use.
Preliminaries
Preliminaries are the cost of running the site itself: supervision, site setup, insurances (one of the concepts the construction pricing reference covers in depth). Choose one of three modes:
- Not used on this project.
- A percentage of the trade works total: the classic percentage prelims, calculated on the marked-up works.
- A section of the BoQ: itemized prelims. Choose Which section is preliminaries?, and its subtotal becomes the preliminaries block; the section is excluded from trade works so nothing is counted twice. If that section is not yet priced, the bill preview says it contributes nothing yet.
Switching between percentage and section asks Switch preliminaries mode? because it replaces your current setup, and switching to "Not used" asks Stop using preliminaries?.
What the client sees of these numbers
On the exported bill, your client sees the priced works and, if used, a preliminaries block. Percentages are your internal machinery: the client document shows amounts. Inside the cockpit, your own bill preview captions the prelims as a percentage of trade works, or as the section they come from, for your reference; the export itself carries amounts only.
Unbilled lines
When a subcontractor prices scope that was never on your master (a package line added during tendering), it would be paid for but never billed. The Consolidated tab warns Priced scope that will not be billed, the tab itself carries a badge with the count, and Resolve offers two fixes per line: Add to my BoQ creates the master line, or Link to an existing BoQ line matches it to one already there. Resolve every one before you export; the what's-next guide will keep pointing at them until you do.
The client bill preview
At the bottom of the Consolidated tab, the Client bill preview assembles the final arithmetic:
- Trade works: every line at its marked-up rate.
- Preliminaries: the percentage amount, or the designated section's subtotal.
- Subtotal, then VAT applied once on the net total, then Total.
- Terms: the text you wrote in Terms for your client on the master's Requirements step. This field is the only terms text that reaches the client document; the supplier-facing Terms & Conditions are copied into every package and never reach your client.
Exporting the client bill
Export Priced BoQ renders the bill as a document issued under your company name. Exports run in the background (Queued, then Rendering with a page count); you can keep working, and Download PDF and Download XLSX appear when rendering finishes. Exports are rate-limited per minute so a runaway click cannot queue twenty renders.
Before anything renders, the markup gate checks intent. If any priced line on the tender has no markup applied to it, the export stops with No markup is configured: the client document would show some of your suppliers' rates at cost, and exporting now would send your suppliers' buy prices to your client on those lines. You either Set a markup in Pricing settings, or explicitly choose Export at cost. That acknowledgment is deliberate and recorded; an all-blank markup is treated as "not decided yet", never as "zero percent by accident". A markup you explicitly set to zero counts as a decision.
The gate exists because the raw buy-out rate is the most commercially sensitive number you hold. If you see the warning unexpectedly, check per-package rates: one package priced without any effective markup is enough to trigger it, and that is the package whose supplier rates would have printed.
Every export lands in Billing History permanently: Version, Date, Requested by, Status, and Download, with its Net, VAT, and Gross figures, Lines priced out of the total, Self-priced lines counted separately, and whether it was the Consolidated priced BoQ or an Internal RFx filing copy. Each export is a frozen snapshot, so an older bill never changes when the BoQ does. Download links are kept for 30 days; after that the entry remains as the billing record (Download expired (30-day retention)) and you can Export again for a fresh document.
Before you commit: the commercial review
Between pricing and export, spend five minutes on the Commercial Review tab. It shows how much of the bill is priced by a real award versus a leading bid or a carried number, which packages are furthest over budget, whether one supplier holds too many packages, and which bids carry terms exceptions or rate outliers you have not resolved. It can also generate a settlement brief that reads the whole position back to you in plain language. See Review the commercial position.
Record the outcome
Once the bill goes to your client, move the project status along: Update project status with Submitted to client, then Won or Not won when they decide. Recording the outcome notifies every supplier with an awarded package (the project guide covers exactly what they see), and keeps your own records honest across the months a decision can take.
What good looks like
- Every line is priced by the strongest honest source: awarded where tendered, self-priced where kept, nothing carried on a guess, nothing left unconverted.
- Markup is set before the first export, per package where trades genuinely differ, not one blanket number nobody reviewed.
- Preliminaries are itemized when the client expects to see them itemized; percentage mode is a choice, not a default.
- Every unbilled line is resolved and the Commercial Review shows no open flags before the export.
- The billing history matches what was actually sent: one export per submission to the client, not twenty test renders on the record.
Next steps
- Review the commercial positionPricing quality, budget variance, supplier concentration, and the settlement brief.
- Award a contractAwarding a package is what commits its pricing to the master.
- Run a construction projectThe cockpit, progress states, and the outcome loop in full.
- Split into trade packagesWhere the pricing states and the roll-up order come from.
Related guides