Forms • AI
version: 19.0.1.1Build and edit your forms with an AI prompt, right in the Form Builder. Form building in minutes, not hours.
Turn paper, PDF and photos into Odoo Form submission records — with AI.
Upload or import a photo or PDF of a filled-in form and let a multimodal AI model
read the answers straight into a Form submission — matched to your form's
own fields.
Human-in-the-loop by design: configure whether every extraction should become a
draft with per-field
confidence, so low-confidence
answers are flagged for a quick review before the submission is
completed.
How it works
Build a form by prompt
1. Open a Form Builder and type what you want in the AI prompt above the canvas.
2. The AI edits the form design in place — adding questions, choices and layout — guided by the form as it stands.
3. Every prompt is recorded as a revision, so you can compare the diff and undo or redo in one click.
Extract from a document
1. Open Forms → Extract from Document (or the button on a Form Builder), pick the form and upload the document(s) — drag & drop supported.
2. The AI reads the document, guided by the form's fields, and creates a draft submission with per-field confidence.
3. Review the flagged fields in the normal form, correct anything and complete — or let it auto-complete when confidence and validation allow.
Everything included
| Capture — from any document | |
| Photos & PDFs |
Extract from a phone photo or a PDF of a filled-in form.
• Multi-page documents supported — upload pages in order (Single form), or one submission per document (Multiple forms). • Unsupported image formats (e.g. iPhone HEIC/HEIF, TIFF) are converted automatically. • Drag & drop upload, right in the wizard. |
| Maps to your form's fields |
Extraction is guided by the form's schema design, so answers map back to the correct fields and values.
• Text, choice (single/multi), rating, boolean, matrices and multiple-text supported; signatures/files are skipped. • Multilingual — a document filled in any of the form's languages maps back to canonical field names and choice values. • Guide extraction with AI Hint properties in the Form Builder — set them at the form level and per question (field) (e.g. "the date is handwritten in the top-right box"). Hints are added to the AI prompt. |
| Review — human-in-the-loop | |
| Confidence scoring & flagging |
Every extracted field carries a confidence score. Fields below a configurable threshold are flagged for review.
• Global default threshold, overridable per form, and adjustable per extraction. • The source document is kept with the submission as evidence. |
| Optional auto-completion |
Let confident, valid extractions finish themselves — on your terms.
• A submission is set to Completed only when no field is flagged and required-field validation passes; otherwise it stays a draft. • Completing runs the Form Builder's submit server actions, just like a normal submission. |
| Review notes & activities |
• When validation blocks auto-completion, the errors are logged as a chatter note on the submission.
• Optionally assign a To-Do review activity to one or more users, per Form Builder — cleared automatically once the submission is completed. |
| Built-in AI engines | |
| Multiple providers, no lock-in |
Choose the built-in engine that fits your accuracy, cost and privacy needs — ships with:
• Anthropic (Claude) — reads images and PDFs natively; frontier accuracy. • OpenAI — reads images; PDFs are rasterized to page images first. • Mistral AI — reads images and PDFs natively. • Ollama — local / self-hosted vision models; no API cost and data stays on your server. • Any OpenAI-compatible endpoint — point it at OpenRouter, Groq, Together, DeepSeek, or a local LM Studio / vLLM / llama.cpp server. • Provider and model are configurable globally, with a default pre-selected in the wizard. • Form Builder can use a different AI provider than Form Extraction. • No vendor SDK required — providers call their REST APIs directly. • Pluggable — AI engines are easy to add: one small Python class registered on the provider registry, no changes to this module. It then appears in the settings automatically. Documented in the README file included with the module. |
| Privacy & data ownership |
• Extracted data becomes a standard Form submission record in your Odoo database.
• The AI provider never has access to your Odoo database — it only receives the uploaded document and the extraction prompt. This is guarded by design: the model is given no tools and no database access. • For fully on-premise processing, use a local Ollama model — documents are never sent to a third party. • For a European provider, select Mistral AI, a French provider. • Per-feature separation — AI Extraction and the AI Form Builder use different providers and keys, so customer documents can stay on an on-premise or European engine while form design uses a frontier model, where no customer data is involved. • Data is sent directly from your Odoo to the AI provider you configure. Nova Forms and the author and vendor of the module (Nova Code BV) are not a party or a data (sub‑)processor and accept no liability; governed by Dutch law. Full terms: https://www.novaforms.io/ai-disclaimer.
• By purchasing or installing the module, you (the company, its people and anyone using it) agree to the AI Disclaimer. |
| Fits right into Forms | |
| Where to find it |
• A top-menu Extract from Document wizard, plus a button on each Form Builder.
• Per-form configuration on the Form Builder's AI tab; provider & keys under Settings → Forms → AI Providers. |
| Requirements |
• Works with the v2 (SurveyJS) engine of the Forms app.
• Requires the Forms • Components API module (used for required-field validation): https://apps.odoo.com/apps/modules/19.0/formio_components_api
• No mandatory extra Python packages. Optional: PyMuPDF (PDFs with image-only providers) and pillow-heif (HEIC/HEIF photos e.g. iPhone).
|
| Quality control | Backed by an automated test suite covering the prompt building, response normalization, provider request shaping and the extraction / auto-completion flow. |
Extract from Document
The wizard — pick a form, drag & drop the document(s)
Built-in Help — providers, models, modes and review
Form Builder — AI tab (auto-complete from AI, per-form confidence threshold)
AI Form Building
The prompt sits in the builder’s dock, next to the version, revision and save state
Describe the design and requirements in plain language
Every AI edit is a revision you can undo
While the AI works — the prompt is locked and the request can be stopped at any time
Configuration
Each feature picks its own provider; the keys, models and token limits are configured once and shared by both.
Settings → Forms → AI Extraction — default provider and confidence threshold
Settings → Forms → AI Form Builder — provider, optional dedicated key, and model
Settings → Forms → AI Providers — keys, models and token limits, shared by both features
Part of the Nova Forms suite
This module extends the Forms app (formio). Explore the full suite via the "Nova Code" author link at the top.
Contact Us
Have a question, or need a live demo (video call)?
Get in touch via our Contact Form
https://www.novaforms.io/contact
License
One license — per production database & per major Odoo version. Staging and development copies included.
Contact us for multi-project, reseller 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.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Community Apps Dependencies | Show |
| Lines of code | 29418 |
| Technical Name |
formio_ai |
| 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