REAL PROJECTS. REAL NUMBERS. Real sprint case studies
Three clients. Three different problems. The same methodology of diagnosis, architecture, and AI execution under human review.
Case 01 · Odoo 18 eCommerce
ENGWE Spain
engwespain.es · official e-bike distributor in Valencia
The client needed to qualify leads 24/7 without hiring a second support shift. We built a chatbot on the Anthropic Claude API, wired straight into Odoo 18 via im_livechat and discuss.channel. We exposed seven tools to the model: search_products, get_details, recommend, general_info, create_lead, create_ticket and apply_coupon. Catalog data and FAQ live in a separate module, engwe_knowledge_base, so content iterates without touching the engine. We added a weekly blog cron on a VPS using Gemini 3 Flash that publishes every Tuesday at 09:00 Valencia time, plus in-house modules for SEO, cookie consent and chat analytics.
Staging-V3 → cherry-pick → prod on Odoo.sh
Case 02 · Core Web Vitals + ERP
OneRide EU
oneride.eu · pan-European electric-unicycle distributor
Hybrid stack: PrestaShop 1.7 on the storefront, Odoo 18 as the ERP. The product gallery logged a Cumulative Layout Shift of 0.4 on mobile, hurting both organic ranking and conversion. On 2026-04-21 we applied aspect-ratio: 4/5 to .images-container and cut CLS below 0.1 across 259 product URLs. In parallel we solved the known Odoo 18 blank-image bug by syncing ir_attachment at the SQL level with the correct SHA1 checksum, and migrated GA4 from the legacy property G-3X8Q61ZWRQ to the new G-S7FZB7KKC5 without losing conversion history.
CLS 0.4 → <0.1 · 259 URLs · GA4 migrated
Case 03 · Bank reconciliation
Electric Mobile SL
Parent of ENGWE Spain + Viensrats subsidiary (Latvia)
The finance team lost hours every week matching bank statements against Odoo journal entries. We built the psp_reconcile module, which reconciles Stripe, Redsys, Cetelem, Revolut Merchant, Klarna, PayPal and Bizum automatically against Odoo account.move records. We analyzed 156 Bank Statement Lines and added a Telegram bot with inline buttons so the accountant picks the correct match when amounts are ambiguous. Our bank_reconcile_em.py script also automates vendor bills: one 2142€ monthly rent line splits into three partner-specific bills (Javier 1071€, Fermín 535.50€, Amparo 535.50€) with the correct VAT per case (10% reducido on Viva Aqua water, UPS discounts, Nova Poshta IVA excluido). We also laid the VeriFactu compliance baseline for the 2026 AEAT obligation and the full SMB deadline in January 2027.
7 PSPs · 156 BSL · matching bot
Each case ran through the same six-step methodology. Same team. Same rigor. Measurable outcomes instead of slogans.