Skip to content
العربية

Contracting Offers

Every contract in this module starts as a number somebody had to justify. The contracting offer is where that number is built: the document in which each item of work is broken into the materials, labour, subcontractors and expenses that will deliver it, the four buckets are added up, a margin is put on top, and the result is the price you put in front of the client.

That makes the offer the only place in the owner-side chain where cost drives price. Everywhere afterwards — the assay, the contract, the extract — the price is simply carried forward. Get the offer right and the rest of the chain is arithmetic.

You will find it at Contracting > Project Contracting > Contracting Offer, under licence contracting. It is a document, so it has a book, a code, an issue date and a value date. It has no contracting term options — the Document Term field is there because every document has one, but there is nothing for this document type to configure and nothing it posts. An offer creates no journal entry and moves no stock.

Our worked example is the Tower A project for Al-Fanar Development: four items of work, 200,000 of analysed cost, a 15% margin overall, and therefore a bid of 230,000 — the bid that becomes contract PC-2026-001.

The contracting offer screen

Where the offer's content comes from

An offer is rarely typed from a blank screen. Four fields at the top of the basic-information block decide how much of it arrives ready-made:

FieldWhat it pulls in
Term Sheet (كراسة الشروط)the tender bill of quantities — its whole term list, with quantities and prices
From Document (بناءا على)another offer, an assay, or a term sheet, when you are re-pricing something that already exists
Contract Template (نموذج العقد)a stored contract skeleton: term codes, standard terms and conditions
Measurements Request (طلب رفع مقاسات)the site visit whose measured quantities the offer is priced from

Below them sit the parties and the people — project, customer, responsible engineer, sales responsible, responsible employee, salesman — and the Type field that decides whether this offer, when won, becomes an owner contract or a subcontract.

The header's Contract Type (نوع العقد) has three values: Contract for the ordinary case, Addendum when the work is an addition to an existing contract (which makes the main-contract reference mandatory), and Modify To Contract when the offer is meant to revise the parent contract's terms rather than sit alongside them. The field labelled Addendum contract in English is that main, parent contract — the Arabic العقد الرئيسي says it more clearly.

The terms grid — what you are selling

The Terms grid is the bill of quantities: one row per item of work, each pointing at a Standard Term from the standard-term catalogue, which is what supplies the unit, the default rate and the accounts the eventual extract will post to. Rows form a tree through their dotted term codes, and only leaf rows carry money — parent rows are pure roll-ups, and the system zeroes them and re-totals them from their children on every save.

For Tower A:

CodeStandard termTypeUOMQuantity
1EarthworksParent
1.01ExcavationLeaf1,000
2StructureParent
2.01Reinforced concreteLeaf60
3Masonry and finishesParent
3.01BlockworkLeaf2,000
3.02PlasteringLeaf1,000

You can let the codes generate themselves — Update Codes renumbers the whole grid from scratch by walking it top to bottom, and Update Empty Term Codes Only is the safe version that fills the blanks and leaves existing codes alone — or tick Manual Terms Codes in the header and type them yourself.

Quantities do not have to be typed either. Fill count, and the length, width and height columns, and the quantity is derived: count × length × width × height, minus any Discounted Quantity you deduct for openings. Which of the three dimensions actually participates is a property of the contracting unit of measure, so a wall in m² ignores height while a slab in m³ uses all three. The dimension columns are only on screen when the module configuration asks for them.

The Work Area column is a reporting dimension: it is copied forward from the offer to the contract to the extract, and it is useful for analysis, but nothing in the module filters, prices or totals on it.

Building the cost — the four buckets

Under the terms grid sit four grids that are the heart of this document: Material (مواد خام), Workers (عمالة), Contractors (مقاول باطن) and Other Expenses (مصروفات أخري). Each line names a cost element from the direct-cost catalogue, the quantity of it consumed, and its unit cost. The four grids together are the offer's total cost.

For Tower A, this is where the 200,000 comes from:

Term 1.01 Excavation — 1,000 m³, cost 40,000

BucketLineQuantityUnit costTotal
WorkersExcavation gang200 man-days12024,000
ContractorsMachinery and hauling1,000 m³1212,000
Other expensesShoring hire4,000

Term 2.01 Reinforced concrete — 60 m³, cost 48,000

BucketLineQuantityUnit costTotal
MaterialReady-mix concrete60 m³55033,000
MaterialReinforcement steel4.8 ton1,5007,200
WorkersSteel fixers and pourers40 man-days1305,200
Other expensesFormwork hire2,600

Term 3.01 Blockwork — 2,000 m², cost 80,000

BucketLineQuantityUnit costTotal
ContractorsBlockwork subcontract2,000 m²4080,000

Term 3.02 Plastering — 1,000 m², cost 32,000

BucketLineQuantityUnit costTotal
MaterialCement and sand1,000 m²99,000
WorkersPlasterers160 man-days13020,800
Other expensesConsumables2,200

40,000 + 48,000 + 80,000 + 32,000 = 200,000, and that is what the header's Total Cost shows. Blockwork is the one term with a single line, because the whole of it is being given to a subcontractor at 40.00 the square metre — the 80,000 subcontract the cost side of these docs follows.

Two mechanisms make these grids less laborious than they look. Productivity (الإنتاجية) and Wastage % (نسبة الهالك) let you enter a norm instead of an absolute quantity: productivity is how much of the element one contracted unit consumes, wastage inflates it for breakage, and the line quantity comes out as contracted quantity × productivity × (1 + wastage %). Say a plasterer-day covers 6.25 m² of plastering, and the labour line sizes itself from the 1,000 m² above at 160 man-days; put 4% wastage on the cement-and-sand line and that one inflates to match. And two buttons fill the grids for you — Collect Contract Items From Standard Terms (تجميع بنود التكلفه من البنود القياسية) reads the standard cost recipe stored on each standard term, and Collect Sub Items Cost (تجميع تكلفة البنود الفرعية) rolls the resulting element costs back up into the term line's unit cost.

If your organisation maintains term analysis cards, the same cost model exists there as a reusable master file, analysed once per term rather than once per offer.

Turning cost into price — which direction?

This is the one thing to understand about the offer, because the document works both ways and a single checkbox decides which.

Calculate Price From Profit When Save

Tick Calculate Price From Profit When Save (حساب السعر من الربح عند الحفظ) and you type the margin; the system computes the price:

profit = total cost × profit % ÷ 100 · total price = total cost + profit · unit price = total price ÷ quantity

Leave it unticked — the default — and you type the price; the system computes the margin:

profit = total price − total cost · profit % = profit ÷ total cost × 100

For Tower A we tick the box and type each line's own Profit Percent — earthworks carry the fattest margin, the sublet blockwork the standard one, and plastering is priced keenly to win the job:

CodeTotal costProfit %ProfitTotal priceUnit price
1.01 Excavation40,0002510,00050,00050.00
2.01 Reinforced concrete48,00012.56,00054,000900.00
3.01 Blockwork80,0001512,00092,00046.00
3.02 Plastering32,0006.252,00034,00034.00
Header200,0001530,000230,000

The header's margin is the one the commercial team argues about: 30,000 of profit on 200,000 of cost, 15% overall.

The header's Price Before Discount and Total both read 230,000, and the profit columns on each line are now derived figures rather than something anybody typed.

Three header fields adjust that result. Discount Percentage / Discount takes a percentage or a value off the whole offer. Unified Lines Discount pushes one discount percentage down onto every leaf line at once, which is the usual way of giving a client "5% off everything". And Tax 1 % / Tax 2 % are pushed down to every line on save, filling the Totals block: net before tax, tax 1, tax 2, net after tax. With 15% VAT on Tower A, the offer shows 230,000 before tax and 264,500 after.

Where your organisation publishes rate cards, the contracting price list is what supplies a term's unit price in the first place, resolved by date, customer and currency — so the offer starts from the sanctioned rate rather than from whatever the estimator remembers.

The rest of the screen

Conditions (الشروط) lets you record the commercial clauses — retention, advance recovery, penalties — that will govern payment. On the offer they are documentation and a carrier: nothing on this document calculates from them. They matter because the conversion to a contract copies them, and on the contract they become live. Our Tower A offer therefore carries one condition line, Retention 10%, with every extract, so that the contract inherits it without re-keying.

Tasks (المهام) is the obligations checklist — who supplies scaffolding, who obtains the municipal permit — split into your company's tasks and the customer's. It is documentary; nothing enforces it.

Payments (الدفعات) holds the instalment plan, either typed by hand or generated: pick a Payment Template and the system spreads the amount over N instalments honouring a grace period, the payment period, a preferred day of the week and a rounding rule.

The instalment total is checked against cost, not price

If you fill in a payment template, the offer validates that the instalment lines add up to the offer's total cost — 200,000 on Tower A — not to the 230,000 the client will pay. On any offer carrying a margin the two cannot both be satisfied, so if you want the client-facing instalment plan on the offer, leave the payment template empty and type the lines, or build the plan on the contract instead, where it is checked against the total price.

Winning the job

When the client accepts, one button does the conversion. Convert Contract (تحويل لعقد) opens a new, unsaved project contract already filled in; you review it and save. There is also Convert Contract With Selected Lines Only when the client awarded you part of the scope, Convert Contractor Contract and its selected-lines twin when the offer is being turned into work you are giving to a subcontractor, and Convert to Assay (تحويل لمقايسة) when you want the internal priced bill of quantities as a separate record.

What crosses over to the contract, and what does not, is worth knowing before you press the button:

Carried overLeft behind
Project, customer, responsible engineerThe four cost-analysis grids
Price before discount, discount value and percentageTasks
Contract type and the main-contract referenceThe payment schedule
RemarksTaxes and the total cost
Source — a reference back to this offerAttachments
All term lines with their quantities and prices
The condition lines (or, if the offer has none, the term sheet's)

Two of those deserve a note. The Source reference is how the contract remembers where it came from, and it is what the contract screen shows in its Source field — so an auditor can always walk back from a signed contract to the bid that produced it. And the cost grids being left behind is deliberate: the contract carries the unit cost on each term line, which is all it needs, and the detailed build-up stays on the offer as the estimating record.

One nuance on the subcontractor conversion: whether your selling price is copied onto the subcontract's lines is a module configuration setting, so you can choose not to reveal your own rates in a document a subcontractor may see. See contracting configuration.

If the measurements request is filled in on the offer, the conversion also overwrites the responsible engineer and salesman from that request — the people who actually measured the site win over whoever was typed on the offer.