Products and inventory#
ELT’s product catalogue has 170,000+ products — the vast majority imported via the LVISnet wholesaler channel. Manually entered products are for special measurements or non-LVISnet items (e.g. own tools, equipment).
Product family#
Odoo distinguishes two levels:
product.template— the “abstract” product (e.g. “Nibe S1255 heat pump”)product.product— variant (e.g. different colours, sizes — at ELT mostly 1:1 with the template)
Generally ELT works at the template level.
Creating a product#
Inventory → Products → Create.
Required:
- Name — e.g. “Nibe S1255 16 kW heat pump”
- Internal Reference (default_code) — the sähkönumero (electrical product code)
- Sales Price — selling price
- Cost — acquisition price (if stored)
- Type — Consumable / Storable / Service
Recommended:
- Barcode — EAN code for scanning
- Category — grouping for reporting
- UoM — unit of measure (pcs, m, kg, h)
LVISnet products#
LVISnet wholesalers’ products are created automatically on the 1st of the month. They have:
lvisnet_imported = Trueflag distinguishing them from manually created ones.- Sahkönumero in the
default_codefield. - Price history auto-updates — a new import refreshes pricing.
LVISnet import explains in more detail.
Stock locations#
Inventory → Configuration → Warehouses → Locations.
ELT’s typical structure:
| Location type | What |
|---|---|
| Stock | Main warehouse (ELT’s own) |
| Customer | At the customer (when you ship to a site) |
| Vendor | At the wholesaler (when buying) |
| Transit | In transit |
| Inventory loss / adjustment | Losses and inventory corrections |
The installer’s PWA uses Stock level when showing balances.
Inventory for the PWA#
The installer’s PWA loads once a day (or forced manually) the full product catalogue for offline use. This enables product search and barcode scanning in the field without a connection.
Pre-load is 170,000 rows, takes 1–3 min. PWA’s Settings → “Sync inventory now” forces it.
Pricing via pricelists#
A product’s price can vary by customer or contract. Pricelist defines which price is used in which situation.
- Default Pricelist — general price
- Contract customer’s pricelist — may e.g. be -15% off default
- Per-wholesaler pricelist — LVISnet wholesalers’ own prices, used as display prices in the installer’s PWA
Stock balances#
Inventory → Operations → Inventory Adjustments.
Inventory is verified in ELT’s main warehouse monthly. Differences are corrected here — and the installer’s PWA gets the updated balances on the next sync.
Archiving products#
Don’t delete products — archive (active=False). Deleting
breaks all references to past tasks/invoices/stock moves.