
Purchase Tender & Bid Scoring
Put every vendor's quotation for a purchase agreement side by side, score them on price, delivery and quality with your weights, and award.
Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_tender.
Purchase Tender & Bid Scoring
Odoo's purchase agreements let you send one requisition to several vendors and collect a quotation from each. What they do not do is help you choose — the quotations sit in a list, and comparing them is a spreadsheet somebody rebuilds every time.
Score on more than price
Each quotation is scored on three things, not one:
Price — the cheapest quotation scores ten; one at twice the price scores five. Relative to the best offer in the field, which is the only comparison that survives three very different bids. Quotations in different currencies are converted to your company currency first, so the vendor in the weakest currency does not win on the nominal number; and a one-cent poison bid is not allowed to become the benchmark that sinks everyone else.
Delivery — the earliest promised receipt scores ten; a slower one loses points in proportion.
Quality — a mark out of ten you give the quotation for everything price and speed do not capture: reliability, spec, terms.
Each carries a weight you set on the agreement — 60/30/10 by default, because the cheapest is not always the one you award, and a critical part weighs delivery more than a cheap consumable does. The weights are relative: 60/30/10 and 6/3/1 rank the same.
The quality mark starts at a neutral five, so a quotation nobody has judged sits in the middle — and a buyer who types a zero has said "worst" deliberately, which counts.
See them side by side
Compare opens every quotation on the agreement in one list: the total, the promised date, each score, the weighted total and the rank — sorted best first. The winner is obvious, and the runner-up is the next row down for when the winner falls through.
Award in one click
Award this quotation marks the winner and cancels the agreement's other draft quotations together — each with a note saying which quotation won and its score, the audit trail a buyer needs when a vendor asks why they lost. A quotation already confirmed is left alone: awarding is a decision made before anything is ordered, not a way to unwind a purchase.
What it does not do
It does not change how quotations are created or confirmed — it scores the ones already on the agreement.
It does not send the requisition or collect the quotations for you; that is Odoo's own purchase-agreement flow, unchanged.
If every quotation's promised date is already in the past when you score, delivery cannot be measured; its weight is spread over price and quality rather than silently zeroing the ranking.
Screens


