How To Create a Form on Website In Odoo
What is a Form on a Website?
A Webform, HTML form, or form on a website allows a user to enter data that is sent to a server for processing. Forms can resemble paper or database forms because web users fill out the forms using checkboxes, radio buttons, or text fields.
For example, forms can be used to enter shipping or credit card data to order a product or can be used to retrieve search results from a search engine.
These forms are a handy utility for any website. In this blog, we are going to discuss how to create a form using controllers in Odoo.
A form on your website in Odoo looks something like this:

You can create your form or customize the already present form in Odoo.
These forms can be used to show data from the database or to enter data into the database. So, let us start.
Subscribe for Odoo tips, technical insights, and more!
We’ll follow these basic steps for creating a simple form using Controller in Odoo.
1) Add Dependency 'website' under depends in manifest.py file.

2) Create a menu for the form on the website using a data file.
3) Create an odoo controller to be redirected to the website.
4) Create a template for the form.
5) Create another odoo controller to submit data into the database after clicking the submit button.
6) Create a template for the controller to redirect after the submit button is clicked and the form is submitted successfully.
First of all, we’ll create a menu for this form on the website. You can do this by creating a record in the data file of your custom module. Simply create a record like this:

<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <record id="menu_partner_form" model="website.menu"> #here record id is the unique id of your record & model is the ‘website.menu’ of thewebsite. <field name="name">Create Customer</field> #here mention the name of the menu to appear. <field name="url">/customer/form</field> #here mention the url of the website to be redirected after clicking. This is acontroller. <field name="parent_id" ref="website.main_menu"/> #here mention the parent id of the menu which we are inheriting. <field name="sequence" type="int">22</field> </record> </data> </odoo>
Now install your module or upgrade your module. After that, you can see that a menu appears on the website

Now we’ll create the URL through the controller on which the web page will be redirected.
This controller will redirect the data to the database.
In this case, we are creating a customer through the form on the web page.
In the controller, we’ll create a record, or in this case a partner by passing data into the controller using a form created through the XML record.
A controller is created using python in the module.
This controller.py file needs to be present in the controller folder in your custom module.
Read Here: How To Create Custom Module In Odoo
And make sure to call the file and folder in the __init__.py file like the models.

# -*- coding: utf-8 -*-
from odoo import http
from odoo.http import request
class PartnerForm(http.Controller):
#mention class name
@http.route(['/customer/form'], type='http', auth="public", website=True)
#mention a url for redirection.
#define the type of controller which in this case is ‘http’.
#mention the authentication to be either public or user.
def partner_form(self, **post):
#create method
#this will load the form webpage
return request.render("create_partner_by_website.tmp_customer_form", {})
@http.route(['/customer/form/submit'], type='http', auth="public", website=True)
#next controller with url for submitting data from the form#
def customer_form_submit(self, **post):
partner = request.env['res.partner'].sudo().create({
'name': post.get('name'),
'email': post.get('email'),
'phone': post.get('phone')
})
vals = {
'partner': partner,
}
#inherited the model to pass the values to the model from the form#
return request.render("create_partner_by_website.tmp_customer_form_success", vals)
#finally send a request to render the thank you page#We have created two controllers—one for the menu to redirect to the form template.
And the second one is to process the data into the database on form action, or we can say when the to submit button is clicked.
After creating the controller in the .py file, we’ll create a template for the form.
This template will be rendered when our first controller is called.
We have mentioned the url of the second controller so that the action of this form calls that particular controller.

<?xml version="1.0" encoding="UTF-8"?> <odoo> <template id="tmp_customer_form" name="Partner Form"> <t t-call="website.layout"> <div id="wrap"> <div class="container"> <div class="col-md-12"> <form action="/customer/form/submit">#url/controller to called on the form action. <div class="form-group"> <label for="name">Name:</label> <input type="text" class="form-control" name="name" id="name"required="true" /> #label and id of the fields to be created in the form.These fieldsshould be present in the model for the entry of the data into the database.# </div> <div class="form-group"> <label for="email">Email address:</label> <input type="email" class="form-control" name="email"id="email" required="true" /> </div> <div class="form-group"> <label for="name">Phone:</label> <input type="text" class="form-control" name="phone"id="phone" required="true" /> </div> <button type="submit" class="btn btn-primary">Create</button> </form> </div> </div> </div> </t> </template>
</odoo>
Now the form is ready, at last, we’ll just create another template that will display the thank you message after the form is successfully submitted. And the partner record is created.

This will display a message after the form is successfully submitted from your web page.
<odoo>
<template id="tmp_customer_form_success" name="Customer Form Successfully Submitted">
<t t-call="website.layout">
<div id="wrap">
<div class="container">
<div class="col-md-12">
<div class="alert alert-success">
Customer created successfully.
</div>
</div>
</div>
</div>
</t>
</template
</odoo>After this we’ll upgrade the module and navigate to the website. After clicking on the menu, this form will open up.

After filling out this form and clicking on the submit button. The controller will send a request along with data from the form to the database and a new contact will be created and the user will get a message:

We can check that a new contact has been created.

Thus, using controller & templates, we can create a form on the website following these simple steps in Odoo.
You can also check our other Blog: How To Change Home Action In Odoo
I hope this blog is helpful to you. Do let us know about your thoughts or queries that you have in the comment section.
For any Odoo Customization or Implementation, services, contact us by filling the Contact Form or simply write us at [email protected]
Check out our related blog posts:-
How To Replace Header and Footer In Odoo Website
Strong Integration Expertise
Modern ERP systems require seamless connectivity. Kanak specializes in integrations with payment gateways, banking reconciliation systems, eCommerce marketplaces, logistics APIs, HRMS & biometric devices, and CRM and communication tools.
Standard-First ERP Philosophy
One major reason businesses prefer Kanak is its "standard-first" implementation approach. Instead of over-customizing Odoo unnecessarily, Kanak focuses on upgrade-friendly implementations, lower technical debt, better system performance, faster deployment cycles, and long-term scalability.
Global ERP Experience
Kanak serves clients across USA, Middle East, Europe, Australia, Singapore, Malaysia, and 50+ countries - enabling them to handle multi-company setups, multi-currency operations, localization & compliance, and cross-border business workflows.
Best for: Any business requiring deep customization, complex integrations, industry-specific Odoo expertise, or a long-term ERP partner with proven global experience.
Banibro IT Solutions
Official Odoo PartnerChennai BasedSME FocusedBanibro IT Solutions is known for its structured implementation methodology and business-focused ERP consulting approach. The company focuses on requirement analysis, workflow optimization, ROI-driven ERP planning, and seamless user adoption for SMEs and growing enterprises.
Key Strengths
- Business-centric consulting approach
- ERP process alignment
- Odoo customization for SMEs
- Third-party integrations
- Long-term support services
Best for: Small to mid-sized businesses in South India looking for practical and cost-effective Odoo implementations.
Serpent Consulting Services
Odoo Gold PartnerAhmedabad Based 10+ YearsSerpent Consulting Services has maintained a strong presence within the Odoo ecosystem for many years. The company specializes in Odoo consultation, migration services, custom development, integration support, and mid-sized enterprise deployments.
Key Strengths
- Stable and structured implementation methodology
- Strong upgrade compatibility focus
- Long-term ERP maintainability
- Reliable technical consulting
Best for: Mid-market companies needing structured Odoo consulting with long-term upgrade planning.
BrowseInfo
Odoo Best Partner India 20241200+ App Store Apps
Ahmedabad BasedBrowseInfo is recognized for handling complex Odoo customization projects and enterprise-grade ERP deployments. The company works with businesses requiring multi-location operations, complex approval workflows, enterprise automation, and high-volume ERP environments.
Key Strengths
- Large-scale implementation capabilities
- Enterprise workflow customization
- Odoo performance optimization
- Scalable architecture support
- Largest App Store module volume
Best for: Healthcare, retail, and businesses needing quick module deployment from the App Store.
Cybrosys Technologies
Official Odoo PartnerKerala BasedTechnical SpecialistsCybrosys Technologies is widely known for its strong technical capabilities in the Odoo ecosystem. The company has extensive experience in module development, Odoo migrations, backend customization, technical optimization, and performance enhancement.
Key Strengths
- Strong engineering and development capabilities
- Odoo app and module development
- Technical troubleshooting expertise
- Version migration experience
Best for: Businesses needing heavy backend customization, complex module development, or technically intensive implementations.
Side-by-Side Comparison

How to Choose the Right Odoo Implementation Partner
Choosing the right Odoo consulting company is one of the most important decisions for ERP success. Here are the key factors every business should evaluate before signing a contract:
Odoo Experience
Choose a partner with proven implementation experience and long-term Odoo expertise. Look for 10+ years minimum for complex projects.
Industry Understanding
Industry-specific experience reduces implementation time and improves process alignment. Ask for case studies in your exact sector.
Certified Odoo Experts
Certified functional consultants and developers ensure better implementation quality. Ask how many team members hold current Odoo certifications.
Structured Methodology
A reliable partner provides requirement gathering, gap analysis, milestone planning, UAT, training, and go-live support as standard.
Integration Capabilities
Modern ERP needs connections with banking systems, logistics providers, HRMS, payment gateways, and eCommerce. Ask for live demos of past integrations.
Post-Go-Live Support
ERP implementation is not a one-time project. Get SLA response times in writing. Ask about AMC pricing and how version upgrades are handled.
Upgrade-Friendly Development
Excessive customization blocks future Odoo version upgrades. Good partners follow a standard-first approach — customizing only where it creates genuine value.
Scalability
Your ERP should grow with your business. Choose a partner who can support future module expansions, upgrades, and process improvements over 5–10 years.
⚠ Red flag: Any partner who gives a fixed-price quote without a discovery or requirements phase is underscoping your project. This almost always leads to scope creep, delays, and budget overruns. A serious partner insists on a requirements phase before quoting.
Odoo Community vs Enterprise — What's the Difference?
One of the most common questions businesses ask when evaluating Odoo is: What is the difference between Odoo Community and Odoo Enterprise?

For businesses planning long-term ERP scalability, Odoo Enterprise is usually the preferred choice. The added cost is offset by official support, automatic upgrades, and significantly more powerful modules.
How Much Does Odoo Implementation Cost in India?
Odoo implementation cost in India depends on multiple factors including number of users, modules required, customization complexity, integrations, data migration, industry workflows, and training requirements.

Partner hourly rates in India typically range from ₹1,500 to ₹4,500 per hour depending on seniority and firm. Budget an additional 10–20% contingency for data cleanup and integration complexity. Note: Odoo Enterprise license costs (approximately ₹2,000–4,000 per user per month) are separate from implementation fees.
⚠ Important: Businesses should focus on implementation quality and long-term ROI — not just the lowest upfront pricing. A cheaper implementation that fails costs significantly more than a quality one done right the first time.
How Long Does Odoo Implementation Take?

Timeline depends on customization level, data migration complexity, user training, integration requirements, and internal approvals. An experienced Odoo partner significantly reduces delays and implementation risks through structured methodology and reusable configurations.
Why India Is a Global Leader in Odoo Consulting ?
India has become one of the world's strongest destinations for Odoo consulting and ERP implementation because of:
- Highly skilled Odoo developers and consultants — India produces more Odoo-certified professionals than almost any other country
- Competitive pricing with global service quality — Indian partners deliver enterprise-grade implementations at a fraction of Western market costs
- Global delivery experience — top Indian partners have successfully delivered ERP projects across USA, Europe, Middle East, and Asia
- Strong offshore support models — time zone coverage allows near-24/7 support for international clients
- Large technical talent pool — continuous pipeline of Odoo-trained engineers and functional consultants
- Enterprise implementation expertise — experience across manufacturing, retail, healthcare, logistics, and finance industries
Final Verdict — Which Odoo Partner Should You Choose?
The best Odoo implementation partner is not simply the company with the lowest pricing or biggest team. The right partner should understand your business processes, recommend scalable ERP strategies, minimize unnecessary customization, ensure smooth user adoption, provide long-term support, and deliver measurable ROI.
For businesses looking for a highly experienced, globally trusted, and scalable ERP consulting company, Kanak Infosystems LLP remains one of the strongest choices for Odoo implementation in India in 2026 — backed by 14+ years of experience, 500+ successful implementations, and one of India's largest Odoo App Store portfolios.
Frequently Asked Questions (FAQs)
Kanak Infosystems LLP. is considered one of the leading Odoo implementation partners in India due to its 14+ years of experience, 500+ implementations, 500+ apps on the Odoo App Store, global presence across 50+ countries, and a 95% client retention rate. Active since the TinyERP era, Kanak is among India's earliest Odoo partners.
Odoo implementation cost in India typically ranges from ₹3 lakh to ₹30 lakh+ depending on business size, modules, customization, and integrations. Small businesses (5–15 users) can expect ₹3–8 lakh. Mid-sized companies typically spend ₹10–25 lakh. Large enterprises may need ₹30 lakh or more. Odoo Enterprise license costs (approximately ₹1,000–2,000/user/month) are separate from implementation fees.
Basic implementations take 4–8 weeks. Mid-sized ERP deployments take 2–5 months. Enterprise-level implementations take 6–12 months. An experienced partner significantly reduces delays through structured methodology and reusable configurations.
Odoo Community is free and open-source with basic ERP functionality and community support. Odoo Enterprise is a paid subscription that includes advanced modules, official Odoo support, mobile app support, better UI/UX, Studio customization tools, and advanced accounting and reporting. For businesses planning long-term scalability, Odoo Enterprise is usually the preferred choice.
Evaluate: years of Odoo-specific experience, number of completed implementations, industry expertise relevant to your sector, certified developers, App Store contributions, client references in your industry, post-go-live support SLA, and customization philosophy. Good partners follow a standard-first approach to keep systems upgrade-friendly.
Yes. Odoo offers strong manufacturing capabilities including MRP, production planning, quality management, inventory tracking, barcode integration, and maintenance management. Kanak Infosystems has implemented Odoo for dozens of manufacturing companies across India and internationally.
Yes. Odoo is highly modular and scalable, making it suitable for startups, SMEs, and enterprises alike. Small businesses can start with just 1–2 apps and add more as they grow. With the right implementation partner, small businesses can go live in 4–6 weeks.
Businesses globally prefer Indian Odoo consulting companies because they offer highly skilled developers, competitive pricing with global service quality, extensive international ERP experience, strong offshore support models, and deep expertise across manufacturing, retail, healthcare, logistics, and finance industries.
Your email address will not be published.