OrderAirlock[ ≡ ] ANSI X12 355 PO AIRLOCK
← All 15 Wholesale ERP & EDI Import Error Guides · Odoo 19
ERR-08 • ODOO19-NO-MATCHING-RECORD-DEFAULT-CODE • GATE 2 — CUSTOMER-SCOPED SKU ALIAS RESOLUTION

Odoo 19 CSV Import: 'No Matching Record Found for Field Product (default_code)' on Customer SKUs

Target ERP / Standard: Odoo 19 Sales (`sale.order` / `sale.order.line`) · Deterministic Compiler Profile: odoo_19

AUTOMATED PRE-ERP QUARANTINE & TRANSPARENT PRICING

OrderAirlock blocks ODOO19-NO-MATCHING-RECORD-DEFAULT-CODE deterministically with zero LLM calls before bad quantities or prices enter Odoo 19 Sales (`sale.order` / `sale.order.line`). Starter: $249/mo ($2,490/yr annual, 500 POs/mo) · Distributor & FDE Pro: $499/mo ($4,990/yr annual, 2,500 POs/mo) — 0% transaction cut.

Run <60s Broken-PO Sandbox (/desk)Inspect Live Split-Screen WorkbenchView $249 / $499 Plans
Automated Fix & Pricing (`OrderAirlock`): Starter $249/mo ($2,490/yr annual, 500 POs/mo) · Distributor/FDE Pro $499/mo ($4,990/yr annual, 2,500 POs/mo) — maps buyer-specific part numbers to your Odoo default_code and stores raw buyer codes in order_line/x_source_customer_sku.

Direct Root Cause & Fix: Odoo's base_import wizard only matches order_line/product_id/default_code against your internal Internal Reference (product.product.default_code)—not buyer-specific part numbers, causing the entire sale.order CSV batch to roll back on a single unknown alias.

Hidden Whitespace & Formula-Prefix Traps in Buyer CSVs

  1. Leading spaces, non-breaking spaces, or stripped leading zeros (004812 -> 4812 in Excel) break default_code exact matching.
  2. Customer descriptions starting with -, +, or = trigger spreadsheet formula corruption unless RFC 4180 / OWASP-sanitized.

Deterministic Fix

  • Normalize customer codes and part aliases (trim().toUpperCase()), resolve via customer-scoped alias table (customer_code + customer_part_alias -> default_code), and quarantine only genuinely new SKUs for 1-click mapping prior to generating <po_number>_odoo19_sales_order.csv.
RAW BROKEN INBOUND PAYLOAD (QUARANTINED)
PO-905,CUST-88,2026-11-11,1,CUST-PUMP-77A,Condensate Pump,2,EA,64.0000
ORDERAIRLOCK VERIFIED ODOO_19 OUTPUT
PO-905,CUST-88,2026-11-11,1,DIV-CP22-115V,Condensate Pump,2,EA,64.0000,CUST-PUMP-77A,[Alias: CUST-PUMP-77A -> DIV-CP22-115V]
COMMON PRACTITIONER DIAGNOSTIC QUERIES
  • Odoo 19 no matching record found for field Product order_line/product_id/default_code
  • import customer part numbers into Odoo sale.order CSV
  • map customer SKU aliases to Odoo internal reference default_code