Skip to content

JDX Core Data

Base configuration and master data for JDX window blinds deployments.

Module Overview

Field Value
Technical Name jdx_core_data
Version 15.0.1.0.0
Category Sales
Dependencies base, sale, purchase, stock, bi_product_dimension

Overview

This module initializes a fresh Odoo database with all required configuration for the JDX window blinds business. Install this on a new database to skip manual setup.

Clean Database Setup

Combined with without_demo = all in odoo.conf, this module creates a production-ready database without Odoo's sample data.

What's Included

MTO Route (Make to Order)

The MTO route is archived by default in Odoo 15. This module unarchives it automatically.

<!-- Unarchive MTO route -->
<record id="stock.route_warehouse0_mto" model="stock.route">
    <field name="active" eval="True"/>
</record>

Why it matters: Without MTO, confirming a Sale Order does NOT create a Purchase Order. See MTO Configuration.

Company Settings

Sets default company configuration:

Setting Value Description
price_calculation dimension Price based on m2 (Width × Height)

Item Locations

15 pre-configured room locations for window installation:

Location Location Location
Living Room Master Bedroom Bedroom 1
Bedroom 2 Bedroom 3 Kitchen
Dining Room Bathroom Master Bath
Office Guest Room Laundry
Garage Front Door Back Door

Supply Colors

14 hardware color options:

Color Color Color
White Off White Ivory
Cream Brown Dark Brown
Black Grey Charcoal
Champagne Bronze Nickel
Silver Gold

Product Categories

Complete category hierarchy for window coverings:

All Products
├── Window Coverings
│   ├── Blinds
│   │   ├── Honeycomb Blinds
│   │   ├── Roller Blinds
│   │   ├── Zebra Blinds
│   │   ├── Wood Blinds
│   │   ├── Faux Wood Blinds
│   │   └── Vertical Blinds
│   ├── Shades
│   │   ├── Roman Shades
│   │   └── Solar Shades
│   └── Shutters
├── Services
│   ├── Installation
│   └── Repair
├── Surcharge
└── Accessories
    ├── Motors
    ├── Remotes
    └── Hardware

Installation

New Database

# Create database with core data (no demo)
docker compose exec odoo odoo -d new_db -i base,jdx_core_data --stop-after-init

Existing Database

# Install on existing database
docker compose exec odoo odoo -d existing_db -i jdx_core_data --stop-after-init

Module Structure

jdx_core_data/
├── __manifest__.py
├── __init__.py
├── security/
│   └── ir.model.access.csv
└── data/
    ├── stock_route_data.xml      # Unarchives MTO route
    ├── company_data.xml          # Company settings
    ├── item_location_data.xml    # Room locations
    ├── supply_color_data.xml     # Hardware colors
    └── product_category_data.xml # Category hierarchy

Extending Core Data

Add Custom Locations

Create a new data file or modify item_location_data.xml:

<record id="location_sunroom" model="item.location">
    <field name="name">Sunroom</field>
</record>

Add Custom Colors

Modify supply_color_data.xml:

<record id="color_custom" model="supply.color">
    <field name="name">Custom Match</field>
</record>

Add Products

Create a new data file data/product_data.xml:

<record id="product_honeycomb_basic" model="product.template">
    <field name="name">Honeycomb Blind - Basic</field>
    <field name="type">product</field>
    <field name="categ_id" ref="categ_honeycomb"/>
    <field name="route_ids" eval="[(6, 0, [
        ref('stock.route_warehouse0_mto'),
        ref('purchase_stock.route_warehouse0_buy')
    ])]"/>
</record>

Then add to __manifest__.py:

'data': [
    # ... existing files ...
    'data/product_data.xml',
],

Best Practices

For Multi-Company

Each company can have different: - Order sequence prefixes (via bi_product_dimension settings) - Excluded PO split categories

For New Deployments

  1. Install jdx_core_data first
  2. Then install business modules (bi_product_dimension, customer_payment_method, etc.)
  3. Configure company-specific settings in Odoo UI

Data vs noupdate

Current data files use noupdate="0" which means: - Data is updated on module upgrade - Manual changes may be overwritten

To prevent overwrites, change to noupdate="1" for records you want to manually manage.

Troubleshooting

MTO Still Archived

  1. Verify module installed: Apps → JDX Core Data
  2. Upgrade module: -u jdx_core_data
  3. Check Inventory → Configuration → Routes (remove Archived filter)

Categories Not Showing

  1. Refresh browser
  2. Check Inventory → Configuration → Product Categories
  3. Verify product module is installed

Locations/Colors Empty

  1. Check Sales → Configuration → Item Locations
  2. Check Sales → Configuration → Supply Colors
  3. Upgrade module if recently modified