OMS i E-commerce — Sistem upravljanja narudžbinama
Pokrivene uloge: OMS operator · E-commerce menadžer · Administrator kanala · Supervizor povrata
Primarni moduli: OmniSales (Narudžbine · Kanali · Popusti · Izveštaji) · Skladište (Otpremnice · Liste pakovanja) · Innoship · Fakture
Za koga je ovaj vodič
| Uloga | Šta rade u CRMConnect-u |
|---|---|
| OMS operator | Obrađuje dnevne narudžbine: potvrđuje, generiše otpremnice, prati isporuke |
| E-commerce menadžer | Konfiguriše prodajne kanale, pravila odobrenja, trgovačke popuste |
| Administrator kanala | Upravlja WooCommerce/Shopify sinhronizacijom, rešava greške sinhronizacije |
| Supervizor povrata | Obrađuje zahteve za povrat, odobrava povrate zaliha, upravlja refundacijama |
Mapa OmniSales modula
PRODAJNI KANALI NARUDŽBINE (KORPA)
────────────── ─────────────────
POS (Prodajno mesto) Nacrt (0)
B2B Portal (klijenti) U obradi (1)
WooCommerce Čeka plaćanje (2)
Shopify Potvrđena (3) ──→ automatska faktura
Ručno (osoblje) Dostava (4)
Predurudžbina Isporučena (5) ✓
POPUSTI ISPUNJENJE
───────── ───────────
Trgovački popusti Otpremnica
Voucher kodovi Lista pakovanja
Popusti po klijentu/grupi Innoship AWB
Popusti po proizvodu/kanalu Praćenje kurira
POVRATI IZVEŠTAJI I REVIZIJA
─────── ────────────────────
Zahtev klijenta za povrat OmniSales izveštaji
Odobrenje povrata Revizija sinhronizacije (diary_sync)
Restitucija zaliha Prihod po kanalu
Refundacija Efikasnost popusta
Preporučena dnevna rutina
Jutro (20–30 min)
1. Nove nepotvrđene narudžbine/admin/omni_sales/order_list → filter status Nacrt (0) ili U obradi (1)
Pregledajte i potvrdite narudžbine primljene tokom noći (sa WooCommerce-a, B2B portala).
2. Narudžbine koje čekaju odobrenjeapprove_status = 0 — Narudžbine blokirane u toku odobrenja
Obradite ih ili pošaljite odgovarajućem odobravatelju.
3. Provera WooCommerce sinhronizacije/admin/omni_sales/diary_sync → kartica Narudžbine
Proverite da li je automatski uvoz ispravno pokrenut — identifikujte greške uvoza.
4. Liste pakovanja za popunjavanje/admin/warehouse/manage_packing_list — Nepotpuni paketi
Popunite dimenzije i težinu za generisanje AWB-a.
5. Novi povrati/admin/omni_sales → kartica Povrati — novi zahtevi od klijenata
Pregledajte i donestite odluku o odobrenju.
Tokom dana
Nova narudžbina (bilo koji kanal)
↓ Proverite proizvode + cene + klijenta
↓ Potvrdite (status 0→3)
↓ Faktura automatski generisana (ako je konfigurisano)
↓ Otpremnica kreirana (ručno ili automatski)
↓ Prikupljanje + Pakovanje + AWB
↓ Predajte kuriru → status → Dostava (4)
↓ Kurir potvrdi isporuku → status → Isporučena (5)
Nedeljno
- OmniSales izveštaji — prihod po kanalu, obim narudžbina, top proizvodi
- Revizija sinhronizacije — uvezene narudžbine vs. greške u posled 7 dana
- Popusti — proverite da li pravila popusta uskoro ističu
- Povrati — usklađivanje odobrenih povrata vs. ponovo unete zalihe
Prodajni kanali
Gde: /admin/omni_sales/omni_sales_channel
Dostupne vrste kanala
| Kanal | channel |
channel_id |
Ko postavlja narudžbinu |
|---|---|---|---|
| POS | pos |
1 | Osoblje na pultu/terminalu |
| B2B Portal | portal |
2 | Klijent online na sopstvenom portalu |
| WooCommerce | woocommerce |
3 | Kupci iz online prodavnice |
| Ručno | — | 4 | Osoblje u CRM adminu |
| Predurudžbina | pre_order |
— | Narudžbine sa budućom isporukom |
| API | — | — | Eksterni sistemi putem REST API-ja |
Konfiguracija po kanalu
| Podešavanje | Opis |
|---|---|
| Automatska potvrda | Narudžbina automatski prelazi na status 3 bez ručnog odobrenja |
| Automatska faktura | Faktura automatski generisana pri potvrdi (create_invoice = on) |
| Dozvoljeni načini plaćanja | Koji načini plaćanja kanal prihvata |
| Cenovnik | Cene specifične za kanal (nadjačava standardnu cenu) |
| Grupe klijenata | Ko ima pristup kanalu |
| Naknada za dostavu | Podrazumevana cena dostave po kanalu |
Operativne razlike po kanalu
POS:
- Trenutno plaćanje (gotovina/kartica na pultu)
- Priznanica automatski generisana (konfigurabilni predložak:
bill_header_pos,bill_footer_pos) - Radne smene sa praćenjem po operateru
B2B Portal:
- Klijent se autentifikuje i pregledava katalog
- Vidi cene dogovorene sa njim (po kanalu ili po grupi)
- Postavlja narudžbinu → ide na odobrenje ako je konfigurisano
- Prima email potvrde
WooCommerce:
- Narudžbine se automatski uvoze putem cron posla (konfigurabilna učestalost po prodavnici)
- Klijent automatski kreiran u CRM-u ako ne postoji
- Statusi se bidirekcionalno sinhronizuju (CRM → WooCommerce)
Statusi narudžbina — kompletan vodič
| Kôd | Status | Šta radite |
|---|---|---|
| 0 | Nacrt | Narudžbina primljena, neproverana. Pregledajte podatke, proizvode, cenu. |
| 1 | U obradi | Provjera zaliha i dostupnosti. |
| 2 | Čeka plaćanje | Čeka avansno plaćanje od klijenta (B2B sa avansnim plaćanjem). |
| 3 | Potvrđena | Narudžbina potvrđena. Generisana faktura (ako je konfigurisano) i otpremnica. |
| 4 | Dostava | Paket preuzeo kurir, AWB generisan. |
| 5 | Isporučena | Isporuka potvrđena. Kompletan ciklus. |
| 6 | Refundacija | Refundacija obrađena. |
| 7 | Povrat | Odobren i obrađen potpuni povrat. |
| 8 | Otkazana | Narudžbina otkazana (od klijenta ili osoblja). |
| 9 | Na čekanju | Privremeno suspendovana (nestašica zaliha, problem sa plaćanjem). |
| 10 | Neuspela | Neuspela (odbijeno plaćanje, greška u obradi). |
| 11 | Povrat na čekanju | Zahtev za povrat čeka odobrenje. |
| 12 | Delimičan povrat | Delimičan povrat — samo neki proizvodi vraćeni. |
| 13 | Delimična refundacija | Delimična refundacija obrađena. |
| 14 | Plaćena | Plaćena u potpunosti. |
| 15 | Spremna | Spremna za isporuku (zalihe rezervisane). |
| 16 | Zalihe nedostupne | Narudžbina primljena ali proizvod nema na stanju. |
Tok odobrenja (`approve_status`)
| Vrednost | Značenje |
|---|---|
0 |
Na čekanju — čeka odobrenje |
1 |
Odobrena — može biti potvrđena |
-1 |
Odbijena — klijent je obavešten |
Pravila odobrenja se konfigurišu po kanalu i vrsti narudžbine u OmniSales podešavanjima (
omni_order_approval_rules). Primer: sve narudžbine B2B portala > 10.000 zahtevaju odobrenje menadžera prodaje.
Obrada narudžbine korak po korak
B2B Portal narudžbina
1. Klijent postavlja narudžbinu → status: Nacrt (0)
↓
2. Automatsko obaveštenje → OMS Operator
↓
3. Operator otvara narudžbinu:
- Proverava proizvode i količine
- Proverava cenu i primenjene popuste
- Proverava adresu za isporuku
↓
4. Šalje na odobrenje (ako je pravilo aktivno)
→ Menadžer odobrava → approve_status = 1
↓ (ili ako nije potrebno odobrenje: direktno na korak 5)
5. Potvrdite → status: Potvrđena (3)
→ Faktura automatski generisana (ako je create_invoice = on)
→ Otpremnica automatski kreirana (ako je auto_create_goods_delivery = on)
↓
6. Skladište: prikupljanje + pakovanje + merenje
↓
7. Generišite Innoship AWB → status: Dostava (4)
↓
8. Kurir potvrdi isporuku → status: Isporučena (5)
WooCommerce narudžbina
1. Cron pokreće se u konfigurisanom intervalu (npr. svakih 15 min)
→ Uvozi nove narudžbine sa WooCommerce API-ja
→ Kreira korpu + detalje korpe + klijenta (ako je novi)
→ Status: odgovarajući WooCommerce statusu
↓
2. Operator vidi novu narudžbinu u OmniSales listi
(Obaveštenje ako je pravilo odobrenja aktivno)
↓
3. Ako WooCommerce status = U obradi → CRM status = 1 (U obradi)
Operator potvrđuje → status = 3 → faktura + otpremnica
↓
4. Pri promeni statusa u CRM-u → automatsko ažuriranje u WooCommerce-u
(Bidirekecionalna sinhronizacija)
Back-order (status 16 — Zalihe nedostupne)
Narudžbina primljena → provjera zaliha → NEMA NA STANJU
↓ status: 16 (Zalihe nedostupne)
Šta radite:
1. Obavestite Nabavku → kreirajte RFQ za nedostajući proizvod
2. Narudžbina ostaje u statusu 16 do dopune
3. Kada zalihe stignu (priznanica odobrena):
→ Ručno promenite status na 3 (Potvrđena)
→ Kreirajte otpremnicu
→ Nastavite normalan tok
Važno: Sistem ne unapređuje automatski narudžbine iz statusa 16. Ručno pratite listu narudžbina sa nedostupnim zalihama.
B2B Portal — perspektiva klijenta
URL portala: /omni_sales/omni_sales_client/
Šta B2B klijent može raditi
| Akcija | Detalji |
|---|---|
| Pregledanje kataloga | Filtriranje po kategorijama, potkategorijama, pretraga po ključnoj reči |
| Viđenje svojih cena | Cene specifične za kanal portala ili grupu klijenata |
| Primena vouchera | Specifičan kôd popusta (ako znaju kôd) |
| Postavljanje narudžbine | Dodaj u korpu, popuni adresu, izaberi način plaćanja |
| Praćenje narudžbine | Status narudžbine u realnom vremenu |
| Zahtev za povrat | Ako je narudžbina isporučena i unutar prozora povrata |
| Pregled istorije | Sve prethodne narudžbine |
Konfiguracija vidljivosti proizvoda
Možete ograničiti šta svaki B2B klijent vidi:
- Po grupi klijenata — polje
customer_groupna kanalu portala - Po specifičnom klijentu — polje
customersa ID-ovima klijenata - Po odeljenju — ako
omni_show_products_by_department = 1
B2B cene
Cene se primenjuju po redosledu:
- Cena specifična za klijenta — iz
sales_channel_detail.prices+ pravilo popustaomni_trade_discount.clients - Cena grupe klijenata — grupni popust iz
omni_trade_discount.group_clients - Cena kanala — cena konfigurisana na Portal kanalu
- Standardna cena — cena iz kataloga artikala
Trgovački popusti
Gde: /admin/omni_sales/trade_discount
Struktura popusta
| Polje | Napomene |
|---|---|
name_trade_discount |
Interno ime pravila |
start_time / end_time |
Period važenja |
formal |
0 = fiksni iznos / 1 = procenat |
discount |
Vrednost popusta (npr. 15 za 15%) |
minimum_order_value |
Minimalna vrednost narudžbine za aktivaciju |
voucher |
Voucher kôd (prazno = automatski primenjen) |
channel |
0 = svi kanali / specifični ID kanala |
Primenljivost
| Dimenzija | Polje | Primeri |
|---|---|---|
| Po specifičnom klijentu | clients |
ID-ovi prihvatljivih klijenata |
| Po grupi klijenata | group_clients |
VIP, Veleprodaja, Maloprodaja |
| Po specifičnom proizvodu | items |
ID-ovi sniženih proizvoda |
| Po grupi proizvoda | group_items |
Elektronika, Tekstil, Nameštaj |
| Po kanalu | channel |
Samo POS, Samo portal, svi |
| Po WooCommerce prodavnici | store |
Specifični ID prodavnice |
Vrste popusta
| Vrsta | formal |
Primer |
|---|---|---|
| Procenat | 1 |
10% popusta na sve u kategoriji Elektronika |
| Fiksni iznos | 0 |
50 popusta na narudžbine iznad 500 |
| Voucher kôd | bilo | Klijent unosi kôd "PROMO2026" → -15% |
| Automatski | bilo (bez vouchera) | Primenjen bez kôda ako klijent ispunjava kriterijume |
Evidencija primenjenih popusta
Svaki popust primenjen na narudžbinu automatski se evidentira u omni_log_discount:
- Klijent, proizvod, narudžbina
- Originalna cena vs. cena posle popusta
- Uštedena vrednost
- Kanal i voucher kôd (ako je primenjivo)
Korisno za izveštavanje o efikasnosti kampanje popusta.
Povrati — kompletan proces
Gde: /admin/omni_sales → kartica Povrati ili /admin/warehouse/manage_order_return_receipt
Pokretanje povrata
Od klijenta (sa B2B portala):
- Klijent pristupa istoriji narudžbina
- Bira isporučenu narudžbinu (status 5)
- Klikne "Zahtev za povrat"
- Sistem proverava:
omni_return_request_within_x_day(podrazumevano 30 dana od isporuke) - Klijent bira proizvode + količine + razlog
- Zahtev stiže do vas u CRM-u sa statusom
approval = 0
Od operatora (ručno): Iz isporučene narudžbine → dugme Kreiraj povrat → popunite stavke, količine i razlog.
Ključna polja na OmniSales povratu
| Polje | Napomene |
|---|---|
rel_id |
ID originalne narudžbine (cart.id) |
return_type |
manual / partially / fully |
fee_return_order |
Naknada za restokiranje (konfigurabilna globalno ili po dobavljaču) |
return_reason |
Razlog povrata (slobodan tekst) |
approval |
0=na čekanju / 1=odobreno / 2=odbijeno |
receipt_delivery_id |
Priznanica kreirana kada zalihe ponovo ulaze |
refund_loyaty_point |
Da li se refundiraju loyalty poeni |
Statusi povrata i vaše akcije
approval |
Status | Vaša akcija |
|---|---|---|
0 |
Na čekanju | Pregledajte zahtev, proverite da li je unutar prozora povrata |
1 |
Odobreno | Zalihe se automatski reintegrišu; obradite refundaciju |
2 |
Odbijeno | Razlog odbijanja saopšten klijentu |
Pri odobrenju povrata
Automatski se kreira:
- Priznanica povrata — roba ponovo uneta u zalihe (
receipt_delivery_idpopunjeno) - Transakcija zaliha —
inventory_manage.inventory_number += količina - Zapis refundacije — u
omni_refundssa iznosom i načinom plaćanja
Refundacija
Gde: Iz odobrenog povrata → Obradi refundaciju
Polja refundacije (omni_refunds):
amount— Iznos za refundaciju (originalni − naknada za povrat)payment_mode— Metoda refundacije (isti kanal kao originalno plaćanje)refunded_on— Datum refundacijenote— Interne napomene
Loyalty poeni: Ako omni_refund_loyaty_point = 1 → poeni zarađeni na originalnoj narudžbini se automatski storniraju.
Konfiguracija politike povrata
Gde: /admin/omni_sales/setting
| Podešavanje | Preporučena vrednost |
|---|---|
omni_return_request_within_x_day |
14–30 dana (po komercijalnoj politici) |
omni_fee_for_return_order |
0–10% vrednosti narudžbine |
omni_return_policies_information |
Tekst politike prikazan klijentu pri povratu |
omni_refund_loyaty_point |
1 — refundacija poena |
WooCommerce sinhronizacija
Gde: /admin/omni_sales/diary_sync
Šta se bidirekcionalno sinhronizuje
| Smer | Šta se sinhronizuje | Učestalost |
|---|---|---|
| CRM → WooCommerce | Cene proizvoda (time3) |
Konfigurabilno po prodavnici |
| CRM → WooCommerce | Zalihe (time2) |
Konfigurabilno po prodavnici |
| CRM → WooCommerce | Opisi proizvoda (time4) |
Konfigurabilno po prodavnici |
| CRM → WooCommerce | Slike proizvoda (time5) |
Konfigurabilno po prodavnici |
| WooCommerce → CRM | Nove narudžbine (time6) |
Konfigurabilno po prodavnici |
| WooCommerce → CRM | Statusi postojećih narudžbina | Svaka time6 sinhronizacija |
Rešavanje grešaka sinhronizacije
Najčešće greške u diary_sync:
| Greška | Uzrok | Rešenje |
|---|---|---|
| Narudžbina nije duplirana | WooCommerce SKU proizvoda ne postoji u CRM-u | Kreirajte proizvod u CRM-u sa istim SKU |
| Klijent nije kreiran | Nevažeći ili duplikat email klijenta | Ručno proverite i ispravite zapis klijenta |
| Plaćanje nije prepoznato | Način plaćanja WooCommerce nije mapiran | Dodajte mapiranje u podešavanja kanala |
| API timeout | WooCommerce prodavnica nedostupna | Proverite dostupnost prodavnice; ručno ponavljanje |
| Status nije prepoznat | WooCommerce status bez CRM ekvivalenta | Dodajte mapiranje u get_status_by_index_woo() |
OmniSales Izveštaji
Gde: /admin/omni_sales/report
Dostupni izveštaji
| Izveštaj | Šta analizirate |
|---|---|
| Prihod po kanalu | Koliko je generisao POS vs. Portal vs. WooCommerce |
| Obim narudžbina po periodu | Dnevni/nedeljni/mesečni trend narudžbina |
| Trgovački popusti | Koji popusti su primenjeni, na kojima proizvodima, za koje klijente |
| Povrati | Stopa povrata po kanalu, po proizvodu, po periodu |
| Top proizvodi | Najprodavaniji proizvodi po kanalu |
| Revizija WooCommerce sinhronizacije | Uvezene narudžbine vs. greške |
Integracija sa drugim odeljenjima
| Odeljenje | Interakcija |
|---|---|
| Prodaja | Potvrđene narudžbine napajaju prodajni cevovod; prodajni agent je vidljiv na narudžbini (seller) |
| Skladište | Otpremnice i liste pakovanja se generišu iz potvrđenih OmniSales narudžbina |
| Finansije | Fakture automatski generisane iz potvrđenih narudžbina; plaćanja usklađena sa izvodom iz banke |
| Nabavka | Kod nedovoljnih zaliha (status 16), OMS operator obaveštava nabavku za RFQ |
| Marketing | Trgovački popusti i voucheri su marketinški alati koordinisani sa marketing timom |
| Korisnička podrška | Klijenti sa problemima narudžbina otvaraju tikete — OMS operator uključen u rešavanje |
Automatizacija radnih tokova za OMS
Konfigurabilno u Automatizaciji radnih tokova (/admin/workflow_automation):
| Okidač | Automatska akcija | Prednost |
|---|---|---|
| Nova B2B Portal narudžbina | Push obaveštenje OMS operatoru | Trenutna obrada |
| Narudžbina > 5.000 | Zadatak odobrenja menadžera | Kontrola velikih narudžbina |
| Status narudžbine → Potvrđena | Kreiranje otpremnice + obaveštenje skladištu | Automatsko ispunjenje |
| Status narudžbine → Isporučena | Email pregleda → klijent | Prikupljanje povratnih informacija |
| Status → 16 (Zalihe nedostupne) | Zadatak "Hitna nabavka" → Nabavka | Back-order upravljan |
| Povrat odobren | Email potvrde → klijent + zadatak "Obradi refundaciju" | Brza komunikacija |
| Greška WooCommerce sinhronizacije | Obaveštenje administratora kanala | Brza intervencija |
Preporučene dozvole
Zatražite od administratora na /admin/roles:
| Dozvola | Potrebno za |
|---|---|
| OmniSales → Pregled / Kreiranje / Izmena | Pun pristup narudžbinama |
| OmniSales → Odobrenje | Odobrenje narudžbina (za menadžere) |
| Trgovački popusti → Pregled / Kreiranje | Upravljanje popustima |
| Skladište → Otpremnice | Kreiranje otpremnica |
| Innoship → AWB | Generisanje AWB kurira |
| Povrati → Pregled / Odobrenje | Upravljanje povratima |
| Izveštaji → OmniSales | Pristup izveštajima |
| Podešavanja → OmniSales | Konfiguracija kanala (admin) |
Brze reference
Radni tokovi: OmniSales ispunjenje · Kompletan komercijalni ciklus · Skladište ulaz → izlaz
Moduli: OmniSales narudžbine · Prodajni kanali · Trgovački popusti · Revizija sinhronizacije kanala · OmniSales izveštaji · OmniSales podešavanja · Otpremnice · Liste pakovanja · Innoship kuriri · WooCommerce · Shopify
Srodna odeljenja: Odeljenje prodaje · Skladište i logistika · Finansijsko odeljenje · Odeljenje nabavke