VarastoVahti Käyttöohje

Versio 3.1.1 | Päivitetty 15.06.2026

WordPress + WooCommerce -lisäosa varastonhallintaan, ennusteisiin ja raportointiin.

1. Yleiskuvaus

VarastoVahti on ammattimainen varastonhallintatyökalu WooCommerce-verkkokauppoihin. Se tarjoaa yhdellä silmäyksellä:

  • Varaston kokonaisarvon — ostoarvo, myyntiarvo, kate, ALV-erittely
  • Ennusteet ja tilausehdotukset — kulutusnopeuden perusteella
  • Historiatrendit — päivittäisestä snapshotista
  • ABC-analyysin — Pareto-periaatteella
  • Automaattiset raportit — sähköpostiin tai webhookiin
  • Matalan varaston hälytykset

Lisäosa löytyy WP-hallinnasta valikosta: Tuotteet → Varastolistaus.

2. Asennus ja käyttöönotto

2.1 Vaatimukset

  • WordPress 6.0+
  • PHP 7.4+
  • WooCommerce 7.0+ (HPOS-tuki)
  • Voimassa oleva VarastoVahti-lisenssi

2.2 Asennus

  1. 1

    Lataa varastovahti.zip tai siirrä kansio polkuun /wp-content/plugins/varastovahti/.

  2. 2

    Aktivoi lisäosa Lisäosat-valikosta.

  3. 3

    Siirry Tuotteet → Varastolistaus → Lisenssi ja syötä lisenssiavain.

  4. 4

    Aktivoinnin jälkeen lisäosa luo tarvittavat tietokantataulut ja käynnistää 365 päivän myyntihistorian backfillin taustalla.

2.3 Lisenssin aktivointi

  • Lisenssi-välilehdellä syötetään ostettu lisenssiavain.
  • Lisenssi varmennetaan PluginPlus-palvelimelta automaattisesti.
  • Ilman voimassa olevaa lisenssiä toiminnot ovat poissa käytöstä — vain Asetukset ja Lisenssi -välilehdet näkyvät.
  • Päivitykset tulevat suoraan WordPressin lisäosapäivitysten kautta lisenssin ollessa voimassa.

3. Käyttöliittymän välilehdet

Lisäosalla on seitsemän välilehteä. Käymme ne läpi järjestyksessä.

3.1 Yleisnäkymä

Pääsivu, jossa näkyvät:

  • Tilastoboxit — ostoarvo (ALV 0 %), myyntiarvo (ALV 0 %), arvioitu kate ja tuote-/kappalemäärät
  • Pikasuodattimet — Kaikki / Varastossa / Vähissä / Loppu
  • Haku — nimen tai SKU:n perusteella
  • Kategoriasuodatus
  • Tuotetaulukko — tuote, SKU, ID, varastosaldo (värikoodattuna), ostohinta, myyntihinta, ALV %, rivikohtaiset summat
  • Lataa CSV -painike — vie suodatettu listaus heti CSV-tiedostoon (UTF-8 + BOM, avautuu Excelissä)
  • Tulosta raportti -painike — avaa tulostusystävällisen näkymän selaimessa (tallennettavissa PDF:ksi)

Värikoodaus:

Punainen

Varasto loppu

Keltainen

Vähissä (alle asetuksissa määritelty raja)

Vihreä

Varasto kunnossa

3.2 Ennusteet

Kulutusnopeus- ja tilausennustenäkymä:

  • MA7 / MA30 / MA90 — kulutuksen liukuva keskiarvo 7/30/90 päivän ajalta
  • Trendi — kasvaako vai laskeeko kulutus
  • Runway — montako päivää nykyinen varasto kestää
  • ROP (Reorder Point) — milloin tilaus pitäisi tehdä toimitusajan perusteella
  • Suositeltu tilausmäärä — laskettu tavoitekattavuuden mukaan
  • Ennusteet — 30 / 60 / 90 / 180 päivälle

Asetukset-välilehdellä säädetään: toimitusaika, tavoitekattavuus, runway-varoitusraja.

3.3 Historia

Päivittäinen snapshot varaston arvosta:

  • Trendikaavio 90 päivän ajalta (Chart.js)
  • Näyttää ostoarvon, myyntiarvon ja kappalemäärän kehityksen
  • Snapshot otetaan automaattisesti kerran vuorokaudessa, kun ominaisuus on käytössä asetuksissa
  • Vanhin data säilyy niin kauan kuin tietokantarivit ovat tallessa

3.4 ABC-analyysi

Pareto 80/20 -luokittelu myyntiarvon perusteella:

A-LUOKKA

80 % myyntiarvosta

(yleensä ~20 % tuotteista) — kriittisimmät tuotteet

B-LUOKKA

Seuraavat 15 %

Keskitason tuotteet

C-LUOKKA

Hännän 5 %

Ehdokkaita karsittaviksi

Auttaa kohdentamaan huomion oikeisiin tuotteisiin ja tunnistamaan ylimääräiset SKU:t.

3.5 Raportit

Raporttikeskus, jossa luodaan ja ajastetaan raportteja.

Raporttityypit (10 kpl)

01

Varastolistaus (Inventory)

Kokonainen varastolistaus suodattimineen

02

Varaston arvo-kehitys (ValueTrend)

Snapshot-historia kaaviomuotoisena

03

Myyntiraportti (Sales)

Myynti per tuote/kategoria valitulta ajalta

04

ABC-analyysi (ABC)

Pareto-luokittelu

05

Hitaat liikkujat (SlowMovers)

Tuotteet joilla heikko myyntinopeus

06

Nopeat liikkujat (FastMovers)

Bestsellerit

07

Kate (Margin)

Katelaskelma per tuote/kategoria

08

Inventaari (StockTake)

Inventaarilistaus tarkastusta varten

09

Tilausehdotus (ReorderSuggest)

Suositellut tilausmäärät ROP:n perusteella

10

Kausivertailu (Seasonal)

Vertaa nykyistä jaksoa edellisvuoden vastaavaan

Formaatit

CSV UTF-8 BOM, määriteltävä erotin ja desimaali
XLSX PhpSpreadsheet-pohjainen, värit, tyylitellyt otsikot, auto-width, freeze-pane
PDF Dompdf-pohjainen, A4-landscape
JSON koneluettava ulosvienti

Toimitustavat

Lataus arkistoon

Raportti tallennetaan ladattavaksi VarastoVahdin arkistoon.

Sähköposti

Lähetetään liitteenä määriteltyihin osoitteisiin.

Webhook

POST JSON -kutsu määriteltyyn URL:iin (SSRF-suojattu).

Ajastus

Action Schedulerilla:

  • Manuaalinen — vain kun "Aja nyt" -painiketta painetaan
  • Päivittäin / Viikoittain / Kuukausittain
  • Jokaisen pohjan vieressä — näkyy seuraavan ajon kellonaika

Arkisto

  • Kaikki ajetut raportit listataan omalla arkistosivulla
  • Lataa raportit allekirjoitetuilla URL:eilla (nonce-suojattu)
  • Automaattinen siivous 60 päivän jälkeen

3.6 Asetukset

Yksi näkymä, jossa kaikki säädöt:

Asetus Selitys Oletus
Ostohinnan meta-avain Mistä post metasta ostohinta luetaan _cogs_total_value
Oletus-ALV % Käytetään kun tuotteella ei ole verokorttia 25,5
CSV-erotin ";", "," tai tab ;
Desimaalimerkki CSV:ssä "," tai "." ,
Matalan varaston raja Kpl, jonka alle merkitään "vähissä" 10
Matalan varaston hälytys Päivittäinen sähköposti, kun tuotteita rajan alla pois päältä
Hälytysosoite Mihin sähköpostiin hälytys lähetetään sivuston admin
Ajastettu CSV-raportti Päivittäin / Viikoittain / Kuukausittain pois päältä
Toimitusaika (pv) ROP-laskennassa 14
Tavoitekattavuus (pv) Kuinka moneksi päiväksi tilausehdotus mitoitetaan 60
Runway-varoitusraja (pv) Milloin näytetään varoitus 14
Backfill-historia (pv) Kuinka pitkä myyntihistoria luetaan aktivoinnissa 365
Päivittäinen snapshot Tallenna varaston arvo trendiä varten päällä

3.7 Lisenssi

  • Aktivointi / deaktivointi
  • Lisenssin tila ja voimassaoloaika
  • Yhdistettyjen sivustojen määrä
  • Manuaalinen tarkistus

4. Yleiset käyttöskenaariot

"Haluan tietää varaston arvon juuri nyt"

→ Yleisnäkymä: tilastoboxit ylhäällä näyttävät ostoarvon, myyntiarvon ja katteen reaaliajassa.

"Mitä pitäisi tilata seuraavaksi?"

→ Ennusteet-välilehti tai Raportit → Tilausehdotus: lista tuotteista joiden varasto on lähellä ROP:ia, suositellut tilausmäärät mukana.

"Haluan kuukausittaisen myyntiraportin sähköpostiini"

→ Raportit: luo uusi raporttipohja → tyypiksi Myyntiraportti, formaatiksi XLSX, toimitukseksi Sähköposti, ajastukseksi Kuukausittain. Tallenna.

"Mitkä tuotteet seisovat hyllyssä?"

→ Raportit → SlowMovers tai ABC-analyysi: katso C-luokan tuotteet.

"Tarvitsen inventaarilistan tulostettuna"

→ Raportit → Inventaari formaatilla PDF → lataa ja tulosta.

"Minulle ilmoitetaan kun tuotteita on vähissä"

→ Asetukset: ota Matalan varaston hälytys käyttöön, säädä raja ja sähköpostiosoite.

"Excel-vienti CSV:nä"

→ Yleisnäkymä → Lataa CSV. Erotin ja desimaali säädettävissä asetuksista; UTF-8 BOM mukana, joten skandit toimivat Excelissä suoraan.

5. Tekniset huomiot

5.1 Ostohinnat

  • Luetaan post metasta — oletuksena _cogs_total_value (WooCommerce Cost of Goods, core)
  • Vaihtoehdot: _wc_cog_cost, _purchase_price, _atum_cost
  • Variaatio perii emon ostohinnan, jos sillä ei ole omaa
  • Vaihdettavissa Asetukset-välilehdeltä

5.2 ALV-laskenta

  • Ensisijaisesti tuotteen verokortilta (WC_Tax::get_base_tax_rates())
  • Variaatio perii emon verokortin kun tax_class = inherit
  • Jos verokorttia ei ole määritelty → asetuksissa määritelty oletus-ALV (25,5 %)

5.3 Suorituskyky

  • Totaalit ja rivilistaukset välimuistitettu (transient)
  • Välimuisti tyhjenee automaattisesti tuotteen tallennus- ja varastomuutoshookeista
  • Verokannat muistetaan request-tasolla
  • Velocity-laskenta cachetetaan 15 minuutiksi
  • CSV-vienti streamataan 500 tuotteen erissä — muistiystävällinen yli 10 000 tuotteen varastoissa
  • Snapshot-, raportti- ja hälytysajot suoritetaan Action Schedulerilla → ei timeoutteja

5.4 Turvallisuus

  • Kaikki latauslinkit nonce-suojattuja
  • CSV/XLSX formula-injection -suojaus
  • Webhook-URL:t SSRF-validoitu (estää sisäverkkokutsut)
  • Raporttiparametrit whitelistataan per raporttityyppi
  • Tiedostot tallennetaan satunnaisilla tunnisteilla, kansiot suojattu .htaccess + index.php + index.html + web.config
  • Lisenssi-API pakottaa HTTPS:n
  • Vaadittu oikeus: manage_woocommerce

5.5 HPOS-yhteensopivuus

Lisäosa on yhteensopiva WooCommerce High-Performance Order Storagen kanssa — toimii sekä custom order tables -moodissa että legacy-tilassa.

5.6 Käännökset

  • Text domain: varastovahti
  • Käännöstiedostot: languages/
  • Pohjana: suomenkielinen, käännettävissä Loco Translatella tai vastaavalla

6. Vianmääritys

Ongelma

Tilastoboxit näyttävät 0 €

Ratkaisu

Tarkista Asetukset → Ostohinnan meta-avain; tuotteilla on oltava ostohinta tallennettuna.

Ongelma

Skandit hajalla CSV:ssä

Ratkaisu

Avaa Excelissä — UTF-8 BOM hoitaa asian. LibreOffice: valitse tuonnissa UTF-8.

Ongelma

Ennusteet tyhjiä

Ratkaisu

Backfill ei ole vielä valmis. Action Scheduler -näkymässä näkyy edistyminen. Backfill ajetaan 365 pv oletuksena.

Ongelma

Historia tyhjä

Ratkaisu

Ota Päivittäinen snapshot käyttöön asetuksista; ensimmäinen snapshot tallentuu seuraavana ajastetussa ajossa.

Ongelma

Sähköposti ei tule perille

Ratkaisu

Tarkista WordPressin sähköpostimäärittely (suositus: WP Mail SMTP -tyyppinen lisäosa).

Ongelma

Lisenssi ei aktivoidu

Ratkaisu

Tarkista että palvelin tavoittaa https://pluginplus.fi; tarkista avain.

Ongelma

Raportti epäonnistuu

Ratkaisu

Katso WooCommercen Action Scheduler -loki: Tools → Scheduled Actions.

7. Tietokantataulut

Lisäosa luo kolme omaa taulua ($wpdb->prefix -etuliitteellä):

*_varastovahti_snapshots varaston päivittäinen arvosnapshot
*_varastovahti_sales_daily päivittäinen myyntivolyymi tuotteittain
*_varastovahti_reports raporttiarkisto

Taulut luodaan aktivoinnissa ja päivitetään automaattisesti versioiden välillä. Asetukset tallennetaan wp_options-tauluun avaimella varastovahti_settings.

8. Poisto

Deaktivoi Ajastukset puretaan, taulut ja asetukset säilyvät.
Poista uninstall.php siivoaa taulut ja asetukset (varmista varmuuskopio ennen).

9. Tuki ja yhteystiedot

Sähköposti

[email protected]

Versio

3.1.1

Etkö löytänyt vastausta dokumentaatiosta? Lähetä tukipyyntö suoraan, niin vastaamme nopeasti.

Ota yhteyttä tukeen

Tietosuoja-asetukset

Käytämme välttämättömiä evästeitä palvelun toiminnan varmistamiseksi. Voit hyväksyä myös analytiikka- ja markkinointievästeet parantaaksesi käyttökokemustasi.

Välttämättömät

Välttämättömät evästeet pitävät sinut kirjautuneena ja varmistavat palvelun toiminnan. Näitä ei voi poistaa käytöstä.

Aina päällä
Tietosuojaseloste