Tok rada: Kompletni komercijalni ciklus
Uključeni moduli: Potencijalni klijenti · Prilike · Ponude · Narudžbine · Magacin · Nabavka · Fakture · Plaćanja · Innoship
Ko ga koristi: Prodaja · Magacin · Nabavka · Finansije
Tipično trajanje: Dani – sedmice (od potencijalnog klijenta do isporuke i plaćanja)
Pregled
Kompletni komercijalni ciklus — od prvog kontakta sa prospektom do rotacije zaliha nakon isporuke. Pokriva prodaju, proveru stanja, nabavku za manjkove (manuelni backorder), prijem od dobavljača, isporuku klijentu sa otpremnicom i fakturom, i upravljanje preostatim zalihama.
Važno — poznata ograničenja automatizacije:
CRMConnect delimično automatizuje ovaj ciklus. Tri tačke zahtevaju manuelnu intervenciju: (1) kreiranje RFQ-a kada nema dovoljno zaliha, (2) direktna veza između narudžbine za prodaju ↔ narudžbenica za kupovinu ne postoji u tabelama, (3) automatska dopuna pri minimalnim zalihama nije implementirana — konfigurisani minimum je samo informativan.
Kompletni dijagram toka
[POTENCIJALNI KLIJENT]
│ prikupljanje: formular / email pipe / Facebook / manuelno
│ ↓
[PRILIKA]
│ kvalifikacija, procenjena vrednost, verovatnoća
│ ↓
[PONUDA]
│ Nacrt → Poslato → Prihvaćeno
│ ↓ Konverzija
[NARUDŽBINA]
│ status: Nacrt(1) → Poslata(2) → Prihvaćena(4) → Fakturisana
│ ↓ Konverzija u Fakturu
[FAKTURA KLIJENTA — Nacrt]
│
├──────────────────────────────────────────────────────────────
│ PROVERA ZALIHA (pri kreiranju otpremnice)
│
│ inventory_manage.inventory_number ≥ naručena količina?
│
├─── DA → dovoljno zaliha ──────────────────────────────────┐
│ │
└─── NE → nedovoljno zaliha ────────────────────────────────┤
│ │
│ [BACKORDER — manuelna intervencija] │
│ Agent identifikuje manjak → │
│ │
│ [ZAHTEV ZA PONUDU (RFQ)] │
│ status: Nacrt(1) → Odobren(2) │
│ ↓ │
│ [PONUDA DOBAVLJAČA] │
│ status: Na čekanju(1) → Prihvaćena(2) │
│ ↓ │
│ [NARUDŽBENICA] │
│ poslata dobavljaču │
│ ↓ │
│ [OTPREMNICA ZA PRIJEM] │
│ roba stigla → stanje ažurirano │
│ ↓ │
│ [FAKTURA DOBAVLJAČA] │
│ payment_status: neplaćena → plaćena │
│ ↓ │
└──────────→ ZALIHE DOSTUPNE ───────────────────┘
│
↓
[OTPREMNICA ZA ISPORUKU]
kreirana iz fakture klijenta
odobravanje: 0=Nacrt → 1=Odobreno
stanje −= isporučena količina
↓
[LISTA PAKOVANJA]
dimenzije i težina paketa
↓
[AWB INNOSHIP]
generisan putem API kurira
↓
[OTPREMNICA poslata klijentu]
PDF dokument sa isporučenim proizvodima
↓
[FAKTURA KLIJENTA — Poslata]
status: Poslata → Delimično plaćena → Plaćena
↓
[PLAĆANJE KLIJENTA PRIMLJENO ✓]
↓
[ROTACIJA ZALIHA]
saldo ažuriran u warehouse_history
provera minimalnih zaliha (inventory_commodity_min)
ako je ispod minimuma → agent kreira novi RFQ
Detaljan opis korak po korak
Faza 1 — Prodaja: Potencijalni klijent → Narudžbina
1.1 Potencijalni klijent
Gde: /admin/leads
Prospekt ulazi kroz bilo koji kanal (formular, Facebook Lead Ads, email pipe, uvoz, manuelno). SDR agent ih kvalifikuje i ažurira status kroz lijaš prodaje.
Obavezna polja za nastavak toka:
- Kompanija + kontakt osoba
- E-mail (za slanje ponude)
- Izvor (za izveštavanje o ROI-u)
1.2 Prilika
Gde: /admin/leads (filter Prilike) ili /admin/opportunities
Iz potencijalnog klijenta → Konvertuj u Priliku. Popuniti:
- Procenjenu vrednost transakcije
- Procenjeni datum zatvaranja
- Verovatnoću konverzije
Prilika napaja prognozu prodaje i može biti uključena u Ciljeve kao praćeni cilj.
1.3 Ponuda
Gde: /admin/proposals
Iz prilike → Kreiraj Ponudu. Ciklus:
| Status | Kod | Okidač |
|---|---|---|
| Nacrt | 6 | Pri kreiranju |
| Poslata | 4 | Dugme Pošalji → e-mail sa linkom portala |
| Pregledana | 1 | Klijent otvara link |
| Prihvaćena | 3 | Klijent klikće Prihvati ili agent menja manuelno |
| Odbijena | 2 | Klijent ili agent |
Kod prihvatanja → postaje dostupno dugme Konvertuj u Narudžbinu.
1.4 Narudžbina
Gde: /admin/estimates
Kreirana iz prihvaćene ponude — sve linije proizvoda/usluga se automatski kopiraju.
Statusi narudžbine (tblestimates.status):
| Kod | Status | Opis |
|---|---|---|
| 1 | Nacrt | Nepotvrđeni nacrt |
| 2 | Poslata | Poslata klijentu |
| 3 | Odbijena | Odbijena |
| 4 | Prihvaćena / Fakturisana | Prihvaćena i konvertovana u fakturu |
| 5 | Istekla | Datum isteka prošao |
Ključna polja:
invoiceid— automatski popunjeno nakon konverzije u fakturuinvoiced_date— vremenski pečat konverzije
Kod prihvatanja klijenta:
Ako je estimate_auto_convert_to_invoice_on_client_accept = 1 → faktura se generiše automatski.
U suprotnom → manuelno dugme Konvertuj u Fakturu.
Faza 2 — Provera zaliha
Kada: Pri kreiranju otpremnice za isporuku iz fakture
Kako funkcioniše:
Sistem poziva get_inventory_by_commodity_and_warehouse(commodity_code, warehouse_id) i proverava:
if inventory_manage.inventory_number < quantity_ordered:
flag_export_warehouse = 0 → otpremnica NE MOŽE biti odobrena
Važno — bez automatske rezervacije:
Zalihe se NE rezervišu pri kreiranju narudžbine. Proveravaju se i smanjuju tek kada se otpremnica za isporuku odobri. Između narudžbine i isporuke, zalihe mogu potrošiti druge narudžbine.
Konfigurisane minimalne zalihe — informativna referenca:
Tabela inventory_commodity_min čuva:
inventory_number_min— prag upozorenjainventory_number_max— ciljni nivo pri dopuni
Ove vrednosti ne pokreću automatski nikakvu akciju. Agent mora manuelno da proverava i kreira RFQ kada otkrije da su zalihe pale ispod minimuma.
Gde proveriti stanje: /admin/warehouse/warehouse_history ili iz kartice proizvoda (Artikli) → trenutni saldo po magacinu.
Faza 3 — Backorder: Nabavka za manjkove (manuelno)
Ova faza se prati samo ako zalihe nisu dovoljne. Ako su zalihe dostupne, prelazi se direktno na Fazu 4.
CRMConnect nema automatski mehanizam za backorder. Tok nabavke pokreće manuelno agent nabavke.
3.1 Zahtev za Ponudu (RFQ)
Gde: /admin/purchase/purchase_request
Agent kreira RFQ navodeći nedostajuće proizvode i količine u odnosu na narudžbinu. Referentni dokument (narudžbina za prodaju) se beleži u opisu ili polju internih napomena.
Statusi RFQ-a:
| Kod | Status |
|---|---|
| 1 | Nacrt |
| 2 | Odobren — poslat dobavljačima |
| 3 | Odbijen |
| 4 | Otkazan |
Veza sa narudžbinom za prodaju: Ne postoji direktno FK polje u tabelama. Preporučena konvencija: navesti broj narudžbine za prodaju u naslovu ili opisu RFQ-a radi manuelne sledivosti.
3.2 Ponude dobavljača
Gde: /admin/purchase/myquotations
Dobavljači odgovaraju putem portala ili agent unosi primljene ponude. Više ponuda za isti RFQ može se porediti pre izbora.
| Kod | Status |
|---|---|
| 1 | Na čekanju — primljeno, još nije ocenjeno |
| 2 | Prihvaćeno — pobednička ponuda |
3.3 Narudžbenica
Gde: /admin/purchase/purchase_order
Kreirana iz prihvaćene ponude. Poslata dobavljaču sa PDF-om + linkom portala.
Statusi narudžbenice:
| Polje | Kod | Opis |
|---|---|---|
status |
1 | Nacrt |
status |
2 | Odobren — potvrđen dobavljaču |
status |
3 | Odbijen |
status |
4 | Otkazan |
order_status |
1 | Nije počeo |
order_status |
2 | U toku |
order_status |
3 | Završen |
delivery_status |
0 | Nije isporučeno |
delivery_status |
1 | Isporučeno |
3.4 Otpremnica za prijem od dobavljača
Gde: /admin/warehouse/manage_purchase
Kreirana automatski kada je narudžbenica odobrena (ako je auto_create_goods_received = 1) ili manuelno.
Pri odobravanju (approval = 1):
- Stanje raste:
inventory_manage.inventory_number += received_quantity - Transakcija evidentirana:
goods_transaction_detail.status = 1(Prijem) - Praćenje serije:
lot_number,date_manufacture,expiry_date
Kritična polja za rotaciju zaliha:
| Polje | Napomene |
|---|---|
lot_number |
Identifikator serije — osnova za FIFO |
date_manufacture |
Datum proizvodnje |
expiry_date |
Rok trajanja — upozorenje za kvarljive zalihe |
warehouse_id |
Odredišni magacin |
3.5 Faktura dobavljača
Gde: /admin/purchase/myinvoices
Primljena od dobavljača nakon prijema. payment_status: unpaid → partially_paid → paid.
Plaćanje dobavljaču evidentira se u pur_invoice_payment.
Faza 4 — Isporuka klijentu
4.1 Faktura klijenta (pre isporuke)
Gde: /admin/invoices
Konvertovana iz narudžbine. Pri kreiranju:
tblestimates.invoiceid = invoice_idtblestimates.status = 4(Fakturisano)- Ako je
auto_create_goods_delivery = 1→ otpremnica za isporuku se kreira automatski
Statusi fakture:
| Kod | Status |
|---|---|
| 6 | Nacrt |
| 1 | Neposlata |
| 3 | Delimično plaćena |
| 2 | Plaćena |
| 4 | Dospela |
| 5 | Otkazana |
4.2 Otpremnica za isporuku
Gde: /admin/warehouse/manage_delivery
Automatsko kreiranje iz fakture (ako je opcija aktivna) putem:auto_create_goods_delivery_with_invoice(invoice_id)
Polja postavljana automatski:
invoice_id= ID fakture klijenta- Linije proizvoda kopirane sa stavki fakture
warehouse_id= konfigurabilis magacin
Provera stanja pri kreiranju:
- Ako nema dovoljno zaliha →
flag_export_warehouse = 0→ otpremnica blokirana - Agent vidi upozorenje i pokreće Fazu 3 (backorder)
- Kada se zalihe dopune → povratak na otpremnicu → odobriti
Tipovi isporuke:
type_of_delivery = 'total'— kompletna isporukatype_of_delivery = 'partial'— delimična isporuka (sledi druga otpremnica)
Pri odobravanju (approval = 1):
- Stanje se smanjuje:
inventory_manage.inventory_number -= quantity - Transakcija:
goods_transaction_detail.status = 2(Isporuka) - FIFO: serije se biraju u redosledu prijema (
ORDER BY id ASC)
4.3 Lista pakovanja + AWB Innoship
Gde: /admin/warehouse/manage_packing_list + /admin/innoship/awb
Iz odobrene otpremnice za isporuku:
- Lista pakovanja — biranje količina, unos dimenzija (dužina, širina, visina, težina)
- AWB generisan putem Innoship API-ja — vraća broj za praćenje
- Status liste pakovanja:
wh_ready_to_deliver→wh_in_transit→wh_delivered
Otpremnica — PDF dokument koji prati fizičku robu, also sent to the client with:
- Lista isporučenih proizvoda + količine
- AWB broj za praćenje
- Podaci pošiljaoca i primaoca
4.4 Faktura klijenta — Slanje i plaćanje
Faktura poslata klijentu (e-mail + PDF + link portala). Klijent može da plati online (ako je platni prolaz konfigurisan) ili bankovnim transferom.
Pri punom plaćanju:
status = 2(Plaćena)- Aktivnost evidentirana u istoriji klijenta
- Ako je
cancelled_invoice_reverse_inventory = 1i faktura se naknadno otkaže → stanje se vraća
Faza 5 — Rotacija zaliha
5.1 FIFO princip
CRMConnect primenjuje FIFO putem praćenja serija:
- Pri prijemu: svaka primljena serija ima
lot_number,date_manufacture,expiry_date - Pri isporuci: serije se biraju u redosledu evidentiranja (
ORDER BY id ASCnagoods_receipt_detail) - Rezultat: najstarija roba / prva primljena serija → prva isporučena
Pregled: Kartica proizvoda → kartica Zalihe → stanja po seriji po magacinu.
5.2 Minimalne zalihe — Manuelno praćenje
Gde: /admin/warehouse/warehouse_history + Artikli → izmena → polja min/max
Tabela inventory_commodity_min čuva:
| Polje | Opis |
|---|---|
inventory_number_min |
Minimalni prag upozorenja |
inventory_number_max |
Ciljni nivo pri dopuni |
Preporučeni tok za periodičnu dopunu:
- Postaviti
inventory_number_minna svaki aktivni proizvod - Periodično pokretati izveštaj Trenutne zalihe filtriran ispod minimuma
- Agent nabavke kreira RFQ za proizvode ispod praga
- Naručena količina =
inventory_number_max - current_inventory_number
Nema automatskog okidača. Provera se vrši manuelno ili se može automatizovati eksterno putem webhookova + Zapier-a (ako su zalihe ispod minimuma, Zapier kreira zadatak za dopunu).
5.3 Kvarljivi proizvodi — Upozorenja o roku trajanja
Proizvodi sa popunjenim expiry_date na otpremnici za prijem mogu se pratiti:
- Filtriranje u listi proizvoda po
expiry_date < current_date + N dana - Isporuka ih bira FIFO metodom — oni sa najbližim rokom se otpremaju prvi
- Istekle serije → Kalo i Korekcije (
/admin/warehouse/loss_adjustment) satype = 'loss'
5.4 Korekcije zaliha
Neslaganja pronađena tokom periodičnog fizičkog popisa:
- Fizički Popis (
/admin/warehouse/physical_inventory) — prebrojavanje i usklađivanje - Kalo i Korekcije (
/admin/warehouse/loss_adjustment) — tačkaste korekcije - Povrat od klijenta (
/admin/warehouse/manage_order_return_receipt) — vraćena roba ponovo ulazi u zalihe
Mapa dokumenata i statusa
PRODAJA:
tblestimates.status: 1=Nacrt 2=Poslata 3=Odbijena 4=Fakturisana 5=Istekla
tblinvoices.status: 6=Nacrt 1=Neplaćena 3=Delimično 2=Plaćena 4=Dospela 5=Otkazana
tblproposals.status: 6=Nacrt 4=Poslata 1=Otvorena 3=Prihvaćena 2=Odbijena 5=Revidirana
MAGACIN (izlazno):
goods_delivery.approval: 0=Nacrt → 1=Odobreno
goods_delivery.type_of_delivery: 'total' / 'partial'
goods_transaction_detail.status: 2=Isporuka, 3=Izdavanje
NABAVKA:
pur_request.status: 1=Nacrt 2=Odobren 3=Odbijen 4=Otkazan
pur_estimates.status: 1=NaČekanju 2=Prihvaćen
pur_orders.status: 1=Nacrt 2=Odobren 3=Odbijen 4=Otkazan
pur_orders.order_status: 1=NijePočeo 2=UToku 3=Završen
pur_invoices.payment_status: unpaid / partially_paid / paid
MAGACIN (ulazno):
goods_receipt.approval: 0=Nacrt → 1=Odobreno
goods_transaction_detail.status: 1=Prijem
KURIR:
wh_packing_lists.delivery_status: wh_ready_to_deliver → wh_in_transit → wh_delivered
Šta se kreira automatski vs. manuelno
| Korak | Automatski? | Uslov |
|---|---|---|
| Potencijalni klijent iz web formulara | ✅ Automatski | Aktivan ugrađeni formular |
| Ponuda → Faktura | ✅ Automatski (opciono) | estimate_auto_convert_to_invoice_on_client_accept = 1 |
| Faktura → Otpremnica za isporuku | ✅ Automatski (opciono) | auto_create_goods_delivery = 1 |
| Narudžbenica → Prijem robe | ✅ Automatski (opciono) | auto_create_goods_received = 1 |
| Backorder pri nedovoljnim zalihama | ❌ Manuelno | Agent kreira RFQ |
| Narudžbenica iz narudžbine za prodaju | ❌ Manuelno | Ne postoji direktno FK |
| Dopuna pri minimalnim zalihama | ❌ Manuelno | Nema automatskog okidača |
| Otpremnica → AWB Innoship | ✅ Automatski | Lista pakovanja odobrena + API ključ konfigurisan |
| Smanjenje zaliha | ✅ Automatski | Pri odobravanju otpremnice za isporuku |
| Povećanje zaliha | ✅ Automatski | Pri odobravanju otpremnice za prijem |
Kritične tačke pažnje
| Rizik | Uticaj | Ublažavanje |
|---|---|---|
| Zalihe nisu rezervisane pri narudžbini | Zalihe potrošene drugom narudžbinom pre isporuke | Obrađivati isporuke po redosledu prioriteta; svakodnevno proveravati dostupnost |
| Backorder bez FK veze sa narudžbinom za prodaju | Izgubljena sledivost dobavljač ↔ klijent | Manuelno navesti broj narudžbine za prodaju u naslovu RFQ-a |
| FIFO tačan samo ako je lot_number popunjen pri prijemu | Isporučeni istekli proizvodi ako serije nisu registrovane | Primeniti obavezno popunjavanje lot_number i expiry_date pri svim prijemima |
| Minimalne zalihe se ne prate | Nedetektovani prekidi zaliha | Nedeljno poređenje: zalihe vs. izveštaj minimuma |
| Otpremnica blokirana (stanje = 0) | Odložena isporuka | Upozorenje vidljivo u korisničkom interfejsu; definisana eskalaciona procedura ka nabavci |
| Faktura otkazana nakon isporuke | Stanje nije vraćeno ako je cancelled_invoice_reverse_inventory = 0 |
Omogućiti opciju ILI kreirati manuelnu korekciju stanja |
Kompletna sledivost narudžbine
Polazeći od broja narudžbine za prodaju, možete pratiti:
Narudžbina #EST-001
└── Faktura #INV-010 (tblestimates.invoiceid = 10)
└── Otpremnica #XK-005 (goods_delivery.invoice_id = 10)
└── Lista pakovanja #PL-003
└── AWB #FAN-123456 (wh_omni_shipments)
└── Plaćanje #PAY-007 (tblinvoices → tblinvoicepayments)
RFQ #RFQ-002 [kreiran manuelno za manjkove iz EST-001]
└── Ponuda #Q-004 (pur_estimates)
└── Narudžbenica #PO-006 (pur_orders)
└── Prijem robe #NK-008 (goods_receipt, pr_order_id = PO-006)
└── Faktura dobavljača #VI-009 (pur_invoices)
Ključni izveštaji za praćenje
| Izveštaj | URL | Šta se prati |
|---|---|---|
| Narudžbine na čekanju | /admin/estimates/list_estimates?status=2 |
Poslate narudžbine, još nepotvrdene |
| Nenaplatin fakture | /admin/invoices/list_invoices?status=1 |
Tok gotovine klijenta |
| Dospele fakture | /admin/invoices/list_invoices?status=4 |
Naplata potraživanja |
| Neisporučene narudžbenice | /admin/purchase/purchase_order?delivery_status=0 |
Dobavljači u kašnjenju |
| Trenutne zalihe vs. minimum | Artikli + inventory_commodity_min |
Predstojeći prekidi zaliha |
| Istorija transakcija zaliha | /admin/warehouse/warehouse_history |
Revizija kretanja |
| Otpremnice na čekanju | /admin/warehouse/manage_delivery |
Blokirane isporuke |
| AWB-ovi u tranzitu | /admin/innoship/awb |
Status kurira |
Uključeni moduli — detaljna dokumentacija
Prodaja: Potencijalni klijenti · Prilike · Ponude · Narudžbine · Fakture · Plaćanja
Magacin: Otpremnice za isporuku · Otpremnica za prijem · Liste pakovanja · Istorija magacina · Kalo i Korekcije · Fizički Popis
Nabavka: RFQ · Primljene ponude · Narudžbenice · Fakture dobavljača
Kuriri i Integracije: Innoship kuriri · WooCommerce · Webhooks
Povezani tokovi rada: Potencijalni klijent → Naplata · Nabavka do plaćanja · OmniSales Fulfillment · Magacin Prijem → Izdavanje