Skip to content

Subcontracting ​

Most of the work on a construction site is done by subcontractors: specialist companies (steel fixers, waterproofers, masons, MEP firms...) that you hire for one part of the job. The Subcontracting menu helps you choose them, tender the work to them, compare their prices, award the work and then follow them on site with work orders and back-charges.

WHO USES THIS MENU

Quantity surveyors (QS), commercial managers and procurement staff. Project managers and site engineers use Work Orders and Back-charges. The menu is ConstructionSubcontracting. On a narrow screen it is under the + button of the top bar.

How subcontracting works ​

A subcontract starts as a package: a group of BOQ items (BOQ = bill of quantities, the priced list of work items of your client contract) that you want one subcontractor to carry out. The life of a package is:

Draft→Tendering→Awarded
  1. Draft: you create the package and add the BOQ items. Each item gets a budget rate (the cost rate of your estimate), so you know what the work should cost.
  2. Tendering: you invite prequalified subcontractors to bid. Each bidder gets a bid with the same items. You type the rates they send you, then compare the bids.
  3. Awarded: you recommend the best bid and award the package. Odoo creates the subcontract (a cost contract) with the rates of the winning bid.

After the award, the subcontract is managed like any contract (see Contracts and Payment Certificates). Two extra tools follow the subcontractor on site: Work Orders and Back-charges.

BEFORE YOU START

Only subcontractors who are prequalified and whose compliance documents are valid can be invited. Set them up first: see Subcontractors and Compliance Documents.

Subcontract Packages: from creation to award ​

In this example we let the concrete works of the columns and slabs of the [ANV] Al Noor Villas - Phase 1 project to a subcontractor.

1. Create the package ​

  1. Open ConstructionSubcontractingSubcontract Packages. The list shows all packages with their budget, the subcontract created and the status. Click New.

    List of subcontract packages
    The list of subcontract packages. The New button is framed.
  2. Type the title of the package, then fill in the fields below.

    FieldWhat to enter
    Title (large text at the top)A short name for the work, for example Concrete works to columns and slabs - villas 1 to 24.
    ProjectThe construction project. It cannot be changed once tendering starts.
    TradeThe kind of work (Masonry, Waterproofing, Piling...). It helps you find the right subcontractors.
    Cost CodeThe budget line the subcontract will be charged to. 40 Subcontract is proposed.
    ResponsibleThe person in charge of the tender (you by default).
    Bid DeadlineThe last day for the subcontractors to send their prices.
    Scope tabThe scope of works, inclusions, exclusions and tender instructions.
    New subcontract package form
    A new package being filled in.
  3. Save (cloud icon). Odoo gives the package a reference such as PKG/2026/0005. Its status is Draft. The Budget is still 0 because there are no items yet.

    Saved draft package
    The saved package. Click Add BOQ Items to bring in the work items.

2. Add the BOQ items ​

  1. Click Add BOQ Items. A window opens. Click Add a line to choose items from the client contract of the project. When the project has no client contract yet, the window shows the items of the won estimate instead.

    Add BOQ Items window
    The Add BOQ Items window.
  2. Tick the items you want. You can tick a whole section (here Concrete works): all the items of the section come with it. Then click Select.

    Selecting the Concrete works section
    The section Concrete works is ticked.
  3. Check the selection and click Add.

    Selected items in the window
    The selected section, ready to be added.
  4. The items appear in the Items tab with their code, unit and quantity. The Budget Rate is the cost rate of the estimate, and the Budget of the package is the total. You can still edit, add or delete lines while the package is in draft.

    Package with its items and budget
    The package now has two items and a budget of $ 93,252.96.

3. Invite the bidders ​

  1. Click Invite Bidders. In the Bidders field, type and pick the subcontractors you want to invite. Only subcontractors can be chosen, and blacklisted ones are hidden. Click Invite.

    Invite Bidders window
    Three prequalified subcontractors are invited.
  2. If you choose a subcontractor that is not prequalified or has an expired document, Odoo stops you with a message. Either remove that bidder, or tick Allow Bidders not Prequalified if your manager accepts the risk.

    Error: subcontractor not prequalified
    Al Sahel Masonry Works is still under review and its trade licence has expired: it cannot be invited.
  3. The package moves to Tendering. A Bids tab appears with one bid per bidder, in the status Invited. The Bids smart button at the top opens the same bids. The chatter logs who was invited. You can invite more bidders later with the same button.

    Package in tendering with three invited bids
    The package in Tendering, with three invited bids.

4. Enter the prices of each bid ​

The subcontractors send their prices by e-mail or on paper. You type them into their bid.

  1. Click the Bids smart button. The list shows all the bids of the package. Click a bid to open it.

    List of bids
    The bids of the package.
  2. In the Prices tab, type the Rate of each item. Odoo computes the Amount, the Bid Total and the difference with your budget (vs Budget (%); a negative figure means the bid is below budget). Also fill in:

    • Valid Until: the validity date of the offer;
    • Technical Score: your mark out of 100 for the technical offer (experience, method, resources);
    • the Qualifications tab: the exclusions and conditions the bidder wrote in its offer.

    Then click Bid Received. The bid moves to Submitted with today's date, and its prices are locked. If a subcontractor does not want to price, click Declined to Bid instead.

    Bid form with prices
    The bid of Emirates Steel Fixing LLC with its rates, ready to be marked as received.

WARNING

Odoo refuses Bid Received when no rate is entered ("Enter the prices of ... first."). A subcontractor can bid only once per package.

Invited→Submitted→Awarded

Bids that lose become Rejected; bidders who do not price are Declined.

5. Compare the bids (bid levelling) ​

  1. Back on the package, open the Bids tab. Submitted bids get a Rank: 1 is the cheapest. You see each total, the difference with the budget and the technical score side by side.

    Ranked bids in the package
    The three bids ranked by total. Each submitted bid has a Recommend button.
  2. Click Bid Levelling to compare the bids item by item. The table shows, for each item (rows), the amount and the rate of each bidder (columns). Use it to find unbalanced rates or missing items before you choose.

    Bid levelling pivot table
    Bid levelling: amounts and rates per item and per bidder.

TIP

The bid levelling table is a pivot view: click Measures to add the budget, or the download icon to export it to a spreadsheet for your tender report.

6. Recommend and award ​

  1. In the Bids tab, click Recommend on the line of the bid you choose (usually rank 1, unless the technical score or the qualifications say otherwise). The Recommended Bid field is filled in.

    Two buttons appear:

    • Request Award Approval: when your company has an approval rule for subcontract packages, send the award to the approvers first (see Teams, Roles & Approvals). Award is hidden while the request is waiting.
    • Award: award the package now.
    Package with a recommended bid and the Award button
    Noor Al Khaleej Building Contracting is recommended. The Award button is framed.
  2. Click Award and confirm with Ok.

    Award confirmation
    Odoo asks you to confirm the award.
  3. Odoo creates the subcontract and opens it: a Cost Contract with the winning subcontractor, the same project, a Unit Rate / Remeasurement type and every item at the rate of the winning bid. It is in Draft: complete the dates, the retention and the payment terms, then click Activate (or Request Approval first if your company requires it). See Contracts.

    Subcontract created from the award
    The subcontract CON/2026/0008 with the rates of the winning bid. The smart buttons Work Orders and Back-charges appear on cost contracts.
  4. The package is now Awarded and shows the link to the Subcontract. The winning bid is Awarded; the other bids are Rejected automatically.

    Awarded package
    The awarded package and its subcontract.

GOOD TO KNOW

  • Items can only be added while the package is in Draft, and Invite Bidders needs at least one item.
  • Recommending another bid resets a pending award approval.
  • An awarded package cannot be cancelled: cancel its contract instead. Cancel on a draft or tendering package rejects its open bids; Reset to Draft brings a cancelled package back.
  • Use the filters Tendering and Awarded, and group the list by Project or Trade, to follow your tenders.

Work Orders ​

A work order is a written instruction to a subcontractor to carry out part of its subcontract: which work, where and when. It replaces the paper "site instruction" and keeps a trace of what was asked. Subcontractors with portal access see their work orders on the portal (see Portal).

Draft→Issued→Done
  1. Open ConstructionSubcontractingWork Orders and click New. You can also open the subcontract and click its Work Orders smart button: the subcontract is then filled in for you.

    List of work orders
    The list of work orders, with their subcontractor, dates and status.
  2. Fill in the form and save:

    FieldWhat to enter
    TitleWhat must be done, for example Ground floor columns - villas 1 to 8.
    SubcontractA running cost contract. The subcontractor and the project come from it.
    LocationBuilding, level, zone or grid.
    Start / FinishThe planned dates.
    Instructions (text below)Drawing references, access, constraints, inspections to request.
  3. Click Issue when the instruction is given to the subcontractor. When the work is finished, click Mark as Done. Cancel withdraws a work order that is not done.

    Draft work order
    A draft work order for Noor Al Khaleej Building Contracting. Click Issue to send it.

Back-charges ​

A back-charge is a cost you recover from a subcontractor: damage it caused, cleaning you had to do for it, materials or plant you supplied to it... Odoo deducts confirmed back-charges from the subcontractor's next payment certificate.

Draft→Confirmed→Deducted
  1. Open ConstructionSubcontractingBack-charges (or the Back-charges smart button of the subcontract). The list shows each back-charge with the certificate it was deducted on.

    List of back-charges
    The list of back-charges and their status.
  2. Click New, choose the Subcontract (a running cost contract), the Date, the Amount (must be positive) and describe what is charged and why. Save. Attach photos or the cost breakdown in the chatter.

  3. Tell the subcontractor, then click Confirm (Quantity Surveyor role needed). The back-charge is linked to the draft payment certificate of the subcontract, or to the next one you create.

    Draft back-charge
    A draft back-charge of $ 1,250.00 for cleaning concrete spillage.
  4. On the payment certificate, the line Back-charges This Period reduces the Net Amount Due, and the bill has a deduction line for each back-charge. When the certificate is certified, the back-charge becomes Deducted.

    Back-charge on a payment certificate
    A back-charge of $ 1,850.00 deducted on certificate CON/2026/0002/PC-02.

WARNING

A deducted back-charge cannot be cancelled. If the certificate is reset to draft or cancelled, its back-charges go back to Confirmed and are taken by the next certificate.

Subcontractors ​

ConstructionSubcontractingSubcontractors is your register of subcontractors: ordinary contacts with the Subcontractor box ticked. The list shows their trades, prequalification and rating. Lines in red have an expired compliance document. Use the filters Prequalified and Compliance Issue.

List of subcontractors
The subcontractor register.
  1. Click New (or open an existing contact). Fill in the company name, address, phone and e-mail as for any contact.

  2. Open the Subcontractor tab and fill in:

    FieldWhat to enter
    SubcontractorTicked: the contact appears in this menu and can be invited to tenders.
    TradesThe trades it works in (see Trades).
    Performance RatingYour rating, from 1 star (Poor) to 5 stars (Excellent), based on past jobs.
    PrequalificationNot Prequalified, Under Review, Approved, Expired or Blacklisted. Only Approved subcontractors can be invited; blacklisted ones are hidden from the invitation.
    Prequalified On / Prequalification ExpiryThe approval date and the date it must be renewed. After the expiry date the subcontractor can no longer be invited.
    Documents tableOne line per compliance document: type, number, issue and expiry dates, scanned copies.
    Subcontractor tab of a contact
    The Subcontractor tab of Al Sahel Masonry Works: under review, with an expired trade licence (red banner).

Compliance Documents ​

ConstructionSubcontractingCompliance Documents lists all the licences, registrations, insurances and certificates of your subcontractors, sorted by expiry date. Use it to chase renewals.

List of compliance documents
Expired documents in red, documents expiring within 30 days in orange.
  • The State is computed from the expiry date: Valid, Expiring Soon (within 30 days) or Expired. A document without an expiry date (for example a tax registration) is always valid.
  • The document types are: Commercial Registration, Trade Licence, Contractor Classification, Tax Registration, Insurance Certificate, HSE Certificate and Other.
  • To add a document, click New and fill in the line directly in the list (the list is editable), or add it in the Subcontractor tab of the contact.
  • Every day, Odoo creates a to-do activity for the Responsible of each document that expires soon, due on the expiry date.

BLOCKING

As soon as one document of a subcontractor is expired, the subcontractor gets a Compliance Issue and can no longer be invited to a tender (unless Allow Bidders not Prequalified is ticked). Renew the document (enter the new number and expiry date) to lift the block.

Trades (configuration) ​

ConstructionConfigurationCodesTrades holds the list of trades used on subcontractors and packages (Civil and Structure, Piling, Masonry, Waterproofing, HVAC...). The list is editable: click New to add a trade, drag the handle to change the order, and archive the trades you do not use. Two trades cannot have the same name.

List of trades
The trades delivered with the app.

Construction suite for Odoo 20 · Cybrosys Techno Solutions