v 11.0 v 12.0 Third Party 3806
Download for v 11.0 Deploy on Odoo.sh
Lines of code 3643
Technical Name formio
Also available in version v 15.0 v 13.0 v 12.0 v 14.0
You bought this module and need support? Click here!
Lines of code 3643
Technical Name formio
Also available in version v 15.0 v 13.0 v 12.0 v 14.0

Form Builder & Forms integration

Build easy-to-use, professional and versatile Forms to integrate and collect any information you need for your business.

Compatible with Enterprise and Community

  • A powerful "Drag and drop" Form Builder in Odoo.
  • Start Building Forms in Odoo.
  • Configure and manage Form Builders in Odoo.
  • Show and open Form Submissions in Odoo.
  • On-premise hosting and storage of data (form builders/designs, submissions). So you're under control!
  • After installation of this module you can start right away with building and publishing forms.
  • No extra installation and setup requirements are needed.
  • Translations: Easy management of translations and translatable terms.
  • Provide Form-fields with data from Odoo. For example: a selection/dropdown field where choices are Odoo Products, filtered by some product-category.
  • Open source, so contributions are welcome.

Visit the online Demo (Odoo Community v13)


Users (Email / Password)

  • demo / demo
  • portal / portal

Form Builders

Manage, configure and store in Odoo

List Form Builders

Edit Form Builder (Odoo record)

Form Builder

Forms & Submissions

Start with Form (from Odoo or by hyperlink)

Form (to fill in)

List Form Submissions (Odoo kanban/list of records)

A Form Submission (Odoo record)



  • Correct misunderstanding, leftover names regarding the formio.js library.


  • Fix: Issue in Form (form-view) searching Builder(s) really didn't worked properly.
    Technical details:
    This change addresses the formio.builder, adding the search method for the computed field display_name_full which is used as _rec_name.


  • Fix: Forms should be accessible when user belongs to both groups: User: Assigned forms and User: All forms
    Group User: All forms takes precedence over User: Assigned forms.


  • In the create Form (form-view) by default provide only Form Builders without Resource-model in the Form Builder drop-down field.
    Specific modules extend this (domain) filter to add appropriate Form Builders related to the (active) Resource-model - e.g. formio_sale, formio_stock.


  • Improvement: ETL Odoo (resource) data into Form, requires to bypass access control on the target/resource model.
    (Use sudo here).


  • Basic setup to deploy/share public Forms, by a setting (checkbox) in Form Builder.
  • Implement sequence field in Form. Usefull when storing and listing forms in an ordered way.
  • New setting (in Form Builder) which instructs the Form whether to show/hide the UUID in Form footer.
  • Store those show/hide setting fields in the Form, instead of joining its relational Builder value (in readonly mode).
  • Improvements in tree/list and form views regarding Form and Builder.


  • New setting (in Form Builder) which instructs the Form whether to show/hide the Title.
  • Moved the Form Title from the main HTML-document into the embedded document (iframe).
    This improves the embedded Form experience.


  • New settings (in Form Builder) which instructs the Form whether to show/hide some metadata: Assigned user, Submission user & date, ID, State.
    The default is to show all these metadata fields (for backwards compatibility and no data migration needed).
  • Import formio.js version 3.x assets and bootstrap (CSS) instead of CDN.
  • Fix silly Javascript bug: _.extend (underscore.js ain't loaded here). Use jQuery extend.
  • Add help text regarding issue with (formio.js) and view_as_html setting select component rendering error in viewAsHtml model #1545


  • Add formio.js v4.9.26 assets https://github.com/formio/formio.js/releases/tag/v4.9.26
  • User in group "Forms Admin" can edit the Form it's submission data, for a new Form (if ain't stored).


  • Don't override provided vals in formio.form function _prepare_create_vals().


  • New feature: ETL Odoo (resource) data into Form.
    Supported fields:
    • Scalar fields e.g. Char, Text, Integer, Boolean, Date, Datetime
    • Many2one field (load it's leaf/scalar field)
    • One2many field, supported by formio.js Datagrid component
    (documention and examples shall be added soon)


  • Optional configuration to allow specific User Group(s) to force update of a Form state field (draft, complete, cancel) e.g. by buttons. Feature request: https://github.com/novacode-nl/odoo-formio/issues/36


  • Fix portal iframe (height) resizing issue.
    Issue report: https://github.com/novacode-nl/odoo-formio/issues/35


  • Changed the way Resource Fields are determined and stored. Not by dependent/computed fields anymore, which caused all kind of troubles.
    Affected fields: res_name, res_info, res_act_window_url and res_partner_id.
    !! CAUTION, BEFORE UPGRADE: Test first and be sure all Forms data (regarding these fields) has been migrated properly.


  • Form Builder layout improvements: full width, remove horizontal scrollbar.


  • Fix (workaround) to solve form height-resizing issues.
    Issue report: https://github.com/novacode-nl/odoo-formio/issues/20


  • Add formio.js v4.9.23 assets.
  • Remove formio.js "latest" version (CDN URLs). Requests from CDN caused time-outs.


  • Odoo formio view types for Builder and Form. Finally one can switch view types (form, formio) within the window action.
  • Moved the so-called Form dock (info bar) into the iframe. This updates the info on a (iframe) window reload.
  • Remove the submit done url implementation, which is useless in a backend usage/context.
  • Other improvements and simplification.


  • Extend formio.form create methods with _prepare_create_vals method, which in turn specific modules could call to assign field vals.
  • Fix method compute_res_fields which stores fields regarding the resource model (made possible by change in former point).


  • Computed fields regarding resource model: Store res_name and res_partner_id. Change dependent compute method.
  • Add (related) field submission partner.


  • Change URLs and controllers FROM /formio/form/<action>/<string:uuid> URLs TO /formio/form/<string:uuid>/<action>. This solves issues regarding relative URLs from a Formio Javascript perspective (components). The UUID was stripped by the formio.js Javascript client API.
    Should solve: https://github.com/novacode-nl/odoo-formio/issues/11
  • Remove 2 legacy (obsolete) controller methods for routes: /formio/form/<string:uuid> and /formio/builder/<int:builder_id>


  • Prevent Javascript clashes between Odoo and formio.js. Hence remove all Odoo Javascript (assets) loading in the iframe.
  • Add and load standalone JsonRPC client.


  • Portal: Improved (refactored) controller layout values method.
  • Portal: form buttons now keep query-params.


  • Demo Builder: Save as Draft (button).
  • Form update to Draft fix (workaround). Remove submission_data['submit'].


  • Include and serve the formio.js library assets (JS, CSS) within the module. Don't use CDN anymore.
  • Click button to display the Form Builder in Full Screen.


  • Portal: Improved (refactored) controller layout values method.
  • Portal: form buttons now keep query-params.


  • Rename (consistency) Builder form-view id/ref: from view_formio_builder to view_formio_builder_form.


  • Possible "Resource model(s)" needs to be registered from sub-modules e.g. formio_sale. Just choosing from all models is useless and confuses the user about its functionality.


  • Form embedded in iframe. This avoids clashes (Javascript and CSS) between Odoo and formio.js
  • Redesign of view templates


  • Search filters on Form Builder and Forms.
  • Assign a user (owner/author/designer) to a Form Builder.


  • Change default forms view to list.
  • Improve forms kanban to group by state.


  • Form Builder versioning. Also create a new Builder version-record (from existing one).


  • Form Builder states: Draft (in design), Current (published) and Obsolete (unpublished).


  • Redesign of Builder and Form templates. A simplification and improvement.
  • Hopefully fixed enough styling issues due to Bootstrap 4 VS 3 presence (Odoo, form rendering) and differences.
  • Other small improvements


  • Include new formio.js versions and assets (3.27.3, 4.0.8)
  • Add recommendation into the description of the "latest" formio.js version.


  • Translation system for Form labels, placeholders etc.
  • Language selector on Form.


  • Simple form wizards.


  • Access-check improvements.
  • UI improvements.
  • Dutch translations.


  • Dropdown button in Portal, to add and fill-in new Form(s).


  • Form state (Pending, In Progress, Complete, Canceled).
  • Form is readonly if state is Complete or Canceled.


  • Form invitation mail.
  • Improvements regarding form assignment (user filter).


  • Portal User can use forms.
  • Restrict access to assigned forms (Portal User, Internal User).


  • Translations system to manage the translatable terms and load into the form.


  • formio.js (library: JS, CSS) version management and loading.


  • Initial version

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.