eCommerce Optional Email
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 50.01
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Discuss (mail) • Website (website) • Invoicing (account) |
| Lines of code | 20 |
| Technical Name |
website_sale_optional_email |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Discuss (mail) • Website (website) • Invoicing (account) |
| Lines of code | 20 |
| Technical Name |
website_sale_optional_email |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
eCommerce Optional Email
Let customers complete checkout with just a name and phone number. Email stays visible and validated when provided - but is never mandatory. Built for Odoo.
Odoo's standard eCommerce checkout requires an email address on the billing address form. For B2B operations, field sales, phone orders, or markets where many customers simply don't have or share an email, this blocks legitimate orders entirely.
- Checkout is blocked for customers who don't have or don't want to share an email
- Phone orders and walk-in sales require a fake email just to progress
- B2B customers often use shared mailboxes - forcing personal email creates friction
- Cart abandonment rises when customers hit an unexpected hard stop at checkout
- Custom workarounds risk breaking future Odoo upgrades or template inheritance
This module removes email from the mandatory field list on both the billing and delivery checkout address forms. Customers can complete their purchase using only a name and phone number. If they do supply an email, it is still validated for correct format - so you never store garbage data. Zero configuration. Install and it works immediately.
- Email Optional on Billing - email is removed from the mandatory billing address fields; customers can skip it entirely
- Email Optional on Delivery - same relaxation applied to the delivery address form for consistent behaviour
- Format Validation Preserved - if a customer does enter an email, it is still checked for valid format and rejected if malformed
- Name Stays Required - all other mandatory fields (name, phone, street, city, country) remain enforced exactly as before
- No HTML Required Attribute - the email input carries no
requiredattribute, so browser validation also does not block submission - Server-Side Enforcement - the fix is applied at the controller level, not just the template, so it cannot be bypassed by disabling JavaScript
- No Configuration Needed - install the module and it takes effect immediately; no settings, no toggles
- Upgrade Safe - implemented through clean Odoo controller inheritance with no template xpath hacks
- Lightweight - no new models, no new views, no database migrations; a single controller override
- Fully Tested - ships with unit tests covering billing fields, delivery fields, missing email, malformed email, and valid email scenarios
1. Customer Browses the Shop and Adds to Cart
Everything works exactly as in standard Odoo eCommerce. The customer browses /shop, picks a product, and adds it to the cart. No visible change until the checkout address form.
2. Order Review - Items in Cart, Ready to Checkout
The customer reviews the cart and clicks Checkout. The order summary shows the product and price. Nothing about the email is mentioned yet - the change becomes visible only on the address form.
3. Billing Address Form - Email Field Has No Required Marker
On the checkout billing address form, the Email field carries no asterisk
and no required HTML attribute. Full name, phone, street, city,
zip, and country are still required - email is purely optional. The customer can
leave it completely blank.
4. Form Filled With Name & Phone - Email Left Blank
The customer fills in their full name, phone number, street, city, zip, and country - and deliberately leaves the email field empty. The form accepts the submission without complaint.
5. Address Saved - Checkout Continues Without Email
After submitting, the address is saved and the checkout advances normally to the delivery and payment step. The new address (with no email) appears in the billing address list. No error, no warning, no email required.
6. Malformed Email Still Rejected - Data Quality Protected
If a customer does type something in the email field, it is still validated for correct format. Entering "notanemail" triggers an error - blank is fine, garbage is not. Your contact data quality is fully protected.
Phone & Field Sales
Sales reps placing orders on behalf of customers reached by phone. No email? No problem - name and phone are enough to confirm the order.
B2B & Trade Buyers
Trade customers who place orders via a shared company portal, supply only a buyer name and phone, and don't want personal emails captured.
Emerging Market Shoppers
Customers in markets where mobile-first commerce is standard and many buyers do not have or use email addresses regularly.
Walk-In & Click-and-Collect
Stores using Odoo eCommerce for click-and-collect or in-store orders where the customer is physically present and no email confirmation is needed.
Privacy-First Customers
Shoppers who decline to share their email for GDPR or personal preference reasons. Let them complete the purchase without compromising your conversion rate.
Delivery-Only Services
Businesses that confirm deliveries by phone and SMS. Email notifications are not part of the workflow, so requiring email address is pure friction.
Higher Checkout Conversion
Removing the email hard-stop eliminates one of the most common reasons customers abandon checkout - especially on mobile and in markets where email penetration is low.
Clean Data - No Fake Emails
When customers are forced to supply an email they don't have, they invent one. Making it optional means the emails you do collect are real and usable for follow-up.
GDPR & Privacy Compliance
Collecting only the data truly needed for the transaction aligns with data minimisation principles. If email is not required for the operation, don't force customers to give it.
Zero Maintenance
One clean controller override. No template patches, no xpath fragility, no JavaScript workarounds. Survives Odoo updates without maintenance effort.
Step 1 - Install the Module
Go to Apps, search for eCommerce Optional Email, and click Install. No restart is required. The change takes effect immediately for all website checkout flows.
Step 2 - Customer Visits the Shop
Nothing changes for the customer's browsing experience. They add products to the cart as normal and proceed to checkout.
Step 3 - Address Form Without Email
On the address form, email is no longer marked required. The customer fills in name, phone, street, city, zip, and country - and leaves the email field blank. The form submits successfully.
Step 4 - Order Appears in Odoo Backend Normally
The resulting sale order and customer record appear in the backend exactly as usual. The partner simply has an empty email field. All inventory, invoicing, and delivery workflows continue normally.
Important Notes
- Email is still accepted - customers who provide one get it saved normally
- Malformed emails are rejected - format validation stays active to protect data quality
- Other required fields unchanged - name, phone, street, city, and country remain mandatory
- Works for both billing and delivery address forms - the override applies to both checkout paths
- Compatible with website_sale and portal - no conflict with standard address management
Need Help or Want a Custom Feature?
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