Kaikki artikkelit

Muunnelmatuotteiden hintojen muuttaminen WooCommercessa

Viisi tapaa muuttaa WooCommercen muunnelmien hintoja: käsin, massamuokkauslisäosalla, CSV-tiedostolla, ERP-integraatiolla tai räätälöidyllä lisäosalla.

  • WooCommerce
  • WordPress

WooCommercen muunnelmatuotteiden hintoja voi muuttaa viidellä tavalla: käsin tuotteen muokkaussivulla, massamuokkauslisäosalla, taulukkotiedoston tuonnilla, integraatiolla varasto- tai toiminnanohjausjärjestelmään tai räätälöidyllä lisäosalla. Oikea tapa riippuu siitä, kuinka monta tuotetta muuttuu, kuinka usein ja missä hinnat oikeasti päätetään. Käyn tässä läpi jokaisen tavan ja sen, milloin sitä kannattaa käyttää.

Miksi muunnelmien hinnat ovat hankalampia muuttaa kuin tavallisten tuotteiden?

WooCommercessa jokainen muunnelma, eli variaatio, on oma tuotteensa, jolla on oma hinta, tarjoushinta, varasto ja tuotekoodi. Kun paidalla on viisi kokoa ja neljä väriä, hinnan nostaminen tarkoittaa kahdenkymmenen hinnan muuttamista. Tuotelistan pikamuokkaus ja massamuokkaus eivät käsittele muunnelmia lainkaan, joten ne eivät auta tässä.

Muunnelmien määrä vaikuttaa myös kaupan nopeuteen. Siitä kirjoitin tarkemmin artikkelissa miksi WooCommerce-kauppa hidastuu.

Käsin WooCommercen hallinnassa

Muutaman tuotteen hinnat on helpointa muuttaa suoraan tuotteen muokkaussivulla. Muunnelmat-välilehdellä on massatoiminnot (avautuu uuteen välilehteen) (Bulk actions), joilla saman tuotteen kaikkien muunnelmien hintoja voi muuttaa kerralla:

  • aseta normaalihinta kaikille muunnelmille
  • suurenna tai pienennä normaalihintoja kiinteällä summalla tai prosentilla
  • aseta alehinta tai laske se normaalihinnasta summalla tai prosentilla
  • ajasta alennuksen alkamis- ja päättymispäivä.
WooCommercen muunnelmatuotteen Muunnelmat-välilehti, jossa on kolme värimuunnelmaa: musta, valkoinen ja punainen. Avoinna on massatoimintojen valikko, jonka Hinnoittelu-ryhmässä ovat Aseta normaalihinnat, Suurenna normaalihintoja (kiinteä määrä tai %), Pienennä normaalihintoja (kiinteä määrä tai %), Aseta alehinnat ja Suurenna alehintoja (kiinteä määrä tai %). Valittuna on Suurenna normaalihintoja.
Massatoiminnot löytyvät muunnelmatuotteen Muunnelmat-välilehdeltä. Osa valikon teksteistä on vielä kääntämättä suomeksi.

Esimerkiksi 5 %:n hinnankorotus yhdelle tuotteelle hoituu näin muutamassa sekunnissa. Yksittäisen muunnelman hinta muutetaan avaamalla muunnelma ja kirjoittamalla uusi hinta.

Rajoitus on, että massatoiminto koskee aina yhtä tuotetta. Jos hinnat nousevat koko kaupassa, jokainen tuote pitää avata erikseen. Prosenttikorotus tuottaa myös hintoja kuten 24,57 €, jotka pitää pyöristää käsin, jos kaupan hinnat päättyvät tasalukuun tai ,90:een.

Käsin muuttaminen sopii, kun muutoksia on vähän ja harvoin.

Massamuokkauslisäosalla

Massamuokkauslisäosat näyttävät tuotteet ja muunnelmat taulukkona, jossa hintoja voi muokata kuin taulukkolaskennassa. Tuotteita voi suodattaa esimerkiksi kategorian, ominaisuuden tai tuotekoodin mukaan ja muuttaa kaikkien valittujen hintoja kerralla.

Ensimmäisenä kannattaa kokeilla PW WooCommerce Bulk Editiä (avautuu uuteen välilehteen). Sen ilmaisella versiolla voi muokata muunnelmia samalla tavalla kuin yksinkertaisia tuotteita ja muuttaa normaalihintoja kiinteällä summalla tai prosentilla. Maksullinen Pro-versio tuo lisää muokattavia kenttiä, kuten alehinnat, ja esimerkiksi alehintojen laskemisen normaalihinnasta.

Muita tunnettuja ovat BEAR – Bulk Editor for WooCommerce (avautuu uuteen välilehteen) ja WP Sheet Editorin WooCommerce-versio (avautuu uuteen välilehteen). Niissäkin on ilmainen versio, mutta muunnelmien muokkaus kuuluu maksulliseen versioon: WP Sheet Editorin ilmaisella versiolla voi muokata vain yksinkertaisia tuotteita, ja BEARin ilmaisessa versiossa muunnelmien toiminnot on merkitty Premium-ominaisuuksiksi. WooCommercen omasta lisäosakaupasta löytyy lisäksi pelkkiin muunnelmien hintoihin keskittyvä Bulk Edit Variations Prices (avautuu uuteen välilehteen).

Ota tietokannasta varmuuskopio ennen kuin ajat massamuokkauksen. Massamuokkaus muuttaa satoja hintoja yhdellä napilla, joten virhe leviää yhtä nopeasti. Väärin osunutta muutosta ei aina saa kumottua työkalulla itsellään, ja silloin varmuuskopio on nopein tapa palata takaisin. Kokeile muutosta ensin testiympäristössä, jos sellainen on.

Massamuokkauslisäosa sopii, kun kauppias muuttaa hintoja itse muutaman kerran vuodessa koko kauppaan tai yhteen kategoriaan.

Taulukkotiedostolla: CSV, Excel ja WP All Import

Jos hinnat ovat jo Excelissä tai tavarantoimittaja lähettää hinnaston tiedostona, hinnat kannattaa tuoda kauppaan tiedostosta. Muunnelmat tunnistetaan tuotekoodin (SKU) perusteella, joten jokaisella muunnelmalla pitää olla oma, yksilöllinen tuotekoodi.

WooCommercessa on oma CSV-tuonti ja -vienti (avautuu uuteen välilehteen). Sillä voi viedä tuotteet ja muunnelmat tiedostoon, muuttaa hinnat taulukkolaskennassa ja tuoda tiedoston takaisin valinnalla, joka päivittää olemassa olevat tuotteet. Rivit yhdistetään tuotteisiin tunnisteen tai tuotekoodin perusteella. Tämä on ilmainen ja toimiva tapa, kun tiedoston rakenne on WooCommercen oma.

WP All Import (avautuu uuteen välilehteen) on joustavampi silloin, kun tiedosto tulee muualta ja sen sarakkeet ovat mitä sattuu. Tuonnissa valitaan, mikä sarake on tuotekoodi ja mikä hinta, ja mitä tietoja päivitetään. Hintapäivityksessä kannattaa rajata päivitys vain hintoihin, jotta tuonti ei ylikirjoita tuotekuvauksia tai kuvia. Tuonnin voi ajastaa hakemaan tiedoston esimerkiksi joka yö samasta osoitteesta. WP All Importista on ilmainen versio, mutta hintojen päivitys olemassa oleviin tuotteisiin ja ajastetut tuonnit vaativat maksullisen Pro-version ja sen WooCommerce-lisäosan.

Ennen tuontia tarkistan aina neljä asiaa:

  • Varmuuskopio. Otan tietokannasta varmuuskopion juuri ennen tuontia, koska väärin yhdistetty sarake voi muuttaa kaikkien tuotteiden hinnat kerralla.
  • Desimaalierotin. Suomalainen Excel käyttää pilkkua, ja väärin tulkittuna 24,90 voi muuttua 2490:ksi.
  • Puuttuvat tuotekoodit. Rivi, jonka tuotekoodia ei löydy, ohitetaan tai siitä tulee uusi tuote asetuksista riippuen.
  • Arvonlisävero. Hinnaston ja kaupan pitää olla samaa mieltä siitä, sisältävätkö hinnat veron.

Tiedostotuonti sopii, kun hinnat muuttuvat säännöllisesti ja ne ylläpidetään jossain muualla kuin kaupassa.

Integraatio varasto- tai ERP-järjestelmään

Jos hinnat päätetään toiminnanohjaus- tai kassajärjestelmässä, niitä ei kannata ylläpitää kahdessa paikassa. Integraatio siirtää hinnat ja varastosaldot järjestelmästä kauppaan automaattisesti, ja tilaukset kulkevat toiseen suuntaan. Kauppias muuttaa hinnan vain yhdessä paikassa, eikä kaupassa ole vanhoja hintoja.

Muunnelmatuotteissa olennaista on, että järjestelmän tuotteet ja kaupan muunnelmat yhdistetään luotettavasti, yleensä tuotekoodilla. Usein järjestelmässä jokainen koko ja väri on oma tuotteensa, ja integraation tehtävä on koota ne kaupassa yhdeksi muunnelmatuotteeksi. Miltä tällainen integraatio näyttää käytännössä, kerroin artikkelissa Shopifyn ja Winposin integraatiosta, jossa tuotteet yhdistetään EAN-koodin ja tuotekoodin perusteella.

Olen tehnyt kassa- ja ERP-integraatioita muun muassa Winposin, Emcen, Visman ja Monitor ERP:n kanssa. Lisää aiheesta on integraatioiden palvelusivulla.

Integraatio sopii, kun tuotteita on paljon, hinnat muuttuvat usein ja ne ovat jo valmiiksi toisessa järjestelmässä.

Räätälöity lisäosa omalla hinnoittelusäännöllä

Joskus hinnoittelussa on sääntö, jota valmiin työkalun asetuksilla ei saa tehtyä. Esimerkiksi:

  • myyntihinta lasketaan ostohinnasta kategoriakohtaisella katteella ja pyöristetään ,90:een
  • XL-koko ja sitä isommat ovat aina 5 € kalliimpia kuin muut koot
  • tavarantoimittajan hinnasto haetaan rajapinnasta ja hinnat päivitetään vain, jos muutos on yli prosentin
  • hinnankorotus ajastetaan alkamaan tiettynä päivänä koko kaupassa.

Jos hinnat tuodaan jo tiedostosta WP All Importilla, sääntö ei välttämättä vaadi omaa lisäosaa. WP All Importin maksullisessa versiossa on Function Editor (avautuu uuteen välilehteen), johon voi kirjoittaa omia PHP-funktioita. Tiedoston sarakkeen voi ohjata funktion läpi ennen kuin arvo tallentuu tuotteelle. Hintakenttään kirjoitetaan esimerkiksi [myyntihinta({ostohinta[1]})], ja funktio tekee loput:

function myyntihinta( $ostohinta ) {
	$hinta = (float) str_replace( ',', '.', $ostohinta ) * 1.8;
	return floor( $hinta ) + 0.9;
}

Esimerkki muuttaa Excelin desimaalipilkun pisteeksi, lisää katteen ja pyöristää hinnan ,90:een. Funktioihin saa tarvittaessa rakennettua aikamoisiakin teippisääntöjä, kuten tavarantoimittajan tai kategorian mukaan vaihtuvan katteen tai poikkeukset yksittäisille tuotekoodeille.

Kun sääntöjä kertyy paljon tai niitä pitää ajaa muutenkin kuin tuonnin yhteydessä, säännön voi koodata omaksi lisäosaksi, jolloin hinnoittelu toimii samalla tavalla joka kerta eikä riipu siitä, muistaako joku pyöristää. Lisäosaan voi tehdä hallintaan oman näkymän, jossa kauppias näkee muutokset ennen niiden tallentamista.

Tärkeä yksityiskohta: hinnat pitää tallentaa WooCommercen omien funktioiden kautta, ei suoraan tietokantaan. WooCommerce pitää välimuistissa muunnelmatuotteen hintahaarukkaa, joka näkyy tuotelistauksissa, ja tallennus WooCommercen kautta tyhjentää sen. Suora tietokantapäivitys jättää kauppaan vanhat hinnat näkyviin. Esimerkiksi näin:

$variation = wc_get_product( $variation_id );
$variation->set_regular_price( '24.90' );
$variation->save();

Räätälöity lisäosa sopii, kun hinnoittelussa on toistuva sääntö tai kun hinnat tulevat lähteestä, johon valmiit tuontityökalut eivät yllä. Teen tällaisia lisäosia osana WordPress- ja WooCommerce-kehitystä.

Usein kysyttyä

Voiko kaikkien muunnelmien hintaa nostaa prosentilla kerralla?

Yhden tuotteen sisällä voi: muunnelmien massatoiminnoissa on normaalihinnan korotus prosentilla. Koko kaupan kaikkien muunnelmien korotukseen tarvitaan massamuokkauslisäosa, tiedostotuonti tai oma lisäosa, koska WooCommercen tuotelistan massamuokkaus ei käsittele muunnelmia.

Pitääkö jokaisella muunnelmalla olla oma tuotekoodi?

Käsin muutettaessa ei, mutta tiedostotuonnissa ja integraatioissa käytännössä kyllä. Tuotekoodi on se tieto, jolla tiedoston rivi tai toisen järjestelmän tuote yhdistetään oikeaan muunnelmaan. Ilman sitä yhdistäminen on epävarmaa.

Miksi kaupassa näkyy vanha hinta, vaikka muutin sen?

Yleisin syy on välimuisti: joko sivuston välimuistilisäosa tai palvelimen välimuisti näyttää vanhaa sivua, tai hinta on päivitetty suoraan tietokantaan ohi WooCommercen. Tyhjennä ensin sivuston välimuisti. Jos se ei auta, tallenna tuote kerran hallinnassa, jolloin WooCommerce laskee hintahaarukan uudelleen.

Tarvitsetko apua?

Kerro, mitä tarvitset, niin mietitään yhdessä, miten asia kannattaa hoitaa.

Kerro projektistasi