Customers (contacts and locations)#
ELT customer data is split across two levels:
- Contacts (
res.partner) — a company or individual, one entity - Locations (
fsm.location) — a single customer can have multiple sites (e.g. a housing company with several addresses)
Creating a customer#
Contacts → Create.
Required:
- Name — company name or person name
- Company / Individual — radio choice important for Netvisor sync
- Address — primary billing address
Recommended:
- Business ID (Y-tunnus) (companies, format
1234567-8) — needed for the Netvisor link - VAT — if different from business ID (e.g. foreign)
- Email — invoices go here
- Phone — installer will need this
**Don't use company.partner_id or similar "base partner" as fsm.location.partner_id.** OCA fieldservice propagates name/active changes between partner ↔ location, so if the location's data changes, the entire company name might change. This is a big bug source (200.x).
Creating a location#
One customer can have 1–N locations. Creating one:
- From the customer form, Locations tab → “Create”
- OR: Field Service → Configuration → Locations → Create
Required:
- Name — e.g. “Head office, Espoo”
- Customer — link to the customer
- Address — physical visiting address
Optional:
- Description — persistent location notes (“Key in box X”, “Cat escapes through front door”, “Resident over 80 y old”)
- Equipment — installed equipment at this site (heat pumps, AC, etc.) — see Equipment
Contact people#
A customer can have multiple contacts (child_ids):
- Customer form, Contacts tab → “Create”
- Separated by role: “Decision maker”, “Technical”, “Billing address”
Contact name + email + phone shows in the task form for the installer to read.
Contract customers#
ELT practice: large contract customers (e.g. municipalities, big property companies) are tagged and their locations are persistent rows. This separates them from “one-off” customers.
Troubleshooting#
Customer doesn’t appear in invoicing
Common reasons:
- **Customer has no business ID or personal ID** — Netvisor
rejects.
- **Customer is archived (`active=False`)** — filter "Archived"
on the search.
- **Customer has no invoicing address** — invoice address field is
required before the first invoice.
Two customers with the same business ID
Sometimes duplicates appear e.g. via the purchase-invoice import
(Netvisor name differs from Odoo name). Merge:
1. Open the "older" customer.
2. Action → Merge.
3. Pick the duplicate → Merge.
This combines all references onto the new merged record.
fsm.location 12, 13 are named ‘EL-Tekniikka Oy’
Old placeholder residue. Manual fix: open each, update customer +
address. id 14 has been archived. Plan to clean these up in a
single cleanup task.