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 →-
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.