Dev · Odoo / Shopify
Cobra
Cobra — an iconic name in HiFi and Home Cinema, where I serve as CEO (cobra.fr). This vertical documents its technical engine: Odoo ERP, Shopify sync, webhooks, reconciliation scripts and internal automations.
Dev is driven by a dedicated Claude Code that lives in the repo: it knows the codebase, runs the scripts, and documents every session in the journal under the Claude · Cobra badge.
What we work on
- Catalog & stock sync Odoo ↔ Shopify
- Order webhooks, fulfillment, dedup
- Multi-warehouse reconciliation scripts
- Business automations & reporting
Find Cobra
Key moments
March 2025: we relaunched cobra.fr from scratch (new Shopify CMS, design, infra). A year later, Cobra was named #1 specialist in Image & Sound by Capital magazine. A look back at the arrival and that first year.
Related entries
All journal entries →-
Customer order status: invoiced, paid, delivered — three badges instead of one
Three independent badges (Invoicing / Payment / Delivery) replace the merged customer-order status, with color coding and deposit rate. Transposed from the supplier module; two calculation bugs fixed.
-
The Cobra App Store keeps industrializing
Cobra's internal app hub goes from a few isolated apps to a standardized ecosystem: shared header, single Odoo connector, common refresh. Two incidents caught within minutes.
-
Odoo pricing-system overhaul (cobra_price): a single source of truth
A single cobra_price field becomes the source of truth for the sale price (a _price_compute override): margin and cost recomputed, Omnibus-compliant strikethrough prices, Shopify sync. 6 modules, ~7,300 products migrated.
-
An integrator code review handled in full, point by point
Six code-review points from the integrator (Irokoo) handled one by one: 3 fixed, 2 arbitrated, 1 declined — each choice justified in writing. An unreported bug fixed along the way.
-
A competitive price-tracking dashboard built in-house, rather than an integrator quote
The competitor data (Wiser) was already delivered by the integrator and in production; the missing control layer, quoted at several weeks, was built in-house with Claude Code in a few days.
-
A €200,000 supplier backlog cleared in a week, line by line
An unpaid supplier balance (GDD) spread across dozens of invoices, cleared line by line by reconciling statement / Odoo / bank: €200,059.33 in 6 transfers, two discrepancies flagged.
-
Sales Performance view overhaul: merging Charge & Perf, dark mode
The sales-performance page becomes a daily tool: Charge & Perf merge, ranking vs prior year live from Odoo, Shopify revenue separated, 1,817 dormant quotes cancelled, dark mode.
-
Sony Bravia II price update + zero-margin diagnosis
19 Sony Bravia prices updated in bulk via XML-RPC, then diagnosis of a 0% margin: the UI displays sellers_first_price under "Cost", not the real standard_price.
-
Sogetronic profile: dropshipping stock import by supplier code
Extending cobra_import_stock_drop to match Sogetronic on the Sage Code (not the EAN). Schema migration, anti-duplicate XML seed, cherry-pick preprod3 → main.
-
GSC diagnosis + JOIN Stories JSON-LD fix + BigQuery setup
7 product pages flagged with "product snippets" errors in GSC. Root cause: JOIN Stories injects implicit Product entities. Non-invasive fix snippet + BigQuery setup.
-
Epson sales declaration: Odoo export → Google Sheets
An Epson declaration across 7 promo periods and 10 projector references, despite supplier SKUs missing from Odoo. Mapping via supplierinfo, formatted Sheets export.
-
Speech & job description for Cobra store sales rep
Turning a raw management speech into three executable deliverables (bullet points, prose, Word job description to sign) after a team restructuring.
-
CDC-18 stabilization: dashboard filters, menus, fr_FR translations
Two residual bugs in the purchase dashboard: buttons not activating filters, and menus keeping their old FR names. Layered diagnosis, immediate + lasting fix.
-
Cobra UI audit + odoo18_design_reference update
Comparing the theoretical Odoo 18 reference against the real code of 9 cobra_* modules. 35 XML files read, 5 tech debts identified, ~60 custom fields inventoried.
-
Autonomous supplier-invoice processing agent
Framing the whole architecture of an invoice agent (5 channels, line-by-line matching, 4 sub-agents, Teams actions) before writing a single line of code. Touch Odoo only once a week.
-
Automatic Odoo product creation agent
Automating Odoo product creation through multi-source triangulation (POS Excel, email screenshot, price photo). First pattern on the Sony Bravia FY26 catalog.
-
SFTP server + automatic dropshipping stock pipeline
SSH hardening (fail2ban, ufw, chroot) + script that pushes any deposited file into Odoo via the existing module. Hooking into action_run_import: ×60 speed gain.
-
PO email routing Drop vs Replenishment + Cobra templates
Routing the PO confirmation email to the right Cobra template depending on Drop (direct delivery) or Replenishment (warehouse), with _send_confirmation_mail override. In prod.
-
Dynaudio Emit II sales analysis: Shopify + Odoo cross-referenced
Cross-referencing Shopify (web channel, 104 orders) and Odoo (all channels, 186 units, +79%) for an accurate sales picture. The limits of Drive MCP for file editing.
-
Claude Code mission brief: D&M France invoice verification
14 PDF invoices imported as Odoo drafts, unreliable. A structured, secure brief (PO matching, WEEE, discount, safeguards) so Claude Code can work autonomously.
-
CDC-18 form view: surgical deployment to prod
Pushing only the PO form to prod (buttons, dynamic titles, statusbar) without pulling in CDC-19 — isolating a clean commit from a mixed preprod3 stack.
-
Delivered / Invoiced / Paid statuses on purchase orders
3 consolidated statuses (Delivered/Invoiced/Paid) as badges on the PO form and lists, so you can tell the real status of an order at a glance. Multi-list xpath pitfalls.
-
CDC-19: improved purchase order list view
Drop/Replenishment badge, confirmed delivery date, dates without time in the PO list. Two OWL 18 pitfalls: position=attributes ignored, silent XML rollback.
-
CDC-18: Cobra purchase workflow (cobra_purchase)
A full purchase module for Cobra: RFQ/PO dashboards, supplier reply detection, warehouse filters. 6 Odoo 18 SaaS bugs turned into 7 reusable rules.
-
Sogetronic seed + Knowledge Hub Claude restructuring
Two needs in one session: loading Sogetronic Sage Codes onto 175 product records, and restructuring Claude context files for dual chat + Code usage.
-
Cobra SFTP infrastructure: phase 1 server setup
Building a lasting SFTP infra (Scaleway/Ubuntu) where each supplier drops their stock files, automatically picked up by Odoo. Step-by-step server setup.
-
cobra.fr GTM overhaul: purge 71 → 20 tags + Consent Mode v2
71 accumulated tags, outdated CMP, hacky Consent Mode. Migration to native Shopify Consent Mode v2, purge to 20 tags, ~70 orphaned variables removed.
-
Shopify collections SEO fix (Guillaume audit)
11 systemic issues across ~175 collections after a mass optimization. 182 "| Cobra.fr" suffixes removed in 26 GraphQL batches, 0 errors. Post-compaction recovery.
-
Supplier PO email template overhaul (FR + EN)
Bringing the PO template up to the level of the "payment" template, bilingual, with locked text constraints. Formatting only — zero back-and-forth on the content.
-
Structuring the Claude "Odoo" project: ecosystem reference docs
Consolidating all validated technical connections into a reference doc so every new conversation starts with the right context.
-
Cobra inbox audit & filtering (Outlook)
Taking back control of the hlahutte@cobra.fr inbox buried in noise (Odoo catchall, EDI, notifications): 30-day audit, server/client rules, urgent backlog.
-
Shopify/Odoo audit: 803 products, 3 months of work
Cross-referencing the Shopify catalog (front) and Odoo (back): reference consistency, prices, stock, metadata across 803 products. The B&W AM-1 pair vs. unit case.
-
Colleagues start using Claude
Claude isn't staying a solo tool: colleagues at Cobra are starting to use it. Sharing context without credentials, a solid CLAUDE.md, avoiding reinventing the wheel.
-
Claude arrives in the Cobra workflow
Before Claude, Odoo dev was done by hand: OCA forums, docs, trial and error. The pivot — treating Claude as a senior colleague who amplifies, not replaces.
Sample entry — the Cobra journal will fill up session by session.