Projektissa toteutettiin integraatio WordPress-alustalla pyörivän B2C/B2B WooCommerce -verkkokaupan ja Odoo-toiminnanohjaus- ja asiakkuudenhallintajärjestelmän välillä. Asiakasyrityksen tarve oli saada siirrettyä yritysasiakkuuksiin liittyviä tietoja Odoo-järjestelmästä WooCommerceen sekä verkkokauppatilaukset WooCommercesta Odoo-järjestelmään.
Kaikkeenhan löytyy valmis lisäosa, vai löytyykö?
Markkinoilta löytyy sekä WooCommerceen että Odoo-järjestelmään asennettavia valmiita integraatiolisäosia. Nämä eivät kuitenkaan kaikilta osin täyttäneeet asiakasyrityksen vaatimuksia, joista tärkeimpinä:
- Asikasyritysten (kontakti) tietojen tuominen ja yritystilien luominen WooCommerceen
- Asiakasyrityksen edustajien (alikontakti) tietojen tuominen ja henkilökohtaisten käyttäjätilien luominen verkkokaupan yritystilien alaisuuteen
- Odoon hinnastojen tuotehintojen siirtäminen WooCommerceen ja asiakaskohtaisten hinnastojen liittäminen varkkokaupan yritystileihin
- Asiakasyrityksen pääkäyttäjän oma-tili-sivulla näkymä kaikkiin yrityksen edustajien tekemiin verkkokauppa-tilauksiin
- Verkkokaupan kassalla kuormalava- ja rahtihintojen laskeminen Odoo-järjestelmässä määritetyille lavarahtina toimitettaville tuotteille kappalemäärä/lava mukaan
- B2B-puolesta erillinen asiakaskokemus kuluttaja-asiakkaille

Miten meni niinkuin omasta mielestä?
Odoo järjestelmä ei ollut itselleni erityisen tuttu ennen tätä projektia, ja sainkin sen osalta paljon uutta ja mielenkiintoista oppia ERP/CRM-maailmasta. Asiakkaalla oli talon sisäistä sekä ostettua tietotaitoa Odoosta, mikä auttoi lisäosien asentamisessa, kehitysympäristön luomisessa ja muussa.
Mitä haastavaa?
Odoo ei tarjoa suoraan pakasta REST-tyyppistä rajapintaa, vaan käytössä on XML-RPC -protokolla. Lähdin tekemään suunnitelmia ja ensimmäisiä testejä XML-RPC-pohjalta Ripcordia hyödyntäen, mutta aika pian selvisi, että lähestymistapaa pitää muuttaa. Vanhempien PHP-versioiden mukana tullut XMLRPC -laajennus oli PHP 8+ päivityksen myötä pudotettu pois, eikä vastaavan laajennuksen asentaminen ollut verkkokaupan palvelinpalveluntarjoajan järjestelmien puolesta mahdollista. Onneksi Odoo tarjoaa WordPressin tapaan mahdollisuuden asentaa ominaisuuksia lisääviä laajennusosia, ja siirtyminen alusta asti vaihtoehtona pidettyyn REST-rajapintaa käyttävään toteutukseen oli tällaisen avulla kohtalaisen helppoa.
Myös se, että Odoo ja WooCommerce mallintavat asiakas-tietotyyppinsä hyvin eri tavoin, aiheutti monenlaista mietinnän aihetta. Kaikki kuitenkin tuppasi ratkeamaan, viimeistään kun ongelmat sai jäsenneltyä ja palasteltua helpommin pureskeltaviksi suupaloiksi.
Mikä jäi parhaiten mieleen?
Odoo-hinnastohintojen tuominen WooCommerce-tuotteille ja hinnastojen yhdistäminen verkkokauppa-asiakkuuksiin oli mielenkiintoisen haastava pähkinä, jonka toteutuksen onnistuminen vaatimusmäärittelyn mukaisesti jäi projektista erityisesti mieleen.
Toteutettu integraatio on ollut nyt tätä kirjoittaessani tuotantokäytössä puolentoista vuoden ajan, siitä on liiskattu löytyneitä bugeja ja sitä on laajennettu muutamaan otteeseen pienillä lisäominaisuuksilla. Tällä kokemuksella voinee sanoa järjestelmän toimivan ja toteuttavan sille asetettuja tavoitteita vähintään kiitettävästi, riittävällä suorituskyvyllä ja toimintavarmuudella.