<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Office on ELT — Work — Documentation</title><link>https://docs.elt.systems/en/docs/toimisto/</link><description>Recent content in Office on ELT — Work — Documentation</description><generator>Hugo</generator><language>en</language><copyright>© EL-Tekniikka Oy</copyright><atom:link href="https://docs.elt.systems/en/docs/toimisto/index.xml" rel="self" type="application/rss+xml"/><item><title>Customers (contacts and locations)</title><link>https://docs.elt.systems/en/docs/toimisto/asiakkaat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/asiakkaat/</guid><description>&lt;h1 id="customers-contacts-and-locations"&gt;Customers (contacts and locations)&lt;a class="anchor" href="#customers-contacts-and-locations"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;ELT customer data is split across two levels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Contacts (&lt;code&gt;res.partner&lt;/code&gt;)&lt;/strong&gt; — a company or individual, one entity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Locations (&lt;code&gt;fsm.location&lt;/code&gt;)&lt;/strong&gt; — a single customer can have
&lt;strong&gt;multiple sites&lt;/strong&gt; (e.g. a housing company with several addresses)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="creating-a-customer"&gt;Creating a customer&lt;a class="anchor" href="#creating-a-customer"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Contacts → Create&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; — company name or person name&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Company / Individual&lt;/strong&gt; — radio choice important for Netvisor
sync&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Address&lt;/strong&gt; — primary billing address&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recommended:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Business ID (Y-tunnus)&lt;/strong&gt; (companies, format &lt;code&gt;1234567-8&lt;/code&gt;) —
needed for the Netvisor link&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VAT&lt;/strong&gt; — if different from business ID (e.g. foreign)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Email&lt;/strong&gt; — invoices go here&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phone&lt;/strong&gt; — installer will need this&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="book-hint warning" &gt;

**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).
&lt;/blockquote&gt;
&lt;h2 id="creating-a-location"&gt;Creating a location&lt;a class="anchor" href="#creating-a-location"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;One customer can have 1–N locations. Creating one:&lt;/p&gt;</description></item><item><title>Products and inventory</title><link>https://docs.elt.systems/en/docs/toimisto/tuotteet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/tuotteet/</guid><description>&lt;h1 id="products-and-inventory"&gt;Products and inventory&lt;a class="anchor" href="#products-and-inventory"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;ELT&amp;rsquo;s product catalogue has &lt;strong&gt;170,000+ products&lt;/strong&gt; — 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).&lt;/p&gt;
&lt;h2 id="product-family"&gt;Product family&lt;a class="anchor" href="#product-family"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo distinguishes two levels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;product.template&lt;/code&gt;&lt;/strong&gt; — the &amp;ldquo;abstract&amp;rdquo; product (e.g. &amp;ldquo;Nibe S1255
heat pump&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;product.product&lt;/code&gt;&lt;/strong&gt; — variant (e.g. different colours, sizes —
at ELT mostly 1:1 with the template)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Generally ELT works at the template level.&lt;/p&gt;</description></item><item><title>LVISnet wholesale price import</title><link>https://docs.elt.systems/en/docs/toimisto/lvisnet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/lvisnet/</guid><description>&lt;h1 id="lvisnet-wholesale-price-import"&gt;LVISnet wholesale price import&lt;a class="anchor" href="#lvisnet-wholesale-price-import"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;LVISnet&lt;/strong&gt; is the joint product and price catalogue of Finnish HVAC
and electrical wholesalers. ELT uses it for real-time wholesale
prices in the installer&amp;rsquo;s PWA product search: when an installer
scans a barcode on site, they see the right wholesale price and
availability.&lt;/p&gt;
&lt;p&gt;We support these wholesalers: &lt;strong&gt;Onninen, Dahl, Ahlsell, Sonepar&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="how-the-import-works"&gt;How the import works&lt;a class="anchor" href="#how-the-import-works"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Field Service → LVISnet → Fetch Sources&lt;/strong&gt; lists the wholesalers.
Each row has:&lt;/p&gt;</description></item><item><title>Invoicing (sales invoices)</title><link>https://docs.elt.systems/en/docs/toimisto/laskutus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/laskutus/</guid><description>&lt;h1 id="invoicing-sales-invoices"&gt;Invoicing (sales invoices)&lt;a class="anchor" href="#invoicing-sales-invoices"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;ELT invoices mostly from &lt;strong&gt;two sources&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Field Service tasks&lt;/strong&gt; — when work is done, the task&amp;rsquo;s hours +
expenses + products flow to the invoice&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Direct invoices&lt;/strong&gt; — e.g. periodic invoice for a contract
customer, advance payment, non-task-based&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="typical-flow-task--invoice"&gt;Typical flow: task → invoice&lt;a class="anchor" href="#typical-flow-task--invoice"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Installer marks the task done&lt;/strong&gt; (state = &amp;ldquo;Done&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Foreman approves&lt;/strong&gt; hours and expenses weekly
(&lt;a href="../../tyonjohtaja/hyvaksynnat/"&gt;Approvals&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Office creates the invoice&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Open the task → Action → &lt;strong&gt;&amp;ldquo;Create Invoice&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Odoo creates an &lt;code&gt;account.move&lt;/code&gt; (Draft state).&lt;/li&gt;
&lt;li&gt;The installer&amp;rsquo;s logged &lt;strong&gt;hours × installer rate&lt;/strong&gt;, &lt;strong&gt;expenses&lt;/strong&gt;
and &lt;strong&gt;product lines&lt;/strong&gt; flow over automatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review&lt;/strong&gt;: open the Draft invoice.
&lt;ul&gt;
&lt;li&gt;Check that rows, prices, VAT classes are correct.&lt;/li&gt;
&lt;li&gt;The Resolution text (installer&amp;rsquo;s summary) appears in the
invoice header / memo — the customer sees this.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Confirm&lt;/strong&gt;: Action → Post.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sending to customer&lt;/strong&gt; and &lt;strong&gt;Netvisor&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;To customer: Action → Send &amp;amp; Print (PDF + email).&lt;/li&gt;
&lt;li&gt;To Netvisor: see &lt;a href="../netvisor/"&gt;Netvisor integration&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="invoice-structure"&gt;Invoice structure&lt;a class="anchor" href="#invoice-structure"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Odoo&amp;rsquo;s &lt;code&gt;account.move&lt;/code&gt; parts:&lt;/p&gt;</description></item><item><title>Netvisor accounting integration</title><link>https://docs.elt.systems/en/docs/toimisto/netvisor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/netvisor/</guid><description>&lt;h1 id="netvisor-accounting-integration"&gt;Netvisor accounting integration&lt;a class="anchor" href="#netvisor-accounting-integration"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;ELT&amp;rsquo;s accounting is done in &lt;strong&gt;Netvisor&lt;/strong&gt;, but task invoicing,
payroll, and inventory management are done in &lt;strong&gt;Odoo&lt;/strong&gt;. The bridge
between them is the &lt;code&gt;netvisor_integration&lt;/code&gt; module.&lt;/p&gt;
&lt;h2 id="what-flows-in-which-direction"&gt;What flows in which direction&lt;a class="anchor" href="#what-flows-in-which-direction"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Direction&lt;/th&gt;
 &lt;th&gt;What&lt;/th&gt;
 &lt;th&gt;Schedule&lt;/th&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;NV → Odoo&lt;/td&gt;
 &lt;td&gt;Purchase invoices&lt;/td&gt;
 &lt;td&gt;Daily 06:00&lt;/td&gt;
 &lt;td&gt;✅ Active cron&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NV → Odoo&lt;/td&gt;
 &lt;td&gt;Payment status&lt;/td&gt;
 &lt;td&gt;Daily 07:00&lt;/td&gt;
 &lt;td&gt;✅ Active cron&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Odoo → NV&lt;/td&gt;
 &lt;td&gt;Sales invoices&lt;/td&gt;
 &lt;td&gt;Automatic + manual&lt;/td&gt;
 &lt;td&gt;✅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bi-directional&lt;/td&gt;
 &lt;td&gt;Customer sync&lt;/td&gt;
 &lt;td&gt;Manual wizard&lt;/td&gt;
 &lt;td&gt;✅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Bi-directional&lt;/td&gt;
 &lt;td&gt;Product sync&lt;/td&gt;
 &lt;td&gt;Manual wizard&lt;/td&gt;
 &lt;td&gt;✅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Odoo → NV&lt;/td&gt;
 &lt;td&gt;Payroll&lt;/td&gt;
 &lt;td&gt;Monthly, 1st day at 08:00&lt;/td&gt;
 &lt;td&gt;⚠ Cron off, manual activation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Odoo → NV&lt;/td&gt;
 &lt;td&gt;Expenses as purchase invoices&lt;/td&gt;
 &lt;td&gt;–&lt;/td&gt;
 &lt;td&gt;⚠ Cron off&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="settings-admin-only"&gt;Settings (admin only)&lt;a class="anchor" href="#settings-admin-only"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Settings → Netvisor Integration&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Payroll (HR Payroll)</title><link>https://docs.elt.systems/en/docs/toimisto/palkat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/palkat/</guid><description>&lt;h1 id="payroll-hr-payroll"&gt;Payroll (HR Payroll)&lt;a class="anchor" href="#payroll-hr-payroll"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;In payroll, hours + expenses + contracted pay are combined into
&lt;strong&gt;payslips&lt;/strong&gt; (&lt;code&gt;hr.payslip&lt;/code&gt;). They then flow to Netvisor for
payment.&lt;/p&gt;
&lt;h2 id="monthly-rhythm"&gt;Monthly rhythm&lt;a class="anchor" href="#monthly-rhythm"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Typical month:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Day&lt;/th&gt;
 &lt;th&gt;Task&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;1–31&lt;/td&gt;
 &lt;td&gt;Installers log hours via the PWA, foreman approves weekly&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;30–31&lt;/td&gt;
 &lt;td&gt;Office closes the month, verifies all approvals are done&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1st of next month&lt;/td&gt;
 &lt;td&gt;Payslip creation from previous month&amp;rsquo;s data&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;1.–5.&lt;/td&gt;
 &lt;td&gt;Payslip review, corrections&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;5.–10.&lt;/td&gt;
 &lt;td&gt;Sending to Netvisor for payment&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;14./15.&lt;/td&gt;
 &lt;td&gt;Pay date (via Netvisor)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="creating-a-payslip"&gt;Creating a payslip&lt;a class="anchor" href="#creating-a-payslip"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;HR → Payroll → Payslips → Create&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Equipment and warranties</title><link>https://docs.elt.systems/en/docs/toimisto/laitteet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/laitteet/</guid><description>&lt;h1 id="equipment-and-warranties-maintenanceequipment"&gt;Equipment and warranties (maintenance.equipment)&lt;a class="anchor" href="#equipment-and-warranties-maintenanceequipment"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Equipment registered by installers (heat pumps, AC units, electrical
distribution panels, …) lives in the &lt;strong&gt;&lt;code&gt;maintenance.equipment&lt;/code&gt;&lt;/strong&gt;
model. From the office, you see the overall picture, warranty info
and service history.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="anchor" href="#overview"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Maintenance → Equipments&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The list shows all ELT-registered equipment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; — device description + serial number&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Category&lt;/strong&gt; — device type (heat pump, AC, etc.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customer&lt;/strong&gt; — customer (site)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Install date&lt;/strong&gt; — installation date&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Warranty date&lt;/strong&gt; — expiry of warranty&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active orders&lt;/strong&gt; — count of tasks mentioning this device&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="customer-specific-equipment-list"&gt;Customer-specific equipment list&lt;a class="anchor" href="#customer-specific-equipment-list"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The customer form&amp;rsquo;s &lt;strong&gt;Equipment&lt;/strong&gt; tab shows all devices at that
customer&amp;rsquo;s sites. Easy way to find &amp;ldquo;which customer has a Nibe
S1255&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Admin</title><link>https://docs.elt.systems/en/docs/toimisto/admin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/toimisto/admin/</guid><description>&lt;h1 id="admin"&gt;Admin&lt;a class="anchor" href="#admin"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This section is for the system administrator (&lt;code&gt;group_system&lt;/code&gt;). It
contains operational tasks that are not part of the daily office
routine.&lt;/p&gt;
&lt;h2 id="new-user"&gt;New user&lt;a class="anchor" href="#new-user"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Settings → Users &amp;amp; Companies → Users → Create&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; + &lt;strong&gt;Login&lt;/strong&gt; (usually email)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password&lt;/strong&gt; (temporary, user changes)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Permissions by role:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Role&lt;/th&gt;
 &lt;th&gt;Required groups&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Installer&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;fieldservice.group_fsm_team&lt;/code&gt;, &lt;code&gt;stock.group_stock_user&lt;/code&gt;, &lt;code&gt;hr.group_hr_user&lt;/code&gt;*&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Foreman&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;+ &lt;code&gt;fieldservice.group_fsm_manager&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Office (invoicing)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;+ &lt;code&gt;account.group_account_invoice&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Office (full)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;+ &lt;code&gt;account.group_account_manager&lt;/code&gt;, &lt;code&gt;hr.group_hr_manager&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Admin&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;+ &lt;code&gt;base.group_system&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;* &lt;code&gt;hr.group_hr_user&lt;/code&gt; is needed for installers to log their own
hours and expenses.&lt;/p&gt;</description></item></channel></rss>