Form Builder
version: 19.0.13.1Design forms and collect responses in Odoo.
Integration built in. Every response becomes an Odoo record.
One form, everywhere:
portal,
website,
backend and
external sites
A form for every process
Inspections & site surveys Checklists Construction measurements Installation calculators Service requests Lead capture Quote requests Pricing Surveys & feedback Registration Intake Onboarding Job applications Compliance Consent & agreements and more ...
Used in energy, field service, construction, healthcare, education and more.
Works with Odoo CRM, Sales, Helpdesk, Field Service, Project, HR and more.
Forms that become Odoo records
Most form tools collect your data somewhere else, then leave you to bridge it back — exports, custom setup, another middleware or SaaS subscription, manual re-keying.
Nova Forms is built the other way around: forms live inside Odoo, and every submission becomes a clean record in your own database — automatically.
With Record Mappings, a submission can also create or update Odoo records such as contacts, leads or tickets.
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.
Contact us for multi-project, partner and custom licensing.
https://surveyjs.io/partner-solutionsFeatures
Need more? Built-in APIs connect form fields to Odoo: pre-fill values, react to changes, validate input and filter by domain.
One license: no tiers, no usage caps, no per-response fees.
| Build & design — no code needed | |
| 30+ field types & logic |
Build anything from a quick contact form to a complex multi-page survey — no limits.
• 30+ field types: text, email, dropdown choices, datetime, rating, slider, rich text editor, file upload, image marker, matrix, signature and more. • Conditional logic: show/hide, skip, branching, validation, calculated values, dynamic panels and matrices. |
| Form Builder |
Design forms visually — no code, no developer needed.
• Powerful drag & drop Form Builder (SurveyJS Creator) 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 — no CSS required (but it's possible).
• Pick from built-in themes or create and save your own. • Customize background, colors, fonts, header, logo and appearance right in the Form Builder. • 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 an external 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 an external 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/19.0/website_formio_snippet
A redirect after submission can also be configured. |
| Embedded forms on external websites |
• Embedding a Form on any external website: just copy and paste an HTML snippet.
• UTM and campaign tracking: pass URL query parameters into hidden form fields, either server-side with the built-in Python Load API or client-side with the JavaScript API, NovaForms.setValues({...}).
• Optionally redirect visitors to another page after submission. |
| Captcha — spam & bot protection for public forms |
Protect public (unauthenticated) forms against automated submissions — enable it per form with a single setting.
• Powered by a privacy-first, included captcha — no external service, no tracking, no cookies (GDPR-friendly). • Invisible to the visitor and accessible (WCAG 2.2 AA); verified server-side on submit. • Works on website and embedded forms. |
| 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 automatically determined by: website or logged in (portal) user. • On the website: forms follow the website's language switcher. • Embedded forms on external sites: choose which languages to offer. |
| 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. |
| Record Mappings (create or update records) |
• 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. • Configure one or more record mappings per form — chain them so a later mapping can use a record created by an earlier one. Examples: • Create or update a Contact (res.partner) from a registration form. • Create a Helpdesk Ticket and link it to the Contact created by an earlier mapping. This requires the Forms • Components API module:
https://apps.odoo.com/apps/modules/19.0/formio_components_api
Note: from Odoo 20, this will be included in this (formio) module. |
| Server Action(s) to process a Form submission |
For advanced or custom processing of Form submissions with Python code — beyond what no-code Record Mapping (above) covers. Server Actions can be implemented to process Form submissions. 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 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 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 • Reports module:
https://apps.odoo.com/apps/modules/19.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 — update other fields when a field changes. • 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/19.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).
• No third-party servers. |
| Built for autonomy — no lock-in by design |
• Form designs and submissions are stored as standard SurveyJS JSON — portable to any system that speaks SurveyJS (open source form software). • Migrate them to another SurveyJS-based stack whenever you choose. • Your data is never trapped in a proprietary format. |
| Unlimited |
• Unlimited form builders, forms, submissions and users.
• 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 | |
| No iframes — Rendering happens in an encapsulated DOM |
• Form Builder and Forms render in their own DOM — fully isolated, with no resizing, style leakage or cross-origin headaches.
• The same applies everywhere — Odoo backend, portal, website, and embedded forms. |
| Hosting types | Works on Odoo.sh or any Linux hosting of your choice. |
| Odoo editions | Compatible with Odoo Enterprise and Community. |
| Installation (app/module in general) | After installation you can start right away. No extra technical requirements or setup. |
| Installing and upgrading SurveyJS (Form Builder and Form Library) is simple and fast | Upgrade SurveyJS package when a new version is available, by just a few clicks. |
| Future-proof | |
| Upgrade-proof by design |
• Form Builder and Form data are stored as JSON, so they carry over to new Odoo versions. • Record Mappings, custom API logic and Server Actions may need review on major upgrades. |
| Quality control (tests) | Backed by a comprehensive suite of 1200+ Python and JavaScript unit tests (2000+ all modules), safeguarding stability and reliability — and compatibility across Odoo versions. |
| AI-ready |
Built and ready 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. |
| AI-powered Form Builder |
Build and edit forms with an AI prompt, right in the Form Builder, with the Forms • AI module.
• Describe what you want in plain language; the AI builds or edits your form design in place. • Full revision history with one-click undo/redo. Provided by the Forms • AI module:
https://apps.odoo.com/apps/modules/19.0/formio_ai
|
| AI-powered Document Extraction |
Turn paper, scans and photos into Odoo Form submissions with the Forms • AI module.
• Upload or import a photo, scan or PDF of a filled-in form; a multimodal AI model reads the answers straight into a Form submission, matched to your form's own fields. • Human-in-the-loop: configure whether extractions should first become drafts with per-field confidence, flagged for review before completion. • More AI features to come. Provided by the Forms • AI module:
https://apps.odoo.com/apps/modules/19.0/formio_ai
|
| Trusted & EU-based | |
| Nova Code, from the Netherlands | Building and maintaining these modules since 2018, and an official SurveyJS partner: support and custom development direct from the source. |
| SurveyJS is EU-based | Its JavaScript libraries power the Form Builder and the forms, running inside your own Odoo: your form data stays in your database. |
|
We |
We provide an open source Python package, that parses and transforms SurveyJS Form Builder schemas and Form responses into usable Python objects. GitHub: https://github.com/novacode-nl/python-surveyjs
|
Form Builders
Configure and design
Form Builder
Form Builders List
Form Builder Configuration
Form Builder Configuration — Advanced features by other modules
Themes & Styling
Style your Forms with Themes.
Pick and customize a Theme in the Form Builder. Choose from the built-in Themes or save your own,
then apply it to one or more Form Builders.
Form Builder - Built-in Themes
Form Builder - Customize Themes
Form Builder Configuration - Add Themes and Administration
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
Portal Forms
Let portal users fill in and review their forms, in your own branding.
Forms you've already created can be assigned to specific portal users.
Portal users can also start a new, blank form on their own.
Forms are listed on the portal — grouped by tag — and every submission stays available to the portal user.
Portal — Forms overview and the user's submissions
Portal — Fill in a Form, styled with your Theme
Portal — Multi-page Form with navigation, dynamic rows and calculated totals
Record Mappings (create or update records)
Form Builder — Record Mappings (button)
Form Builder — Record Mapping configuration
Record Mapping is provided by the Forms • Components API (formio_components_api) module — included from Odoo 20.
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
User Preferences
Personal Form Builder preferences (My User → My Preferences → Forms)
Demo
You can try the Form Builder (Creator) and the Form Library demos for free at https://surveyjs.io
Those demos only cover the form builder and form UI on their own, not the Odoo integration.
Click the
"Live Preview"
button at the top of this page to request a demo from our contact form.
Contact Us
Have a question, need a demo or a video call?
For advanced form building and integrations to support, training and best practices.
Get in touch via our Contact Form
https://www.novaforms.io/contact
Highly recommended additional modules
See the full list of modules on the https://www.novaforms.io/apps page and save costs.
Tick any combination and the price calculator adds up the total, including the dependencies (counted once).
Because the Odoo Apps Store displays the total price of a module (incl. dependencies), you know what a setup costs before you install anything.
| Name | URL |
|---|---|
| Components API |
https://apps.odoo.com/apps/modules/19.0/formio_components_api/
Note: from Odoo 20, this will be included in this (formio) module. |
| Contacts |
https://apps.odoo.com/apps/modules/19.0/formio_partner/
|
| CRM |
https://apps.odoo.com/apps/modules/19.0/formio_crm/
|
| Helpdesk |
https://apps.odoo.com/apps/modules/19.0/formio_helpdesk/
|
| Project Tasks |
https://apps.odoo.com/apps/modules/19.0/formio_project/
|
| Sales |
https://apps.odoo.com/apps/modules/19.0/formio_sale/
|
| Sign |
https://apps.odoo.com/apps/modules/19.0/formio_sign/
|
| Website Snippet |
https://apps.odoo.com/apps/modules/19.0/website_formio_snippet/
|
| PDF Reports |
https://apps.odoo.com/apps/modules/19.0/formio_report_qweb/
|
| ETL Interface |
https://apps.odoo.com/apps/modules/19.0/formio_etl/
|
| Deploy Tool |
https://apps.odoo.com/apps/modules/19.0/formio_deploy/
|
| AI |
https://apps.odoo.com/apps/modules/19.0/formio_ai/
|
License
One license — per production database & per major Odoo version. Staging and development copies included.
Contact us for multi-project, partner and custom licensing.
Purchases of the Forms modules are non-refundable — including a purchase made to try them out. Ask us for a live demo first.
The Nova Forms App is powered by the SurveyJS form libraries (https://surveyjs.io).
No additional SurveyJS license is needed for normal use
Building, styling, deploying and integrating forms — and using the SurveyJS question types and extensions that ship with Nova Forms — is fully covered.
A separate SurveyJS Survey Creator commercial license (per developer) is only required if you modify or extend SurveyJS itself at the source-code level.
If that applies, contact us at https://www.novaforms.io/contact and we'll help you get it right.
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 | 32909 |
| 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
Great addon made by a very helpful developer
This module does exactly what we need, but it wouldn't have been possible without the help of the developer extending their module to create a Rich Text Editor to allow image uploads. It has been a pleasure to use, following guides and suggestions provided by Nova Code. Not only does the addon work smoothly, the developer has been incredibly responsive and a pleasure to work with.
Highly recommended module - flexible, easy to work with, and backed by great support
Super helpful module and amazing developer support
Nova Forms is a very useful and well-designed module. It makes building and managing complex forms in Odoo much easier, and the integration works smoothly on my website. The documentation and configuration are clear, and the module works well even before using a license key.
Most importantly, the developer is extremely responsive and helpful – my questions about setup and licensing were answered quickly and in detail. I’m very satisfied so far and would highly recommend this module to other Odoo users.
Wow, what a useful module
If you need super customizable forms look no further. Would definitely recommend as it’s already saving us so much time in our operations.
Highly recommended module - flexible, easy to work with, and backed by great support.
We'd 100% recommend this app for anyone needing robust, flexible forms in Odoo.
Excellent module with outstanding flexibility
Nova Forms has been a great addition to our Odoo environment. The module is powerful, flexible, and makes it possible to create highly customized forms without complex development work. It covers a wide range of use cases and integrates smoothly with existing Odoo processes.
What impressed us the most is the level of customization available. The form builder is intuitive, while still offering advanced capabilities for more complex business requirements. It has significantly reduced the time needed to implement and maintain custom forms.
The developer support is also exceptional. Questions are answered quickly, solutions are provided efficiently, and the documentation is clear and helpful.
Highly recommended for any Odoo company looking for a professional and reliable form solution.
Game-changer for Odoo
Exceptionally well-built and extremely versatile. The drag-and-drop builder is effortless to use, and the flexibility truly feels unlimited.
If you want reliable, professional forms in Odoo, this is the top choice. Highly recommended!
Game-changer for Odoo
Exceptionally well-built and extremely versatile. The drag-and-drop builder is effortless to use, and the flexibility truly feels unlimited.
If you want reliable, professional forms in Odoo, this is the top choice. Highly recommended!
Great addition
Wow, this module has allowed for some huge time savings and I’d recommend it for all your form needs. The possibilities with the right knowledge feel endless. We look forward to seeing even more ways I can implement forms with Odoo in the future.