Purchase Order odobrenja za Magento Open Source B2B

Ako prodajete tvrtkama, pravila nabave vaših kupaca dio su vašeg checkouta, podržavali ih vi ili ne.

U mnogim tvrtkama zaposlenik ne može jednostavno naručiti što god želi. Kupnja iznad određenog iznosa možda traži odobrenje voditelja. Novi zaposlenik može pripremiti narudžbu, ali je ne smije samostalno potvrditi. Financije pak moraju znati tko je kupnju odobrio i kada.

To nisu iznimke, nego uobičajen način na koji poslovna nabava funkcionira. Ako webshop taj proces ne podržava, odobrenje se seli u e-mailove, poruke ili interne sustave. Narudžba tada do webshopa stiže kasnije, izmijenjena ili uopće ne stigne.

Osnovne gradivne blokove B2B trgovine već smo pokrili u članku o osnovama B2B e-commercea. Ovdje se bavimo jednim konkretnim dijelom tog procesa: odobravanjem kupnje.

Za to smo razvili dva odvojena modula za Magento Open Source. Purchase Order modul uvodi narudžbenice i njihov workflow, dok Approval Rules omogućuje svakoj tvrtki da sama definira tko mora odobriti koju kupnju.

Što rješava workflow narudžbenica

Narudžbenica (engl. purchase order) stoji između checkouta i Magento narudžbe. Kupac prolazi checkout kao i inače. Razlika dolazi na samom kraju: umjesto Magento narudžbe nastaje narudžbenica koja ulazi u proces odobravanja unutar tvrtke. Odobravatelj vidi točno ono što je kupac poslao, uključujući cijene koje je kupac vidio. Magento narudžba nastaje tek nakon svih potrebnih odobrenja.

Magento Open Source nema narudžbenice, pa korak odobrenja obično živi tamo gdje ga je koja tvrtka smjestila, a webshop vidi samo konačni rezultat. Kad ga se dovede u trgovinu, odobrenje postaje dio same narudžbe: pregledno, sljedivo i vezano uz točno onu košaricu koja je poslana.

Ovo nije Purchase Order način plaćanja koji dolazi s Magentom, a koji samo zabilježi broj narudžbenice na checkoutu i ne mijenja ništa u obradi narudžbe. Ovdje je riječ o samom odobravanju; kupčev vlastiti broj narudžbenice ima svoje mjesto u procesu, o tome niže.

Imali smo još dva cilja: workflow se morao prirodno uklopiti u Hyvä teme koje danas gradimo, a narudžbenica je morala ostati odvojena od pravila koja odlučuju tko je odobrava. Zato postoje dva modula.

Završni korak Magento checkouta s gumbom Place Purchase Order

Purchase Orders za Magento Open Source

Purchase Order modul gradi na našem Company modulu, koji već pokriva tvrtke, korisnike, role, ovlasti i hijerarhiju tvrtke. Narudžbenice se uključuju po tvrtki. Za članove takve tvrtke checkout izgleda isto kao i prije, sve do zadnjeg koraka, gdje gumb umjesto narudžbe kreira narudžbenicu. Od tog trenutka sve se događa u korisničkom računu.

  • Kupci vide vlastite narudžbenice i status svake od njih. S odgovarajućim ovlastima vide i narudžbenice ljudi ispod sebe u hijerarhiji, ili cijele tvrtke.
  • Odobravatelji dobivaju pogled Awaiting My Approval s brojačem, pa ništa ne prolazi nezapaženo.
  • Narudžbenice se odobravaju ili odbijaju pojedinačno, uz neobavezan komentar, ili skupno s liste.
  • Kupac može otkazati svoju narudžbenicu dok još čeka.
  • Svaka narudžbenica ima stranicu s detaljima: proizvodi, iznosi, podaci o dostavi i plaćanju, komentari i potpuna povijest tko je što napravio.
  • Postojeća narudžbenica može poslužiti kao početna točka nove košarice, spajanjem s trenutnom košaricom ili umjesto nje. B2B kupci često naručuju iste stvari.
Lista narudžbenica s tabovima My, Company i Awaiting My Approval

Na strani trgovca postoje globalni prekidač i postavka po tvrtki, pa funkcionalnost može ostati isključena za kupce kojima ne treba.

Cijena koja se odobrava je cijena koja se naručuje

Kad narudžbenica nastane, spremamo snimku košarice u tom trenutku: proizvode, količine, cijene, popuste, adrese te način dostave i plaćanja. Tu snimku vidi odobravatelj i ona se kasnije pretvara u Magento narudžbu.

Ako se cijena u katalogu u međuvremenu promijeni, narudžbenica se ne mijenja s njom. Kupac i odobravatelj od početka do kraja gledaju iste brojke, a upravo to i jest smisao toga da ih netko odobrava.

Prvo odobrenje, onda online plaćanje

Offline načini plaćanja ne trebaju posebnu obradu. Kod bankovne doznake ili plaćanja na račun Magento već ima sve što mu treba i narudžba nastaje čim su odobrenja tu.

Online plaćanja su drugačija, jer nitko ne želi teretiti karticu za kupnju koja još može biti odbijena. Zato je kod online metoda plaćanje odgođeno: kad je narudžbenica odobrena, kupac dobiva e-mail s poveznicom natrag na korak plaćanja, plati, i narudžba nastaje nakon toga.

Kupci i odobravatelji uvijek znaju gdje su

Odobravatelji dobivaju e-mail kad narudžbenica čeka na njih. Kupci dobivaju e-mail kad je njihova narudžbenica kreirana, odobrena ili odbijena, kad su potrebni podaci za plaćanje i kad netko doda komentar. Sve su to standardni Magento predlošci e-mailova, pa trgovci tekst i brending prilagođavaju jednako kao i za e-mailove narudžbi.

Broj narudžbenice iz kupčevog sustava

Jedna sitnica koju smo dodali povrh standardnog workflowa: kupac uz narudžbenicu može vezati vlastiti referentni broj. Zvuči nevažno dok ne počnete raditi s tvrtkom kojoj se sva nabava vrti oko internih brojeva narudžbenica. To je broj iz njihovog ERP-a ili računovodstvenog sustava i broj koji će njihove financije tražiti na računu.

Approval Rules

Purchase Order modul radi i samostalno. Bez pravila, odobravanje slijedi hijerarhiju tvrtke: narudžbenica ide kupčevom voditelju ili administratoru tvrtke, a role kojima nadzor ne treba mogu se postaviti na automatsko odobrenje. Nekim tvrtkama to je dovoljno. Drugima trebaju pravila koja ovise o tome što se kupuje, i to je posao drugog modula.

Pravilima odobravanja upravlja administrator tvrtke iz web trgovine. Ni trgovac ni developer ne moraju sudjelovati u internom procesu odobravanja kupca.

Lista Approval Rules pravila u korisničkom računu tvrtke

Pravilo ima tri dijela: uvjet, role na koje se odnosi i odobravatelje.

Forma za novo pravilo odobravanja s uvjetom, rolama i odobravateljima

Uvjet uspoređuje nešto s narudžbenice s pragom; tipičan primjer je ukupni iznos narudžbe iznad određene svote. Koji uvjeti imaju smisla razlikuje se od posla do posla, pa smo ih ostavili proširivima: novi tip uvjeta za konkretnog klijenta mala je, izolirana promjena, a ne prerada modula.

Pravilo se može odnositi na sve role u tvrtki ili samo na neke, pa novom zaposleniku u nabavi može trebati odobrenje za kupnje koje iskusniji kolega obavlja sam. Odobravatelji mogu biti jedna ili više rola tvrtke, administrator tvrtke ili kupčev izravni nadređeni u hijerarhiji.

Pravila se vrednuju čim je narudžbenica poslana. Ako se nijedno ne podudari, narudžbenica je odmah odobrena; inače čeka dok potrebni ljudi ne odluče.

Što kad se podudari više pravila

Narudžbenica može istovremeno pogoditi više pravila i svako od njih mora biti odobreno prije nego što ide dalje. Tako u praksi rade i razine odobravanja: jedno pravilo šalje sve iznad 1.000 EUR voditelju, drugo sve iznad 10.000 EUR još i administratoru, a velika narudžba jednostavno pogodi oba. Ako je ista osoba odobravatelj za više njih, jedan klik pokriva sva pravila za koja je zadužena.

Odbijanje je strože: ako bilo koji obavezni odobravatelj odbije, cijela narudžbenica je odbijena, bez obzira na već dana odobrenja. To ipak nije slijepa ulica: kupac može stavke vratiti u košaricu, prilagoditi ono što je bilo sporno i poslati sve ponovno.

Administrator tvrtke može odobriti preko pravila koja još čekaju. To pokriva sasvim običan slučaj u kojem je predviđeni odobravatelj na godišnjem ili je prešao u drugi odjel. A pravila nikad nikoga ne sprječavaju da pošalje narudžbenicu; ona samo odlučuju što se s njom događa poslije.

Svaka narudžbenica ima Approval Status pogled s popisom pravila koja su se aktivirala, tko je za njih zadužen te koja su odobrena, koja čekaju, a koja su odbijena. Tijekom testiranja otvorilo se pitanje što taj pogled treba pokazati nakon što administrator odobri preko pravila koje čeka. Odlučili smo da se kod takvih pravila jasno vidi da je administratorovo odobrenje imalo zadnju riječ, pa zapis govori što se dogodilo umjesto da prikazuje odobrenje koje nikad neće doći. To je ujedno i revizijski trag koji financije traže, bez slaganja priče iz e-mailova.

Pravila odobravanja pripadaju tvrtki

Svaki administrator tvrtke upravlja svojim pravilima, vidi samo svoja i može ih mijenjati kad god se proces tvrtke promijeni. Promjena pravila ne dira narudžbenice koje već čekaju: one zadržavaju pravila po kojima su vrednovane u trenutku slanja. U suprotnom bi današnja izmjena mogla prepraviti odobrenje započeto jučer.

Izgrađeno za Hyvä, s podrškom za Lumu

Hyvä i Luma logotipi

Liste narudžbenica, stranice s detaljima, tokovi odobravanja i upravljanje pravilima izgrađeni su s Alpine.js i Tailwindom za Hyvä, a ista funkcionalnost dostupna je i na Lumi. Korak narudžbenice uključuje se u standardni Magento checkout, pa ne postoji poseban checkout koji bi se održavao samo zbog odobrenja.

U ovom workflowu ima podosta interakcije: kupci prelaze između lista i detalja, odobravatelji prolaze kroz više kupnji i odobravaju skupno, administratori uređuju pravila. Na Hyvi smo htjeli da se to osjeća kao dio teme, a ne kao starije Magento sučelje. Isti pristup kao i u ostatku našeg B2B rada: čitljivi template-i, ne više frontenda nego što je nužno i prostor za prilagodbu po projektu.

Dio šireg B2B smjera

Ova dva modula nastavljaju smjer koji smo opisali kad smo predstavili naše Requisition List module: B2B funkcionalnost za Magento Open Source, građena kao zasebni moduli umjesto jednog velikog paketa, tako da trgovac instalira ono što njegov posao koristi. Trenutno to pokriva:

  • Company, temelj za B2B račune, role, ovlasti i hijerarhiju
  • Shared Catalog za kataloge i cijene po tvrtki
  • Quick Order za slaganje košarice iz SKU-ova ili CSV datoteke
  • Requisition Lists za ponavljajuće kupnje, uz dijeljenje na razini tvrtke
  • Request for Quotation za dogovorene cijene
  • Purchase Orders i Approval Rules za kupnje koje traže interno odobrenje

Sve je Hyvä-native, s podrškom za Lumu gdje je projektu potrebna.

Isto razmišljanje stoji iza našeg rada na migracijama s Adobe Commercea na Magento Open Source. Mnogim trgovcima trebaju B2B funkcionalnosti bez enterprise platforme oko njih, i za takve je projekte izgradnja upravo onih workflowa koji su im važni bolji izbor od nošenja složenosti koju ne koriste. Zajedno, moduli sada pokrivaju veći dio B2B procesa kupnje, od slaganja košarice ili traženja ponude do odobrenja kupnje.

Za kraj

Osoba koja bira što kupiti često nije osoba koja smije odobriti trošak. Tu je razliku između B2C-a i B2B-a lako previdjeti. Ako je webshop ne podržava, tvrtke će pronaći drugi put: e-mailove, kopirane košarice i odobrenja zakopana negdje u nizu poruka.

Narudžbenice vraćaju taj korak u trgovinu. Kupac pošalje jednom, pravi ljudi to pregledaju po pravilima koja tvrtka kontrolira, a Magento kreira narudžbu tek kad su odobrenja tu, po cijenama koje su svi vidjeli. S Purchase Order modulom i Approval Rules slojem to sada radi i na Magento Open Sourceu.

Ako je interno odobravanje kupnji važan dio vašeg B2B poslovanja, javite nam se. Pomoći ćemo vam oblikovati workflow koji odgovara vašoj Magento trgovini.

Smooth, reliable and fast

Boost your eCommerce success with Hootify logo