<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ELT — Work — Documentation</title><link>https://docs.elt.systems/en/</link><description>Recent content on ELT — Work — Documentation</description><generator>Hugo</generator><language>en</language><copyright>© EL-Tekniikka Oy</copyright><atom:link href="https://docs.elt.systems/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating and dispatching tasks</title><link>https://docs.elt.systems/en/docs/tyonjohtaja/tehtavien-luonti/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/tyonjohtaja/tehtavien-luonti/</guid><description>&lt;h1 id="creating-and-dispatching-tasks"&gt;Creating and dispatching tasks&lt;a class="anchor" href="#creating-and-dispatching-tasks"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Tasks are typically created &lt;strong&gt;from the office side&lt;/strong&gt; based on
a customer request (phone call, email, customer portal). The
foreman is responsible for making sure each task has a suitable
installer and that the work progresses.&lt;/p&gt;
&lt;h2 id="creating-a-task"&gt;Creating a task&lt;a class="anchor" href="#creating-a-task"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Field Service → Orders → Create&lt;/strong&gt; or via the landing-page
shortcut.&lt;/p&gt;
&lt;p&gt;Required fields:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Customer&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Customer (contact). If new, create in Contacts first&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Location&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Customer site — if there are several, pick the right one&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Brief for the installer — what to do, where to start&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Scheduled date&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Planned start date — required for the planning calendar&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optional:&lt;/p&gt;</description></item><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>Installing the PWA on your phone</title><link>https://docs.elt.systems/en/docs/asentaja/pwa-asennus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/pwa-asennus/</guid><description>&lt;h1 id="installing-the-pwa-on-your-phone"&gt;Installing the PWA on your phone&lt;a class="anchor" href="#installing-the-pwa-on-your-phone"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The ELT Field Service app (PWA, &lt;em&gt;Progressive Web App&lt;/em&gt;) runs in a
browser, but you should &lt;strong&gt;install it to your phone&amp;rsquo;s home screen&lt;/strong&gt;:
it then launches like a normal app, hides the browser&amp;rsquo;s address
bar, and push notifications + background sync work more reliably.&lt;/p&gt;
&lt;h2 id="android-chrome"&gt;Android (Chrome)&lt;a class="anchor" href="#android-chrome"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="adding-to-the-home-screen"&gt;Adding to the home screen&lt;a class="anchor" href="#adding-to-the-home-screen"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;https://mobile.work.elt.systems&lt;/code&gt; in Chrome.&lt;/li&gt;
&lt;li&gt;Log in (with credentials from the office — see
&lt;a href="../kirjautuminen/"&gt;Login&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Open Chrome&amp;rsquo;s three-dot menu (⋮) and pick
&lt;strong&gt;&amp;ldquo;Install app&amp;rdquo;&lt;/strong&gt; (or &amp;ldquo;Add to Home screen&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;Confirm — the icon appears on your home screen as &lt;strong&gt;ELT FSM&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Launch it from there → it looks like a real app, no browser
chrome.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="enabling-push-notifications"&gt;Enabling push notifications&lt;a class="anchor" href="#enabling-push-notifications"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Notifications are not on by default — you activate them once. After
that you&amp;rsquo;ll get a notification each time you&amp;rsquo;re assigned a task or
an assistant-installer request comes in.&lt;/p&gt;</description></item><item><title>Login and language selection</title><link>https://docs.elt.systems/en/docs/asentaja/kirjautuminen/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/kirjautuminen/</guid><description>&lt;h1 id="login-and-language-selection"&gt;Login and language selection&lt;a class="anchor" href="#login-and-language-selection"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The PWA needs four things to log in: &lt;strong&gt;server URL&lt;/strong&gt;, &lt;strong&gt;database
name&lt;/strong&gt;, &lt;strong&gt;username&lt;/strong&gt;, and an &lt;strong&gt;API key&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="first-login"&gt;First login&lt;a class="anchor" href="#first-login"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The office gives you these credentials. Open
&lt;code&gt;https://mobile.work.elt.systems&lt;/code&gt; on your phone and fill in:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Field&lt;/th&gt;
 &lt;th&gt;What it is&lt;/th&gt;
 &lt;th&gt;Example&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Server URL&lt;/td&gt;
 &lt;td&gt;Pre-filled&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;https://mobile.work.elt.systems&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Database&lt;/td&gt;
 &lt;td&gt;From the office&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kissa&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Username&lt;/td&gt;
 &lt;td&gt;Email or name&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;firstname@elt.fi&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;API Key&lt;/td&gt;
 &lt;td&gt;From the office — a long random string&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;a1b2c3d4...&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class="book-hint info" &gt;

**Don't use your Odoo password to log in to the PWA.**
The PWA uses a separate API key. Your password only works for the
desktop version (work.elt.systems).
&lt;/blockquote&gt;
&lt;h3 id="remember-me"&gt;&amp;ldquo;Remember me&amp;rdquo;&lt;a class="anchor" href="#remember-me"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Tick the &lt;strong&gt;&amp;ldquo;Remember me&amp;rdquo;&lt;/strong&gt; box before logging in. After that:&lt;/p&gt;</description></item><item><title>Planning calendar</title><link>https://docs.elt.systems/en/docs/tyonjohtaja/planning-calendar/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/tyonjohtaja/planning-calendar/</guid><description>&lt;h1 id="planning-calendar"&gt;Planning calendar&lt;a class="anchor" href="#planning-calendar"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The planning calendar is the foreman&amp;rsquo;s main tool — it shows all
installers and their tasks side by side at a glance.&lt;/p&gt;
&lt;p&gt;Open: &lt;strong&gt;Field Service → Planning Calendar&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="core-view-elements"&gt;Core view elements&lt;a class="anchor" href="#core-view-elements"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Days on the horizontal axis&lt;/strong&gt;, &lt;strong&gt;installers on the vertical&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Each task is a coloured bar whose width = estimated duration.&lt;/li&gt;
&lt;li&gt;Task colour = state or priority (office configures).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Green border&lt;/strong&gt; = task complete. Can be filtered if desired.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="time-range-zoom"&gt;Time-range zoom&lt;a class="anchor" href="#time-range-zoom"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Top-bar buttons / quick selectors:&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>Inviting an assistant installer</title><link>https://docs.elt.systems/en/docs/tyonjohtaja/apuasentajat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/tyonjohtaja/apuasentajat/</guid><description>&lt;h1 id="inviting-an-assistant-installer"&gt;Inviting an assistant installer&lt;a class="anchor" href="#inviting-an-assistant-installer"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The primary installer invites &lt;strong&gt;assistants&lt;/strong&gt; onto a task when an
extra pair of hands is needed at the site. This is an organic
social flow: foreman doesn&amp;rsquo;t need to micro-manage, installers
arrange amongst themselves and work agile.&lt;/p&gt;
&lt;h2 id="invitation-from-the-pwa-installer-side"&gt;Invitation from the PWA (installer side)&lt;a class="anchor" href="#invitation-from-the-pwa-installer-side"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Primary installer opens the task in the PWA.&lt;/li&gt;
&lt;li&gt;Top of the task: &lt;strong&gt;&amp;ldquo;Request help&amp;rdquo;&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Pick another installer from the list.&lt;/li&gt;
&lt;li&gt;The task sends a &lt;strong&gt;push notification&lt;/strong&gt; to the selected
installer.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="accepting-the-invitation-assistant-side"&gt;Accepting the invitation (assistant side)&lt;a class="anchor" href="#accepting-the-invitation-assistant-side"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The assistant sees:&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>Working with tasks</title><link>https://docs.elt.systems/en/docs/asentaja/tehtava-perusteet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/tehtava-perusteet/</guid><description>&lt;h1 id="working-with-tasks"&gt;Working with tasks&lt;a class="anchor" href="#working-with-tasks"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;A task — Field Service Order — is one unit of work: one customer,
one site, one visit. The installer sees their tasks in the PWA.&lt;/p&gt;
&lt;h2 id="task-states"&gt;Task states&lt;a class="anchor" href="#task-states"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;State&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Planned&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Office has created the task, work hasn&amp;rsquo;t started&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;In progress&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;You&amp;rsquo;ve started the work — clock running&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Done&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;You marked the task complete, foreman approves for invoicing&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Cancelled&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Won&amp;rsquo;t happen (e.g. customer not on site)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="using-the-task-list"&gt;Using the task list&lt;a class="anchor" href="#using-the-task-list"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The PWA home view shows:&lt;/p&gt;</description></item><item><title>Approving hours and expenses</title><link>https://docs.elt.systems/en/docs/tyonjohtaja/hyvaksynnat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/tyonjohtaja/hyvaksynnat/</guid><description>&lt;h1 id="approving-hours-and-expenses"&gt;Approving hours and expenses&lt;a class="anchor" href="#approving-hours-and-expenses"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Weekly rhythm: the foreman &lt;strong&gt;reviews the week&amp;rsquo;s hours and expenses&lt;/strong&gt;
before they move to invoicing or payroll.&lt;/p&gt;
&lt;h2 id="why-approval-matters"&gt;Why approval matters&lt;a class="anchor" href="#why-approval-matters"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Installer-submitted lines&lt;/strong&gt; can contain errors (wrong day,
wrong task, wrong amount).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Business needs review&lt;/strong&gt;: approved line → billed to customer →
ELT&amp;rsquo;s revenue. A bad line → customer complains.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tax authority requires&lt;/strong&gt;: mileage and per diems must be
documented sensibly before payroll.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="approving-hours"&gt;Approving hours&lt;a class="anchor" href="#approving-hours"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Field Service → Timesheets&lt;/strong&gt; or &lt;strong&gt;HR → Timesheets&lt;/strong&gt;.&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>Logging hours</title><link>https://docs.elt.systems/en/docs/asentaja/tunnit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/tunnit/</guid><description>&lt;h1 id="logging-hours"&gt;Logging hours&lt;a class="anchor" href="#logging-hours"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;You can add hours from two places: &lt;strong&gt;per task&lt;/strong&gt; or via the
&lt;strong&gt;general Hours view&lt;/strong&gt;. The result is the same; the choice is
about ergonomics.&lt;/p&gt;
&lt;h2 id="per-task-hour-entry"&gt;Per-task hour entry&lt;a class="anchor" href="#per-task-hour-entry"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When you&amp;rsquo;re in a task:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;Hours&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;quot;+ Add hours&amp;quot;&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;In the modal:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Date&lt;/strong&gt; — calendar picker. You can collapse the calendar if
you don&amp;rsquo;t need it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hours&lt;/strong&gt; — e.g. &lt;code&gt;1.5&lt;/code&gt; or &lt;code&gt;1:30&lt;/code&gt;. Both decimal and colon work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom task&lt;/strong&gt; dropdown — optional, if you want to specify
which sub-task (&amp;ldquo;Electrical&amp;rdquo;, &amp;ldquo;Travel&amp;rdquo;, &amp;ldquo;Break&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt; — optional note.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save&lt;/strong&gt; → the line appears in the list and syncs to the
server (or queues if you&amp;rsquo;re offline).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="general-hours-view"&gt;General Hours view&lt;a class="anchor" href="#general-hours-view"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When you want to see &lt;strong&gt;all your hours for the day/week/month&lt;/strong&gt; in
one list:&lt;/p&gt;</description></item><item><title>Installer status</title><link>https://docs.elt.systems/en/docs/tyonjohtaja/asentajien-status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/tyonjohtaja/asentajien-status/</guid><description>&lt;h1 id="installer-status"&gt;Installer status&lt;a class="anchor" href="#installer-status"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This page gathers the views from which the foreman can see in
&lt;strong&gt;real time&lt;/strong&gt; what installers are doing and where things are
slowing down.&lt;/p&gt;
&lt;h2 id="workers-list"&gt;Workers list&lt;a class="anchor" href="#workers-list"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Field Service → Workers&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Shows all &lt;code&gt;fsm.person&lt;/code&gt; rows at ELT — practically every installer
with rights to take tasks. Columns:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; + &lt;strong&gt;Email&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User&lt;/strong&gt; — Odoo user link (&lt;code&gt;elt_user_id&lt;/code&gt;, 200.7+)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;This week&amp;rsquo;s hours&lt;/strong&gt; — summary&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active tasks&lt;/strong&gt; — how many&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Certificates / competencies&lt;/strong&gt; (if used)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Click a row → the person&amp;rsquo;s detail view, calendar, history.&lt;/p&gt;</description></item><item><title>Logging expenses</title><link>https://docs.elt.systems/en/docs/asentaja/kulut/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/kulut/</guid><description>&lt;h1 id="logging-expenses"&gt;Logging expenses&lt;a class="anchor" href="#logging-expenses"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Expenses are all work-related costs not yet billed to the customer:
&lt;strong&gt;mileage&lt;/strong&gt;, &lt;strong&gt;per diems&lt;/strong&gt;, &lt;strong&gt;materials&lt;/strong&gt; (if you bought something
on site from a reseller), and &lt;strong&gt;other&lt;/strong&gt; (parking, waste fees,
toll/ferry fees).&lt;/p&gt;
&lt;h2 id="typical-expense-categories"&gt;Typical expense categories&lt;a class="anchor" href="#typical-expense-categories"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Category&lt;/th&gt;
 &lt;th&gt;What it is&lt;/th&gt;
 &lt;th&gt;Tax-free limit&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Mileage&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Use of your own vehicle&lt;/td&gt;
 &lt;td&gt;Set yearly by the tax authority&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Per diem (partial / full)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Working more than 6 h away from home&lt;/td&gt;
 &lt;td&gt;Set yearly by the tax authority&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Meal allowance&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Lunch on a trip&lt;/td&gt;
 &lt;td&gt;Set yearly by the tax authority&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Material&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Item bought on site&lt;/td&gt;
 &lt;td&gt;Per the receipt&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Toll fee&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Tunnel, ferry, parking&lt;/td&gt;
 &lt;td&gt;Per the receipt&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Other&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Anything else work-related&lt;/td&gt;
 &lt;td&gt;Per the receipt&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote class="book-hint info" &gt;

**The office defines the exact reimbursement classes and amounts**
annually, following the tax authority's rules. The PWA's expense-
category dropdown shows the currently valid options.
&lt;/blockquote&gt;
&lt;h2 id="adding-an-expense-to-a-task"&gt;Adding an expense to a task&lt;a class="anchor" href="#adding-an-expense-to-a-task"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When you&amp;rsquo;re in a task:&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>Registering equipment</title><link>https://docs.elt.systems/en/docs/asentaja/laitteet/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/laitteet/</guid><description>&lt;h1 id="registering-equipment"&gt;Registering equipment&lt;a class="anchor" href="#registering-equipment"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;When you install a new device at a customer site (heat pump, ceiling
heater, AC unit, lighting sensor, …), you should &lt;strong&gt;register it in
the customer&amp;rsquo;s equipment list&lt;/strong&gt;. This pays off in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Warranty handling&lt;/strong&gt; — when a fault comes up in 2 years, any
installer can see which device, from which supplier, when
installed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service history&lt;/strong&gt; — for each device, all tasks involving it are
shown.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contract customers&lt;/strong&gt; — the office reports the equipment in the
registry.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="registering-from-a-product-line"&gt;Registering from a product line&lt;a class="anchor" href="#registering-from-a-product-line"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The easiest path: you&amp;rsquo;ve already added a product line to the task
(e.g. a Nibe F-series heat pump). From there:&lt;/p&gt;</description></item><item><title>Adding photos to tasks</title><link>https://docs.elt.systems/en/docs/asentaja/kuvat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/kuvat/</guid><description>&lt;h1 id="adding-photos-to-tasks"&gt;Adding photos to tasks&lt;a class="anchor" href="#adding-photos-to-tasks"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Photos are the primary way to document work. They protect both the
installer (&amp;ldquo;I did exactly this&amp;rdquo;) and the customer (&amp;ldquo;this is how it
was before&amp;rdquo;). You can add unlimited photos — the old 10-photo limit
is gone.&lt;/p&gt;
&lt;h2 id="when-to-take-a-photo"&gt;When to take a photo&lt;a class="anchor" href="#when-to-take-a-photo"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Before starting&lt;/strong&gt; — overall site, the old device, wiring you&amp;rsquo;re
about to remove.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;During the work&lt;/strong&gt; — phases if something turns out differently
than expected (e.g. &amp;ldquo;behind the electrical panel was not what
I expected&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When done&lt;/strong&gt; — the final result. Customers want this as a record.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Defective parts&lt;/strong&gt; you replaced — sometimes the supplier wants a
photo for warranty processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wiring diagrams / device internals&lt;/strong&gt; — helps a future installer
who comes to the same site.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="adding-a-photo-to-a-task"&gt;Adding a photo to a task&lt;a class="anchor" href="#adding-a-photo-to-a-task"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When you&amp;rsquo;re in a task:&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><item><title>Offline mode</title><link>https://docs.elt.systems/en/docs/asentaja/offline/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/offline/</guid><description>&lt;h1 id="offline-mode"&gt;Offline mode&lt;a class="anchor" href="#offline-mode"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The PWA is designed to work in the field without internet:
basements, parking garages, remote sites, &amp;ldquo;5G not here yet&amp;rdquo;
country roads.&lt;/p&gt;
&lt;h2 id="what-works-offline"&gt;What works offline&lt;a class="anchor" href="#what-works-offline"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;✅ &lt;strong&gt;Browsing tasks&lt;/strong&gt; — last-fetched tasks and their details are
cached.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Logging hours&lt;/strong&gt; — the modal works normally, the saved line
queues.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Logging expenses&lt;/strong&gt; — same as hours, including receipt photos
stored locally.&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Adding photos&lt;/strong&gt; — camera opens, photo stores locally, queues
for upload.&lt;/p&gt;</description></item><item><title>Notifications (push)</title><link>https://docs.elt.systems/en/docs/asentaja/ilmoitukset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/asentaja/ilmoitukset/</guid><description>&lt;h1 id="notifications-push"&gt;Notifications (push)&lt;a class="anchor" href="#notifications-push"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Push notifications are the fastest way to know that you&amp;rsquo;ve been
assigned a new task or that the foreman needs help. They arrive in
the phone&amp;rsquo;s notification bar &lt;strong&gt;even when the PWA is closed&lt;/strong&gt; or the
phone is locked.&lt;/p&gt;
&lt;h2 id="what-notifications-youll-see"&gt;What notifications you&amp;rsquo;ll see&lt;a class="anchor" href="#what-notifications-youll-see"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Situation&lt;/th&gt;
 &lt;th&gt;Notification&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;New task assigned to you&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;Assigned to task: FO023 — Electrical work&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Assistant request&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;Help requested: Kalle / FO024&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Approval received (hours / expenses)&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;Your hours for week 21 approved&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Other foreman message&lt;/td&gt;
 &lt;td&gt;Subject as the title&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Tap the notification → the PWA opens directly on the right task.&lt;/p&gt;</description></item><item><title>Updates</title><link>https://docs.elt.systems/en/docs/paivitykset/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.elt.systems/en/docs/paivitykset/</guid><description>&lt;h1 id="updates"&gt;Updates&lt;a class="anchor" href="#updates"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Important system updates and new features in chronological order
(newest on top).&lt;/p&gt;
&lt;h2 id="24-may-2026"&gt;24 May 2026&lt;a class="anchor" href="#24-may-2026"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="pwa-v134--check-for-updates-button--install-option-restored"&gt;PWA v1.3.4 — &amp;ldquo;Check for updates&amp;rdquo; button + install option restored&lt;a class="anchor" href="#pwa-v134--check-for-updates-button--install-option-restored"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A new &lt;strong&gt;&amp;ldquo;Check for updates&amp;rdquo;&lt;/strong&gt; button in Settings forces the
service worker to check for new versions. One click → new version
in use. No more closing/opening the app multiple times.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Install app&amp;rdquo;&lt;/strong&gt; in the Chrome menu works again — manifest file
fix.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diagnostic panel&lt;/strong&gt; for push-support checks (Settings →
Notifications → &amp;ldquo;Show technical details&amp;rdquo; if notifications don&amp;rsquo;t
work).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="faster-lvisnet-wholesale-imports-elt_fsm-v20015"&gt;Faster LVISnet wholesale imports (elt_fsm v200.15)&lt;a class="anchor" href="#faster-lvisnet-wholesale-imports-elt_fsm-v20015"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Watchdog now allows 4 h&lt;/strong&gt; (previously 60 min) so 90+ min
imports no longer get cut short.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time progress is visible&lt;/strong&gt; in the &lt;code&gt;lvisnet.fetch.run&lt;/code&gt; list:
&lt;em&gt;&amp;ldquo;Importing OLTUOTE.txt: 87,000 / 171,540 rows…&amp;rdquo;&lt;/em&gt; updates every
~40 seconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="netvisor-accounting-integration-installed-v1801123"&gt;Netvisor accounting integration installed (v18.0.1.12.3)&lt;a class="anchor" href="#netvisor-accounting-integration-installed-v1801123"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Module installed in the production database, crons active (06:00
purchase invoices, 07:00 payment status).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Credentials need to be entered&lt;/em&gt; on the Settings page before
syncs work.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote class="book-hint info" &gt;

This documentation site has been live since 24 May 2026. Older
version updates are documented in the development machine's
`Roadmap.md` and the modules' git history. Only user-visible big
changes are collected here.
&lt;/blockquote&gt;</description></item></channel></rss>