AlusLabs
AlusLabs
Integratsioon

WooCommerce'i tellimusest saab Merit Aktiva arve. Ilma et midagi peaks käsitsi ümber kirjutama.

AlusLabs ehitab liidestusi WooCommerce'i ja Merit Aktiva vahel: me seome e-poe tellimused Merit Aktiva müügiarvetega, kus on õige klient, artikkel ja käibemaksukood, ning tagastused kreeditarvetega.

Mõlemal süsteemil on avalik liides: WooCommerce'i poolel REST-API ja Merit Aktiva poolel allkirjastatud v2-API. See vahepealne osa, kus tellimuse read, kliendid ja käibemaksukoodid tuleb omavahel kokku viia, on aga iga poe enda lahendada. Meie ehitamegi selle vahepealse osa.

Kes ühendab WooCommerce'i Merit Aktivaga?

Seda teeb AlusLabs. Me ehitame Eesti e-poodidele liidestusi WooCommerce'i ja Merit Aktiva vahel. Töö käib kahe avaliku API kaudu: tellimused, kliendid ja tagastused loetakse sisse WooCommerce'i REST-API kaudu ning müügiarved, kliendikaardid ja laekumised kirjutatakse Merit Aktiva v2-API kaudu. Meil on sinu käest vaja ligipääse mõlemale poolele ja vastust küsimusele, milline peab üks või teine tellimus arvena välja nägema.

Selle töö Merit Aktiva poolne osa on juba avalik: MIT-litsentsiga teek, mis allkirjastab Merit Aktiva päringud ja katab v2 lõpp-punktid. Link on allpool ja kood on loetav ka ilma meid kaasamata.

Mida me ühendame

Tellimus kannab endas enamat kui lihtsalt summat: seal on klient, read, ridade maksuklassid, tarneviis ja makse staatus. Need samad väljad on kohad, kus liidestus muudab midagi Merit Aktivas.

receipt_long

Tellimusest müügiarveks

Kui tellimus on makstud, ilmub Merit Aktivasse müügiarve: õige klient, õiged artiklid, õige käibemaksukood ja viide tellimuse numbrile. Tellimusi ei pea enam ükshaaval üle kandma.

contacts

Kliendikaardid

Uus ostja saab Merit Aktivasse kliendikaardi; olemasolev leitakse registrikoodi või e-posti aadressi järgi. Nii ei teki sama kliendi kohta kahte sissekannet ja aadress ei vanane.

percent

Käibemaksukoodide kokkuviimine

WooCommerce'i maksuklass on seadistuse kategooria, kuhu toode kuulub ja mille küljes ripub käibemaksumäär, mitte määr ise. Iga maksuklass viiakse vastavusse Merit Aktiva käibemaksukoodiga, eraldi siseriikliku müügi, ühendusesisese käibe ja ekspordi jaoks. See seos kirjutatakse üles, et seda saaks kontrollida ka siis, kui seadistaja on puhkusel.

inventory_2

Laoseisud

Kui ladu peetakse Merit Aktivas, loetakse kogused sealt ja kirjutatakse WooCommerce'i tootelehtedele. Pood ei müü enam asju, mida riiulil pole.

undo

Tagastused ja kreeditarved

WooCommerce'i poolel tehtud tagastus jõuab Merit Aktivasse kreeditarvena, mitte käsitsi sisestatud parandusena. Keegi ei pea kuu lõpus otsima, miks müügiaruanne ja laekumised omavahel kokku ei lähe.

Kuidas see tehniliselt töötab

WooCommerce'i pool asub WordPressi sees. Tellimused, kliendid, tooted ja tagastused on kättesaadavad WooCommerce'i REST-API kaudu ning pood saab uuest tellimusest ise teada anda, nii et liidestus ei pea iga paari minuti tagant küsimas käima, kas midagi uut on juhtunud. Ligipääsuks on poe poolel loodud kaks parooli ehk kliendivõti (consumer key) ja kliendisaladus (consumer secret), ja sa saad mõlemad igal ajal tühistada.

Merit Aktiva pool on rangem. Iga päring tuleb allkirjastada HMAC-SHA256 abil ja ajatempel on allkirja osa, mistõttu vajab uuesti proovimine uut allkirja arvutamist. Tellimuste voos on see oluline: järjekorda jäänud arvet ei saa lihtsalt uuesti saata, vaid see tuleb enne uuesti allkirjastada. See on koht, kus kõige sagedamini eksitakse.

Kolmas asi on korduvus ja see on koht, kus e-poodide liidestused tavaliselt hätta jäävad. Pood võib saata teate sama tellimuse kohta kaks korda ja vastus võib teel kaduma minna, mistõttu peab liidestus teadma, kas arve on juba olemas. Selleks hoitakse tellimuse numbri ja Merit Aktiva arve vahelist seost alles, mitte ei looteta sellele, et teade jõuab kohale täpselt üks kord.

Avatud lähtekood

github.com/arturl95/merit-aktiva-skills

HMAC-SHA256 päringute allkirjastamine, Merit Aktiva v2 lõpp-punktide kate, MIT-litsents, dokumentatsioon eesti ja inglise keeles. Loetav ja kasutatav ka ilma meieta.

  • checkTellimus jõuab Merit Aktivasse siis, kui see toimub, mitte päeva lõpus ühe korraga.
  • checkKlienti otsitakse enne uue kaardi loomist, et vältida duplikaatide kogunemist.
  • checkArve, mis ei läinud läbi, jääb järjekorda ja on nimekirjas näha, mitte ei kao ära.

Käibemaks ja e-arved

Käibemaksu puhul pole keeruline osa määr ise, vaid kokkuviimine. WooCommerce'il on maksuklassid, mis on seadistuse kategooriad, kuhu toode kuulub ja mille küljes ripub määr. Merit Aktival on käibemaksukoodid. Kui klassid ja koodid ei kattu, satub arve raamatupidamises vale koodi alla. Ostu hetkel ei paista midagi välja; see tuleb ilmsiks kuu lõpus, kui hakatakse aruannet kokku panema. Seepärast kirjutame seosed enne ehitamist üles ja vaatame need koos sinu raamatupidajaga läbi.

E-arve küsimus on vastupidine. Küsimus pole selles, kas Merit Aktiva saab arve e-arvena välja saata, sest seda ta saab. Küsimus on selles, kas poest tulnud arve on selleks hetkeks olemas, koos õige kliendi ja õigete ridadega. Esimene pool on liidestuse töö; saatmise teeb Merit Aktiva ise.

Millal tasub liidestada

Märgid e-poes on üsna sarnased. Kui tunned mõne neist ära, on tellimuse ja arve vahel rohkem käsitsi tööd kui vaja.

Arveid tehakse alles õhtul

Päeva tellimused kantakse Merit Aktivasse hiljem, ühe korraga. Seni, kuni see on tegemata, ei näita raamatupidamine tegelikku seisu.

Ostjad on kahes kohas

Sama ostja andmed on nii poes kui ka Merit Aktivas ja keegi hoiab neid kahte kaarti käsitsi koos. Iga aadressimuutus tähendab kahte parandust.

Toode on vales maksuklassis

Uuele tootele määratakse poes vale maksuklass, mistõttu arvestatakse sellele klassile vastavat käibemaksumäära ja arved lähevad sellega välja. Viga ei paista välja ostukorvis, vaid siis, kui aruande read ei klapi.

Tagastusi parandatakse käsitsi

Iga tagastus tähendab eraldi e-kirja raamatupidajale ja eraldi parandust. Mida rohkem tagastusi, seda rohkem käsitsi tööd.

KKK

Kas WooCommerce'i tellimusi saab Merit Aktivasse üle viia automaatselt?

Jah. Tellimuse saab vastu võtta WooCommerce'i REST-API kaudu kohe, kui see ilmub, ja sellest saab luua müügiarve Merit Aktiva v2-API kaudu. Selleks on kaks eeltingimust: Merit Aktiva litsents, mis lubab API kasutamist, ning poe poolel loodud consumer key ja consumer secret.

Kas Merit Aktiva API on igas paketis sisaldunud?

Ei. Merit Aktiva enda dokumentatsioon märgib, et API on kasutatav Pro või Premium litsentsiga. Kui kasutusel on odavam pakett, tuleb see enne liidestuse tellimist lahendada, muidu jääb töö esimese päringu juures seisma.

Mis saab siis, kui klient on Merit Aktivas juba olemas?

Siis kasutatakse olemasolevat kliendikaarti. Liidestus otsib klienti enne uue kaardi loomist, tavaliselt registrikoodi või e-posti järgi, ja loob uue sissekande alles siis, kui vastet ei leitud. Me lepime selle otsingureegli sinuga enne kokku, sest see väli ei ole e-poes alati sama mis raamatupidamises.

Kas liidestus saab hakkama tagastuste ja osaliste tagastustega?

Jah, kui reegel on kokku lepitud. Täielik tagastus tekitab kreeditarve. Osalise tagastuse puhul peab keegi otsustama, kas kreeditarve katab ainult tagastatud read või kogu summat. See on pigem raamatupidamislik kui tehniline otsus, mistõttu küsime enne koodi kirjutamist sinu raamatupidajalt nõu.

Räägime sinu e-poe tellimustest

Kirjuta paari lausega, millised süsteemid on kasutuses ja mis liigub praegu käsitsi. Ütleme ausalt, kas liidestust tasub ehitada ja millest alustada.