Form Builder & Forms version: 18.0.9.4
Enterprise-grade forms, simple to complex.
Drag & drop to start, extend with Server Actions and Simple APIs when requirements grow.
One form. Everywhere: backend, portal, website and embedded
Important Notice
In Odoo 19.0, the Form Builder and Form engine is replaced by the SurveyJS engine.
For Odoo 19.0, this provides a hybrid implementation that supports both engines.
For an initial purchase, we recommend upgrading to Odoo >= 19.0
Contact us for more information.
Upgrade to 19.0 - Powered by
https://surveyjs.io/partner-solutionsCompatible with Enterprise and Community
No-code form building Skip weeks of custom development, at a fraction of the cost.
Unlimited
Unlimited form builders, forms, submissions and users — all included in one license.
No tiers, no usage caps, no per-response fees.
Data stays in the Odoo database Retain full control over storage, privacy and compliance.
Upgrade-proof by design.
Form Builder and Forms migrate seamlessly — stored as JSON, compatible across Odoo versions.
From Odoo 20.0, Form designs use the new SurveyJS format, with a guided migration path.
Server Actions and API logic may need review on major upgrades.
The data-intake layer for Odoo
Most form tools collect your data somewhere else, then leave you to bridge it back — exports, Zapier, manual re-keying.
Nova Forms (by Nova Code) is built the other way around: forms live inside Odoo, and every submission becomes a clean record in your own database — automatically.
Customize without touching core Odoo
Many custom fields and logic don't need to live in core Odoo. When a form can capture them and link straight to the Odoo record, you keep the core clean and upgrade-friendly.
Move that customization into no-code, upgrade-safe forms where it fits: less custom development where you don't need it, fewer regressions, lower cost.
And if you ever need those custom Odoo fields or logic, you can add them later and populate them from (existing and new) form submissions.
One-time, not monthly.
A monthly subscription elsewhere — one-time here
One license — per production database & per major Odoo version.
Staging and development copies included.
Everything included
| Build & design — no code needed | |
| 20+ field types & logic |
Build anything from a quick contact form to a complex multi-page survey — no limits.
• 20+ field types:textfield, select (dropdown), datetime, data grid, file upload and more. • Conditional logic (show/hide, skip, branching), validation, calculated values and data grids & edit grids. • Form designs are formio.js JSON — portable and upgrade-proof, never locked in. |
| Form Builder |
Design forms visually — no code, no developer needed.
• Powerful drag & drop Form Builder (formio.js) packed with features. • Every form design lives safely in your Odoo database as a form builder record. |
| Themes & Styling |
Make every form match your brand — CSS required.
• Pick from your themes or create and save new themes. • Customize background, colors, fonts and appearance. • Apply a theme across one or more Form Builders. See the Themes & Styling section below for examples. |
| Highly configurable |
Tailor every form to your needs — all from the Form Builder, no code required.
• Publish to backend, portal, website or embedded on a 3rd-party site. • Post-submission redirect, reminder rules and more — per form. • Sensible defaults out of the box — fine-tune only what you need. |
| Publish & use everywhere | |
| Forms — build once, use everywhere |
Build a form once — publish and use it everywhere, with every response stored in Odoo.
• Create, deploy, publish and share a form: internally, portal, website, embedded on a 3rd-party website, by email or a hyperlink. • The same form works everywhere — backend, portal, website and embedded — build and maintain it just once. • Assign forms to a (portal) user and send an invitation by mail. • View a submission anywhere (backend, portal, website, embedded), where access allows. • All submissions are stored in your Odoo database as form submission records. |
| Website — Drag & drop Form block (snippet) |
This requires the Forms • Website Snippet module:
https://apps.odoo.com/apps/modules/18.0/website_formio_snippet
A redirect after submission can also be configured. |
| Embedded Forms — on external websites |
• Embedding a Form on an external website is just a copy/paste of a HTML snippet.
• A redirect after submission can also be configured. |
| Multilingual & Translations management |
• Forms and Builders are multilingual.
• Language-switch buttons are automatically available in the form and form builder. • Manage custom translations (e.g. labels, select choices, buttons) in the Form Builder. • The default language is determined and automatically determined by: website or logged in (portal) user. • If the website is enabled, the language (translations) also react upon the website language-switch. |
| Integrate & automate with Odoo | |
| Odoo apps |
Connect Forms to the rest of your Odoo — the possibilities are unlimited.
• Integrate with any app: CRM, Helpdesk, Sales, HR, Inventory, e-commerce, Website and more. • Ready-made integration modules to get you started — explore them via the "Nova Code" author link at the top. |
|
• Create or update (upsert) Odoo records from a Form submission, by simple configuration in the Form Builder — no code. • Map form fields onto a target model's fields; match an existing record (upsert) or always create a new one. • Dropdowns map to Many2one (incl. relation lookup), and Dynamic Matrix / Panel rows map to One2many child records. Examples: • Create or update a Contact (res.partner) from a registration form. • Create a CRM Lead and link it to the Contact created by an earlier mapping. This requires the Forms • Components API module:
https://apps.odoo.com/apps/modules/18.0/formio_components_api
Note: from Odoo 20, this will be included in this (formio) module. |
|
| Server Action(s) to process a Form submission |
• Until Odoo 18.0 — Server Actions can be implemented to process Form submissions (also in Odoo 19.0 and later for advanced cases). • From Odoo 19.0 — Record Mappings functionality, to create or update records upon form submission. See also the section about Server Actions below. Form submission fields (values) can be read and used as fields for an Odoo model record. Examples: • Create a CRM Lead • Create a Helpdesk Ticket • Create or update a Stock Picking (receipt, delivery) • Create a Sign Request document with some placeholders pre-filled by form fields and email the Sign Request link. • Email a PDF report (QWeb generated) from the form submission data. |
| PDF Report Generation |
Generate professional PDF documents from Form submissions out of the box — no code, no developer needed.
• Works on Odoo's native QWeb report engine — full control over layout and branding. • Print or email the generated PDF automatically on submission. • Ideal for confirmations, registrations, certificates and more. • Two report variants included — generate the PDF in the logged-in user's language & locale, or in the partner's language & locale from the form record. This requires the Forms • QWeb Reports module:
https://apps.odoo.com/apps/modules/18.0/formio_report_qweb
|
| Field APIs — pre-fill, change, domain |
Connect form fields to live Odoo data through a set of server-side APIs — available and configurable right in the Form Builder.
• Pre-fill — load and populate field values from Odoo records or any custom source. • Change — react to a field change and update other fields in response. • Domain — filter the choices of a select/dropdown field dynamically. Examples: • For a logged-in portal user, populate form fields with company (parent) details, address, invoices or shipments. • Filter a product select/dropdown by product category or attributes. • On selecting a product, update price, unit or description fields automatically. This requires the Forms • Components API module:
https://apps.odoo.com/apps/modules/18.0/formio_components_api
Note: from Odoo 20, this will be included in this (formio) module. |
| Your data, your control | |
| Full control and data ownership, privacy and compliance | All data is stored in the Odoo database (form builders, form submissions etc). |
| Built for autonomy — no lock-in by design |
• Form designs and submissions are stored as formio.js JSON — portable to any system that speaks formio.js software. • Migrate them to another formio.js-based stack whenever you choose. |
| Unlimited |
• Unlimited form builders, forms, submissions and users — all included in one license.
• No tiers, no usage caps, no per-response fees. |
| JSON data |
• A Form Builder (design) is stored as JSON data in the schema field of a form builder record.
• A submitted Form (input data) is stored as JSON data in the submission field of a form record. |
| Fast to deploy, runs anywhere | |
| Hosting types | Works on Odoo.sh, Cloudpepper, or the Linux hosting of your choice. |
| Installation (app/module in general) | After installation you can start right away. No extra technical requirements or setup. |
| Installing and upgrading formio.js is simple and fast | Upgrade formio.js package when a new version is available, by just a few clicks. |
| Future-proof & trusted | |
| AI-ready |
Future-proof by design — built to grow with AI.
• Forms and submissions are structured JSON — easy for AI to read, generate and process. • Data lives in standard Odoo models — AI-readiness as Odoo's AI features grow. |
| Upgrade-proof by design |
• Form Builder, Forms and related data migrate seamlessly — stored as JSON, compatible across Odoo versions. • Custom API and Server Action logic may need review on major upgrades. |
| Quality control | Backed by a comprehensive suite of 150+ unit tests, safeguarding stability and reliability — and compatibility across Odoo versions. |
| Nova Code is EU-based | Nova Code is an EU company. |
| Developer Friendly |
• Extend, customize the Forms modules.
• Develop additional Forms modules. • Develop custom Form fields (questions) e.g. AI prompt, QR-code scanning, map etc. |
| We also open source |
We provide an open source Python package, used in some of the modules, that parses and transforms formio.js schemas and Form responses into usable Python objects. Explore the source code or contribute on GitHub: https://github.com/novacode-nl/python-formio-data
|
Form Builders
Configure and design
Form Builders
Form Builder Configuration
Form Builder
Forms & Submissions
Create or share a Form: internal, website, portal, by email or a hyperlink
Form: Pending
Form: Completed
Form: Submission form-view
Form Submissions
Server Actions
A Server Action can process a Form submission.
For example, to integrate the form data with other Odoo apps (modules), create a helpdesk ticket, CRM Lead or other requirements.
Form Builder - Server Actions (button)
Server Action - Code
Server Action - Help
Contact Us
Have a question, or want a live demo (video call) or module recommendations?
For advanced form building and integrations to support, training and best practices.
Get in touch via our Contact Form
https://www.novaforms.io/contact
Request a Demo
Click the "Live Preview" button at the top of this page, to open our contact form.
Highly recommended additional modules
The Forms app (formio module) is already included when you purchase another module (see modules below), which saves costs.
| Name | URL | Components API |
https://apps.odoo.com/apps/modules/18.0/formio_components_api/
Note: from Odoo 20, this will be included in this (formio) module. |
|---|---|
| Website Snippet |
https://apps.odoo.com/apps/modules/18.0/website_formio_snippet/
|
| Contacts |
https://apps.odoo.com/apps/modules/18.0/formio_partner/
|
| CRM |
https://apps.odoo.com/apps/modules/18.0/formio_crm/
|
| Helpdesk |
https://apps.odoo.com/apps/modules/18.0/formio_helpdesk/
|
| Filestore Storage |
https://apps.odoo.com/apps/modules/18.0/formio_storage_filestore/
|
| Theming |
https://apps.odoo.com/apps/modules/18.0/formio_theming/
|
| QWeb Reports |
https://apps.odoo.com/apps/modules/18.0/formio_report_qweb/
|
| ETL Interface |
https://apps.odoo.com/apps/modules/18.0/formio_etl/
|
| Deploy Tool |
https://apps.odoo.com/apps/modules/18.0/formio_deploy/
|
Under no circumstances we will refund the costs of the Forms (formio) modules, i.e. to try it out.
Reporting security issues
Please report a security issue by submitting the contact form:
https://www.novaforms.io/contact
Due to the sensitive nature of security issues, we ask that they not be publicly reported in this fashion.
Once you've submitted an issue via email, you should receive an acknowledgment within 3 working days.
These reports are treated with high priority, the problem is immediately assessed and solved by the team, in collaboration with the reporter, and then disclosed in a responsible manner to the known customers and users.
Depending on the action to be taken, you may receive followup emails.
License
One license — per production database & per major Odoo version. Staging and development copies included.
Contact us for multi-project, reseller and custom licensing.
What's new in version >= 19.0.10.0
The Form Builder and Form Renderer are powered by a new engine based on SurveyJS, now the default for all new forms.
SurveyJS is a better fit for modern Odoo versions, enabling richer features, better integrations and a solid long-term foundation.
The module (for Odoo 19.0) ships with a hybrid implementation supporting both engines, so existing forms keep working.
Note:
From Odoo 20.0 onward, the previous engine will no longer be supported and forms (form builders) should be migrated.
Contact us for more information.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 12302 |
| Technical Name |
formio |
| License | OPL-1 |
| Website | https://www.novaforms.io |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module
Highly recommended form builder for form integration on the portal and website
Great
offers excellent customer support, making it easy to get assistance when needed. The forms are user-friendly and show great potential for streamlining processes. I highly recommend it for anyone looking to enhance their workflow!
Super useful
Truly fantastic module, and it has already saved us so much time by making intake forms for clients. The customizations can truly be endless.
Highly recommended form builder for form integration on the portal and website
Great
offers excellent customer support, making it easy to get assistance when needed. The forms are user-friendly and show great potential for streamlining processes. I highly recommend it for anyone looking to enhance their workflow!