I am experiencing an issue with the checkout process for event ticket sales in Odoo 19 (German version). I am selling 2-day seminars as event tickets and as usual need customers to fill in billing address information before payment. However, the checkout step is being skipped entirely.
Problem Description:
Current Workflow in v19 (Broken):
Customer registers for event
Customer is redirected directly from /shop/cart to /shop/payment (bypassing checkout)
Address/billing information form (checkout site) is not shown during checkout
Only optional link "Do you need an invoice" appears on payment page. This link redirects back to the checkout site. So the customer needs to notice the link and understand that without klicking the link and entering billing adress he is not able to pay (stripe crosschecks certain data eg. country).
That does not make it easier for the customer and results in lost business. Furthermore the customer master data is incomplete.
Customer should be forced to enter billing data BEFORE payment, not optionally
Expected Workflow (like it was in v18):
Customer registers for event
Customer → /shop/checkout (address form with mandatory fields)
Customer → /shop/payment (payment method selection)
Invoice created and sent automatically based on data from checkout form
(and of course the customer master data is taken over completely)
Product Configuration:
Product Type: Dienstleistung (Service)
"Bei Auftrag erstellen" (Create on Order): Veranstaltungsregistrierung (Event Registration)
This is necessary to link event registrations to sales orders
Steps Already Taken without solvin the issue:
✅ Created event ticket as Service product type (Dienstleistung)
✅ Configured "Bei Auftrag erstellen" to "Veranstaltungsregistrierung"
✅ Added event registration questions (Rechnungsadresse, PLZ, Stadt, etc.)
✅ Modified template website_sale.checkout - changed line:
FROM: <t t-set="same_shipping" t-value="bool(order.partner_shipping_id==order.partner_invoice_id or only_services)"/>
TO: <t t-set="same_shipping" t-value="bool(order.partner_shipping_id==order.partner_invoice_id)"/>
Result: No change - checkout still skipped
✅ Checked all website settings - no "Versand" (shipping) option available for services
✅ Verified event configuration - online ticketing enabled, product linked correctly
✅ Tested direct URL access to /shop/checkout - redirects to /shop instead
Root Cause Analysis:
The issue appears to be that:
Service products (Dienstleistung) bypass the checkout address step in Odoo 19 - according to the Odoo support this has been done intentionally in the upgrade from v18 to v19, as it seems that for selling event tickets the checkout page has been regarded as "inconvenient" - which I do not understand as we always need billing information when selling event tickets - this is not a matter of convenience this is a necessitiy.
The system redirects to /shop when accessing checkout, suggesting validation failure
The condition only_services in the checkout workflow is causing the address form to be skipped
Changing the template line above had no effect
Question:
Does anyone in the community experience the same and has a workaround?
How can I force the checkout address step to be displayed and mandatory for Service-type products (Event Tickets) in Odoo 19? Is there a configuration setting, module parameter, or template override that would allow this?
Additional Information:
Odoo Version: 19.0
Language: German
Module: website_sale, event, sale_management
Thank you for your support.