BFBambooForge Labs

Form Builder Suite: Web Form to Quotation

Turn a website form into a draft quotation: lines picked by the visitor's answers, quantities from their numbers, a price list and a seller.

Buy on the Odoo Apps StoreOpen the live demoWebsite€266Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_form_quote.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0
Full walkthrough on a live Odoo 19.0 database, with subtitles. It ends with what this app deliberately does not do.

Form Builder Suite: Web Form to Quotation

An add-on for BambooForge Form Builder with Odoo Sales (17.0). A public form becomes a draft quotation - lines picked by the visitor's answers, quantities from their numbers, a price list, a salesperson - and, if you say so, sent on the spot.

Set it up on the form

Form Builder ▸ Forms ▸ your form ▸ Quotation tab.

  • Quotation: No quotation / Create a draft quotation / Create and send the quotation (Odoo's standard quotation e-mail, and the order goes to Quotation Sent).

  • Always add: a product put on every quotation from this form - the service itself, a setup fee. Optional.

  • Price list, Salesperson, Sales team - written on the quotation.

  • Rules, read in order; every match adds a line:

    • When field - a field of this form.

    • equals a choice (dropdown / radio / text, case-insensitive), is ticked (checkbox), is filled in (anything non-empty).

    • Add product - the product (pick the variant you sell).

    • Fixed quantity, or Quantity from a number field - the number the visitor typed (a zero or empty number adds nothing).

    • Price - leave 0 for the price list / product price; set to override.

    • Note - appended to the line description.

A form with a quotation mode needs at least one rule or an Always add product; it is refused otherwise.

What the visitor's submission becomes

When the submission is complete - received, or paid when the form takes payment - the bridge builds the quotation for the contact Form Builder found or created by e-mail (no e-mail → no quotation: no contact on the submission). Lines from Always add and every matched rule; the form's name as Source document; the submission as Customer reference; every answer in the quotation's Terms and conditions / note, so the rep reads the context before calling. The submission shows the Quotation and a one-line note (draft quotation, quotation sent, no quotation: no rule matched, …); the quotation shows From form submission and From form, and the quotations list has a From a form filter.

A quotation failure never fails the visitor: it is logged and written on the submission.

Honest about limits

  • Options and variants are products - pick the variant you sell; no configurator.

  • Prices come from the price list or the rule's override; no multi-currency arithmetic beyond what the price list does.

  • No optional products, no online signature step - the quotation is Odoo's; everything Sales does next still applies.

Technical notes

  • Uses Form Builder 1.3.0's _after_submit() hook; Sales' standard sale.order create and sale.email_template_edi_sale.

  • sale.order.bf_submission_id (set null on delete) and bf_form_id (related, stored) for reporting.

  • Community only. Needs the Sales app; no Enterprise module.

Screens

Quote - bambooforge_form_quote
Quote
Rules - bambooforge_form_quote
Rules
Submission - bambooforge_form_quote
Submission