VarastoVahti Käyttöohje
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
Lataa varastovahti.zip tai siirrä kansio polkuun /wp-content/plugins/varastovahti/.
-
2
Aktivoi lisäosa Lisäosat-valikosta.
-
3
Siirry Tuotteet → Varastolistaus → Lisenssi ja syötä lisenssiavain.
-
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)
Varastolistaus (Inventory)
Kokonainen varastolistaus suodattimineen
Varaston arvo-kehitys (ValueTrend)
Snapshot-historia kaaviomuotoisena
Myyntiraportti (Sales)
Myynti per tuote/kategoria valitulta ajalta
ABC-analyysi (ABC)
Pareto-luokittelu
Hitaat liikkujat (SlowMovers)
Tuotteet joilla heikko myyntinopeus
Nopeat liikkujat (FastMovers)
Bestsellerit
Kate (Margin)
Katelaskelma per tuote/kategoria
Inventaari (StockTake)
Inventaarilistaus tarkastusta varten
Tilausehdotus (ReorderSuggest)
Suositellut tilausmäärät ROP:n perusteella
Kausivertailu (Seasonal)
Vertaa nykyistä jaksoa edellisvuoden vastaavaan
Formaatit
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ä):
Taulut luodaan aktivoinnissa ja päivitetään automaattisesti versioiden välillä. Asetukset tallennetaan wp_options-tauluun avaimella varastovahti_settings.
8. Poisto
9. Tuki ja yhteystiedot
Etkö löytänyt vastausta dokumentaatiosta? Lähetä tukipyyntö suoraan, niin vastaamme nopeasti.
Ota yhteyttä tukeen