Ylläpitäjälle (admin)#

Tämä osio on tarkoitettu järjestelmänvalvojalle (group_system). Sisältää operatiivisia toimia jotka eivät kuulu päivittäiseen toimistorutiiniin.

Uusi käyttäjä#

Settings → Users & Companies → Users → Create.

Pakolliset:

  • Name + Login (yleensä sähköposti)
  • Password (tilapäinen, käyttäjä vaihtaa)

Oikeudet rooleittain:

RooliTarvittavat ryhmät (käsin)
Asentajafieldservice.group_fsm_user, maintenance.group_equipment_manager, hr.group_hr_user
Työnjohtaja+ fieldservice.group_fsm_manager
Toimisto (laskutus)+ account.group_account_invoice
Toimisto (täydet)+ account.group_account_manager, hr.group_hr_manager
Admin+ base.group_system
**v1.200.17+:** `fieldservice.group_fsm_user` tuo automaattisesti `stock.group_stock_user` + `hr_timesheet.group_hr_timesheet_user` implied_ids:n kautta — niitä ei tarvitse enää valita käsin. Vanhat asennukset (ennen 1.200.17) ovat saaneet ne käsin asetettuna, ja se toimii edelleen — uusilla käyttäjillä riittää nyt vähemmän klikkauksia.

Asentajan ryhmät yksityiskohtaisesti — PWA:n eri toiminnot vaativat eri ryhmiä:

RyhmäMihin tarvitaan
fieldservice.group_fsm_userTehtävien näkeminen ja muokkaaminen omiin tehtäviin (tuo implisiittisesti group_fsm_user_own). v1.200.17+ tuo myös stock.group_stock_user ja hr_timesheet.group_hr_timesheet_user automaattisesti.
stock.group_stock_user (implisiittinen)Tuoterivien lukeminen, ja PWA:n “Valmis”-toiminnon stock-konsumointi (stock.picking + stock.move luonti FOnnn → asiakkaan-sijainti -siirtoa varten).
hr_timesheet.group_hr_timesheet_user (implisiittinen)Omien tuntien kirjaaminen (account.analytic.line). Ilman tätä Hours-näkymä ei tallenna mitään.
maintenance.group_equipment_managerLaitteen rekisteröinti PWA:n “Register equipment” -toiminnolla. Ilman tätä yritys epäonnistuu virheellä “You are not allowed to create ‘Maintenance Equipment’”.
hr.group_hr_userKulujen kirjaaminen (hr.expense) ja oman työntekijäkortin lukeminen. Nimi “Officer” on harhaanjohtava — tämä on perustaso, ei HR-manageri.

ELT:n omat ACL-oikeudet asentajalle (eivät ole ryhmiä — ovat ir.model.access.csv-rivejä elt_fsm:ssä):

MalliOikeudet (R/W/C/U)Miksi
fsm.billing.line1/1/1/0PWA:n “Valmis”-toiminto rakentaa laskutusrivit _rebuild_billing_lines():n kautta. Ilman create/write:tä action_complete_work kaatuu virheeseen “You are not allowed to create ‘Billing Line’”. Unlink jää työnjohtajalle.
fsm.easy.timesheet.line1/1/1/0Aika-merkintöjen luonti ajastinkytkimistä.
fsm.order.product.line1/1/1/0Tuoterivien lisäys + määrien muokkaus työn aikana.
**Älä anna `base.group_system` muille kuin järjestelmänvalvojille.** Se sallii kaikki taustakonfigurointitoimet — myös tahattomat. Käytä muita ryhmiä rajaamiseen.

fsm.person -rivi pakollinen#

Käyttäjän luonnin lisäksi asentajalle tarvitaan fsm.person- rivi Field Service → Workers -listassa. Ilman sitä Field Service ei tunnista häntä asentajaksi.

fsm.person.elt_user_id pitää linkata käyttäjälle (200.7+). Tämä on ELT-spesifinen — OCA:n oletuskäytäntö loi partner- duplikaatteja joka aiheutti bugeja.

Hinnoittelu ja kilometrikorvaus#

Settings → Field Service → Hinnoittelu. Täältä asetetaan FSM‑ palveluiden oletushinnat yhdestä paikasta:

  • Työtunti, kilometrikorvaus, osapäiväraha, päiväraha, yöpyminen, ateriakorvaus, parkki.
  • Vakiohinnasto ja asiakaskohtaiset hinnastot ‑napit avaavat hinnastot. Asiakaskohtainen hinta voidaan asettaa esim. yhden asiakkaan kilometrikorvaukselle; jos riviä ei ole, käytetään vakiohinnastoa.
  • Asiakaskohtainen hinnasto valitaan asiakaskortilta (Contacts → hinnasto‑pudotusvalikko).
**OpenRouteService API‑avain.** Sama Hinnoittelu‑sivu sisältää kentän ORS‑reititysavaimelle (`elt_fsm.openrouteservice_api_key`). Kun avain on asetettu, automaattinen kilometriseuranta laskee **todellisen tieverkkomatkan** asentajan GPS‑pisteistä. Ilman avainta käytetään suoraviivaista (haversine) arviota, joka aliarvioi mutkat. Avain on ilmainen (openrouteservice.org), 2000 pyyntöä/päivä.

PWA‑sovelluksen nimi (white‑label)#

Settings → Field Service → PWA‑sovelluksen nimi. Tähän kirjoitettu nimi näkyy asentajien PWA‑sovelluksessa (sovelluksen otsikkona ja yläpalkissa). Hyödyllinen etenkin kun palvelua myydään eteenpäin — kukin asiakas voi nähdä oman brändinimensä. Jätä tyhjäksi, niin käytetään yrityksen oletusnimeä. Muutos näkyy asentajalle, kun PWA seuraavan kerran hakee asetukset palvelimelta (uudelleenavaus).

API-avaimien hallinta#

Settings → Users & Companies → API Keys.

  • Lista kaikista voimassa olevista API-avaimista
  • Voit revoke:ta yksittäisen avaimen jos epäilet vuotoa
  • Käyttäjä voi luoda uuden avaimen omasta profiilistaan

Käyttäjäkohtaisesti — älä luo avaimia ELT:n yhteistilille.

Päivitykset ja versiointi#

Kehittäjä julkaisee päivitykset automaattisesti — käyttäjien ei tarvitse tehdä mitään. Uusi versio tulee voimaan kun kirjautuu uudelleen sisään tai päivittää sivun.

Jos jokin näyttää rikkoutuneen päivityksen jälkeen:

  1. Logout + login — uudet versiot vaativat uudelleenkirjautumisen.
  2. Tyhjennä selaimen välimuisti (Ctrl+Shift+R / Cmd+Shift+R).
  3. Jos ei korjaa — ilmoita kehittäjälle.

Cron-jobit#

Settings → Technical → Scheduled Actions.

ELT:n tärkeät cronit:

CronAikatauluMitä tekee
LVISnet Auto-fetch dispatcher1 minTarkistaa fetch_requested-liput
LVISnet Auto-fetch (monthly)1. päivä 21:25Käy kaikki tukut läpi
Netvisor purchase import06:00 päivittäinHakee eilisen ostolaskut
Netvisor payment sync07:00 päivittäinPäivittää maksu-statukset
Netvisor payroll sync1. päivä 08:00 (off)Lähettää palkkalaskelmat

Run manually -nappi laukaisee heti — käyttö jos cron jäi toteutumatta tai testaat.

Varmuuskopiointi#

Vastuu on palvelinylläpitäjällä. Yleinen käytäntö:

  • Tietokannan dump päivittäin → siirretty offsite
  • Filestore-tiedostot (kuvat, liitteet) sync myös offsite
  • Järjestelmäpäivitykset tehdään aina dump-rinnalla

Tarkemmat ohjeet ovat ylläpitäjän sisäisessä runbookissa.

Tekninen tila#

Settings → Technical:

  • Database Structure → Models — kaikki taulut, jos tarvitsee selvittää schemaa
  • Logging — debug-tasoinen logien tarkastelu
  • Sequences — numerointi-sekvenssit (FO-tehtävänumerot, laskunumerot)

Vianetsintä#

Käyttäjä ei pääse Field Serviceen vaikka annoin oikeudet
- Tarkista että hänellä on **kaikki kolme ryhmää**: `fieldservice.group_fsm_team` + `stock.group_stock_user` + `hr.group_hr_user` - Onko **`fsm.person`-rivi** luotu hänelle? - **Uudelleenkirjautuminen pakollinen** uusien ryhmien voimaantuloksi.
Cron ‘unknown method’ tai ‘model not found’ -virheellä
Yleensä moduuli on osittain ladattu. Kokeile **Apps → moduuli → Upgrade**. Jos ei korjaa, kysele kehittäjältä — joskus pitää puhdistaa registry manuaalisesti.
Tietokanta kasvaa nopeasti — milloin huoli?
LVISnet-tuonti tuo 170k+ rivejä joka kuukausi. Tämä on normaalia. Pidä silmällä jos kasvu yli **5 % per päivä** kun ei ole tuontia — silloin jokin cron tai sync hakkaa turhia rivejä.
Joku epäilee tietoturvavuotoa
1. **Revoke kaikki epäillyn käyttäjän API-avaimet** välittömästi. 2. **Vaihda hänen salasanansa**. 3. Tarkista **login-historia** Settings → Logging-näkymästä. 4. Jos vakavaa: pyydä kehittäjältä **kaikkien sessioiden mitätöinti** (pakottaa kaikki uudelleenkirjautumaan). 5. Ilmoita kehittäjälle / tietoturvavastaavalle.