Ugrás a tartalomhoz
DESIGNAIR

← Munkáim /Esettanulmány · Egyedi rendszer

Woodestic OMS

Központi rendeléskezelő rendszer a Woodestic több WooCommerce-webshopjához: rendelések, nyomtatás, csomagfeladás, számlázás és kimutatások egy felületen.

Görgess tovább Hogyan készült?
Woodestic OMS – a felület
Típus
Egyedi rendszer
Kontextus
A Woodestic belső használatú rendeléskezelő rendszere – nincs nyilvános felülete.
Szerepem
Tervezés és fejlesztés
Technológia
Next.js · TypeScript · Prisma · WooCommerce
  • 7

    aktív webshop egy felületen

  • 10

    webshop-hely (a rendszer ennyit kezel)

  • 7

    futárszolgáltató (6 a KVIKK-en át, + DHL Express)

  • Óránként

    automatikus egyeztetés a webshopokkal

  • 4

    deviza külön kezelve (HUF, EUR, USD, GBP)

  • 2

    nyelv az automata e-mail-sablonokban (HU, EN)

A kiindulás

Miről volt szó?

A Woodestic több WooCommerce-webshopot üzemeltet: magyar, EU-s és nemzetközi áruházakat. Mindegyiknek külön rendelés-felülete van. Ha a rendeléseket, a csomagolást, a szállítást és a számlázást shopról shopra kell követni, az idő nagy része kézi kereséssel, másolással és ellenőrzéssel megy el, és könnyű elveszíteni, melyik rendelés hol tart.

Közben a számok sem egyszerűek: több deviza, országonként eltérő ÁFA-szabályok, kézzel felvett rendelések, utólag módosított címek és tételek, és olyan rendelések, amelyek a webshopban már lezártak, de a számlázásnál vagy a feladásnál még élnek.

A feladat egy olyan központi rendszer volt, amely a webshopok rendeléseit egy felületen összefogja, innen a nyomtatástól a csomagfeladáson át a számlázásig minden megoldható, és közben a számok átláthatók maradnak, anélkül, hogy a rendszer bármit felülírna, amit nem szabad.

Amit tudnia kellett

  • Több webshop rendelése egy helyen, automatikus szinkronnal – akkor is, ha egy webhook elveszik
  • Rendelések kezelése: státusz, cím, tételek, fizetési és szállítási mód szerkesztése, a változás visszaírásával a webshopba
  • Kézi rendelés felvétele és tömeges import táblázatból
  • Nyomtatható rendelés-összesítő és szállítási címkék, egyesével és tömegesen
  • Csomagfeladás a felületről, több futárral, valós idejű állapotkövetéssel
  • Számlázás a Számlázz.hu-n keresztül, shoponkénti számlaszám-sorozattal
  • Automatikus e-mailek a vásárlónak, magyarul és angolul, a shop saját feladójával
  • Kimutatások devizánként, tájékoztató ÁFA-besorolással
  • A pénzügyi rendszer és a CRM kiszolgálása védett, csak olvasható adatkapcsolattal
  • Felhasználók, napló, és mobilról is használható felület

A megoldás

Amit építettem

A rendszer minden webshop rendelését egy közös adatbázisba gyűjti: azonnal, amint a webshop jelzi, és óránként egy automatikus egyeztetéssel, amely az esetleg elveszett eseményeket pótolja. A rendeléseken végzett módosítások – a státusz, a cím, a tételek, a fizetési és szállítási mód – a feldolgozás alatt álló rendeléseknél visszakerülnek a webshopba is. A lezárt rendeléseknél a módosítás szándékosan nem lehetséges, mert egy már kiszámlázott vagy feladott rendelésnél félrevezető lenne.

A mindennapi munka egy felületen megy: szűrhető, kereshető rendeléslista (a webshop saját rendelésszámára is), forrás-színekkel és nyomtatási jelöléssel, tömeges nyomtatással; kézi rendelés felvétele vásárló- és termékkeresővel; tömeges import Excelből, mintafájllal és legördülő listákkal. A rendeléseket sosem töröljük, csak archiváljuk, és a sikertelen vagy visszamondott rendelés magától archívnak számít.

A rendelés oldaláról közvetlenül feladható a csomag – a KVIKK-en át a legtöbb hazai futárral, vagy DHL Express-szel kétlépcsős, jóváhagyás-köteles folyamatban –, kiállítható a számla a Számlázz.hu-n, és kiküldhető a vásárlónak szóló e-mail. Az e-mail-sablonok alapból kikapcsoltak, és bekapcsolás után csak az új eseményekre reagálnak, így a régi rendelésekre nem megy ki semmi visszamenőleg.

A Dashboard és a statisztikák a rendelésekből készülnek: devizánként külön, az összesített nézethez a napi árfolyamon átváltva, tájékoztató ÁFA-bontással. A rendelésenkénti ÁFA-besorolás a szabályok sorrendjében dől el: kézi felülírás, a shop saját kulcsa, EU-n kívüli rendelésnél 0%, EU-s céges vásárlónál fordított adózás, belföldi cégnél az általános kulcs, magánszemélynél az ország általános kulcsa. Ez tájékoztató jellegű, és sosem íródik vissza a webshopba. A rendszer ezeken felül egy védett, csak olvasható adatkapcsolaton keresztül szolgálja ki a Woodestic pénzügyi rendszerét és a CRM-et.

  • 01

    Több webshop, egy felület

    A rendelések azonnal (webhook) és óránként (egyeztetés) érkeznek, a teljes történet kézi szinkronnal is lekérhető; a Dashboardon shoponként látszik, mikor járt utoljára a szinkron.

  • 02

    Visszaírás a webshopba

    A státusz, a cím, a tételek, a fizetési és szállítási mód a feldolgozás alatt álló rendeléseknél a WooCommerce-be is visszakerül; a sikertelen visszaírás jelezve van.

  • 03

    Kézi rendelés

    Vásárló- és termékkereső (az összes webshop katalógusából), szabadon választható deviza, szállítási díj, megjegyzések rendelés- és tételszinten, címmásolás számlázásiból szállítási címre.

  • 04

    Tömeges import

    Excel/CSV import mintafájllal és súgó-fülön; legördülő listák a teljes katalógusból és a termék tulajdonságaiból; a sorok rendelésekké állnak össze, a hibás sorok okával együtt.

  • 05

    Nyomtatás

    A4-es rendelés-összesítő, tömeges nyomtatás, „csak új" szűrés; a nyomtatás tényét, idejét és végrehajtóját a rendszer rögzíti és mindenhol jelzi.

  • 06

    Forrás-színkódok

    Minden webshopnak saját színe van, a kézi rendelések semleges szürkét kapnak; a szín sosem az egyetlen jelzés (a szöveges címke mindig látszik), és a kontraszt világos és sötét módban is ellenőrzött.

  • 07

    Csomagfeladás – KVIKK

    GLS, MPL, Foxpost, Packeta, DPD és FámaFutár; csomagpont-választó és automatikus csomagpont-felismerés, becsült súly a termékekből, deviza-átváltott érték, méret- és súlykorlátok, címkék A4-en 2×2-es elrendezésben, csomagátadási jegyzék, valós idejű állapotkövetés.

  • 08

    Csomagfeladás – DHL Express

    Díjkérés minden elérhető szolgáltatásra, szolgáltatás kiválasztása, kézi jóváhagyás a feladás előtt (a feladás nem vonható vissza); vámkezelés, a vámáru-nyilatkozat a rendelés tételeiből automatikusan.

  • 09

    Számlázás – Számlázz.hu

    Számla, sztornó (új, helyesbítő bizonylattal), befizetés, PDF és XML, NAV-os adószám-ellenőrzés; shoponként saját számlaszám-sorozat; a korábbi számlák rendelésekhez párosítása.

  • 10

    E-mailek

    A közös AWS SES-kapcsolaton, shoponkénti feladóval; szerkeszthető magyar és angol sablonok élő előnézettel; vészleállító kapcsoló és külön e-mail napló sikeres és sikertelen kísérletekkel.

  • 11

    Dashboard

    Havi/negyedéves/éves nézet, lapozható időszak; bevétel devizánként bruttó és nettó vonallal; összesített bevétel átváltva; státusz-eloszlás; top termékek; aktuális rendelések lenyitható lista; webshopos és kézi rendelések aránya.

  • 12

    Termékcsalád-riport

    Egyedi, negyedéves bontású kimutatás nettó árakkal, a rendelés napi árfolyamán átváltva, a szett-típus tulajdonság szerinti bontással.

  • 13

    Statisztikák

    Értékesítés, vásárlók (új és visszatérő, top vásárlók, országok), termékek és működés (még nem nyomtatott rendelések, átfutási idők) – az előző időszakhoz viszonyítva.

  • 14

    ÁFA-kimutatás

    Devizánként bruttó, nettó és ÁFA; rendelésenként kézzel felülírható besorolás; tájékoztató, a webshopba nem kerül vissza.

  • 15

    Termékek

    A katalógus szinkronja (shoponként több ezer termékig); a név, a leírás és az ár szerkeszthető és visszaírható; a készlet és a képek szándékosan csak olvashatók.

  • 16

    WooCommerce-furcsaságok

    A „bármelyik" tulajdonságok (szabadon választhatók a vásárlónál) külön kezelve, így a rendeléseken és a manuális felvitelnél is helyesen jelennek meg.

  • 17

    Vásárlók

    A rendelésekből, e-mail alapján összesítve; adatlap devizánként külön összesítve; a számító és a nem számító rendelések elkülönítve.

  • 18

    Gyorskeresés

    Globális keresés (Ctrl/Cmd+K) rendelések, termékek és vásárlók között.

  • 19

    Felhasználók és napló

    Egyéni fiókok, monogramos avatar vagy profilkép; minden módosító művelet naplózva, a végrehajtó nevével – a rendszer és az ember által indított szinkron is megkülönböztetve.

  • 20

    Biztonság

    Jelszó-hash, aláírt munkamenet, opcionális reCAPTCHA a belépésnél, védett külső végpontok.

  • 21

    Sötét mód és mobil

    Felhasználónként megjegyzett megjelenés; telepíthető alkalmazás (PWA) saját telepítési felajánlással, amely az élő adatot sosem tárolja gyorsítótárban.

  • 22

    Budapesti idő

    A napi, havi határok, a „ma" és a diagramok a szerver időzónájától függetlenül helyesek, óraátállás napjain is.

Technológia

Mi fut a háttérben?

  • Next.js és TypeScript

    A felület és a szerveroldal egy alkalmazásban.

  • Prisma és MySQL

    Az adatmodell, migrációkkal, ellenőrzött sémafejlesztéssel.

  • WooCommerce REST API és webhookok

    A rendelések és termékek szinkronja mindkét irányban.

  • KVIKK, DHL Express (MyDHL) és Számlázz.hu

    Csomagfeladás és számlázás közvetlen API-kapcsolaton.

  • Tailwind CSS és shadcn/ui

    Felület, világos és sötét módban.

  • Recharts és react-to-print

    Diagramok és a nyomtatható nézetek.

  • AWS SES

    Tranzakciós e-mailek.

  • Docker és Coolify

    Telepítés, saját szerveren.

Hogyan közelítem

Amire az ilyen projekteknél figyelek

01

A devizák sosem keverednek

Minden összeg a saját devizájában jelenik meg; az összesített nézet külön, jelölt, napi árfolyamos kiegészítés.

02

Rendelést nem törlünk

Archiválás és automatikus archív státusz: a nyilvántartás teljes marad, a kimutatások mégis tiszták.

03

Csak az számít, ami számít

A vásárlói érték és minden kimutatás csak a számító rendelésekből (feldolgozás alatt, teljesítve, tartva) készül; a többi látható, de nem torzít.

04

Idősík-védelem a szinkronban

Egy elavult olvasás nem írja felül a frissebb állapotot, a sikertelen visszaírás pedig jelezve van, nem vész el csendben.

05

Ahol nincs visszavonás, ott ember dönt

A csomagfeladás és a számlázás kézi indítású, kivétel nélkül jóváhagyással; a lezárt rendelést nem írjuk át.

06

Amit nem kértek, azt nem küldjük

Az e-mail-sablonok alapból kikapcsoltak, bekapcsolás után csak új eseményekre reagálnak, és csak tényleges státuszváltásnál.

07

Csak ahol megbízható, ott írunk vissza

A cím, a tételek és az ár visszaíródik; a készlet, a kategóriák és a képek nem, mert egy hibás készlet-szinkron túlértékesítéshez vezetne.

08

Ellenőrizve a valós rendszeren

A WooCommerce viselkedését a forráskódból és élő adaton ellenőriztük, ahol a dokumentáció nem részletezi.

09

Budapesti idő mindenhol

A napi, havi határok és a „ma" a szerver időzónájától függetlenül helyesek.

10

Elszámoltathatóság jogosultsági rendszer helyett

Lapos jogosultsági modell, de minden módosítás nevesítve naplózva van.

11

Mobilon is

A felület telepíthető, de az élő rendelésadatot soha nem tárolja gyorsítótárban.

Eredmény

Mi lett belőle?

A rendszer a Woodestic központi rendeléskezelő felülete: hét aktív webshop rendelése egy helyen, a nyomtatástól a csomagfeladáson át a számlázásig. A Woodestic Finance Dashboard a bevételi adatait is innen kapja.

A rendszer nem a webshopok helyett, hanem azok fölött dolgozik: ahol a webshop a forrás, ott a webshopból tanul, ahol az OMS a forrás, ott nem ír vissza – és ez a határ mindig látható.

További esettanulmányok

Kapcsolat

Hasonlót szeretnél?

Írd meg két mondatban, mit szeretnél építeni vagy rendbe tenni. Megnézem, és őszintén megmondom, hogyan látom.

[email protected] +36 30 731 6893

Kíváncsi vagy, mit építettem? Nézd meg a munkáimat →

Nincs kötelezettség. Az adataidat bizalmasan kezelem.

Hívás