Operatore Ordini OMS
Reparto: OMS & E-commerce
Livello: Operativo
Obiettivo principale: Elaborazione giornaliera degli ordini da tutti i canali — dall'ingresso alla consegna confermata
Cosa fa questo ruolo
L'Operatore Ordini gestisce la coda unificata degli ordini da tutte le fonti: negozi online (WooCommerce/Shopify), Portale B2B, ordini manuali delle Vendite, ordini EDI da retailer e distributori, e ordini ricevuti via API da sistemi esterni. Garantisce che ogni ordine completi correttamente l'intero ciclo: validazione → approvazione → conferma → bolla di consegna → AWB → consegna → resi.
Moduli utilizzati quotidianamente
| Modulo | Dove trovarlo | A cosa serve |
|---|---|---|
| Ordini OmniSales | OmniSales → Ordini | Coda principale ordini — tutti i canali |
| Canali di Vendita | OmniSales → Canali | Configurazione per canale — fatturazione, approvazione, sync |
| Ordini di Vendita | Vendite → Ordini di Vendita | Ordini manuali e ordini portale B2B |
| Bolle di Consegna | Magazzino → Bolle di Consegna | Genera bolla da ordine confermato |
| Liste di Imballaggio | Magazzino → Liste di Imballaggio | Pacchi preparati → AWB |
| Innoship | Integrazioni → Innoship | AWB per 230+ corrieri, 35 paesi |
| Corrieri Diretti | Operazioni → Corrieri | AWB diretto Cargus / FanCourier / Palex |
| Fatture | Vendite → Fatture | Fatturazione alla conferma o alla spedizione |
| Resi OMS | Magazzino → Resi | Resi dai clienti |
| Audit Sincronizzazione | OmniSales → Log Sync | Errori import WooCommerce/Shopify |
Fonti ordini — da dove arrivano gli ordini
Tutti gli ordini arrivano nella coda unificata /admin/omni_sales/order_list, indipendentemente dalla fonte:
| Fonte | Come entra | Cosa verificare |
|---|---|---|
| WooCommerce / Shopify | Automaticamente via webhook (in tempo reale) o cron (a intervalli) | Cliente creato correttamente, SKU mappato, pagamento riconosciuto |
| Portale B2B | Il cliente ordina dal proprio catalogo | Prezzi dal Listino, stock disponibile, approvazione se configurata |
| Ordine di Vendita (manuale/agente) | L'agente crea da /admin/estimates |
Prezzi e sconti corretti, indirizzo di consegna valido |
| EDI (EDIconnect) | Automatico — retailer/distributore invia X12 850 o EDIFACT ORDERS via AS2 | Mappatura prodotto/SKU corretta, quantità, condizioni contrattuali |
| API esterna | Sistema terzo fa POST all'endpoint REST omni_sales/orders |
Dati completi, cliente associato, prodotti esistenti |
| Manuale (staff) | L'operatore crea direttamente da /admin/omni_sales/order_list → Aggiungi |
Tutti i campi obbligatori completati |
| POS | Vendita al banco/terminale | Pagamento immediato, ricevuta cassa generata automaticamente |
| Pre-ordine | Ordine con consegna futura | Data di consegna promessa, stock non verificato subito |
Routine giornaliera
Mattina — triage (20–30 min)
1. /admin/omni_sales/order_list → filtro: stato Bozza (0) o In Elaborazione (1)
→ Nuovi ordini arrivati nottetempo (WooCommerce, Portale B2B, EDI)
→ Revisiona ed elabora
2. Ordini con approve_status = 0
→ In attesa di approvazione → invia all'approvatore o approva tu stesso (se autorizzato)
3. /admin/omni_sales/diary_sync
→ Errori di sync WooCommerce/Shopify dalla notte precedente
→ Risolvi gli errori (SKU mancante, cliente non creato, pagamento non riconosciuto)
4. Ordini stato 16 (Stock Esaurito)
→ Back-order — notifica Acquisti per RdO urgente
5. /admin/warehouse/manage_packing_list → pacchi senza AWB
→ Completa dimensioni/peso → genera AWB
Durante il giorno
Nuovo ordine → revisione → conferma (stato 3)
↓
Fattura generata automaticamente (se configurato sul canale)
↓
Bolla di consegna creata (automatica o manuale)
↓
Magazzino: picking + imballaggio + pesatura + dimensioni
↓
Genera AWB (Innoship o corriere diretto)
↓
Ordine → stato Spedizione (4)
↓
Corriere consegna → stato Consegnato (5) — automaticamente via tracking
Settimanale
- Report resi: nuove richieste + approvate + stock reintegrato
- Ordini In Attesa > 3 giorni → escalation o risoluzione
- Ordini Stock Esaurito > 7 giorni → verifica stato approvvigionamento
Stato ordini — guida alle azioni
| Codice | Stato | Cosa fare |
|---|---|---|
| 0 | Bozza | Verifica completa: prodotti, prezzi, cliente, indirizzo → conferma o escalation |
| 1 | In Elaborazione | Controlla stock e disponibilità |
| 2 | Pagamento in Attesa | Attesa conferma pagamento anticipato — non generare bolla finché non pagato |
| 3 | Confermato | Bolla creata → il magazzino prende in carico |
| 4 | Spedizione | AWB generato, pacco con il corriere |
| 5 | Consegnato | Ciclo completato ✓ |
| 9 | In Attesa | Problema (stock, pagamento, indirizzo) → risolvi e ripristina |
| 14 | Pagato | Pagato — puoi generare la bolla |
| 15 | Pronto | Stock prenotato, magazzino pronto per il picking |
| 16 | Stock Esaurito | Back-order — notifica Acquisti, ordine in attesa |
| 11 | Reso in Attesa | Richiesta di reso in sospeso — decidi: approva o rifiuta |
| 7 | Reso | Reso completamente approvato ed elaborato |
| 12 | Reso Parziale | Reso parziale — alcuni prodotti restituiti |
| 8 | Cancellato | Cancellato — stock prenotato rilasciato |
Il flusso di approvazione
Se la regola di approvazione è attiva sul canale:
approve_status |
Significato | Tua azione |
|---|---|---|
0 |
In attesa | Invia all'approvatore o approva se hai il permesso |
1 |
Approvato | Puoi elaborare l'ordine normalmente |
-1 |
Rifiutato | Cliente notificato automaticamente; ordine non elaborato |
Le regole di approvazione sono configurate per canale — es. "tutti gli ordini B2B > 10.000 EUR richiedono approvazione Sales Manager".
Elaborazione per tipo di fonte
Ordini WooCommerce / Shopify
L'ordine appare in OmniSales (via webhook o cron)
↓
Controlla in diary_sync che l'import sia andato senza errori
↓
Apri ordine:
→ Cliente creato/associato correttamente?
→ Prodotti mappati correttamente (corrispondenza SKU)?
→ Pagamento riconosciuto (metodo pagamento mappato sul canale)?
↓
Se tutto corretto → conferma → fattura + bolla automatiche
↓
Stato aggiornato automaticamente in WooCommerce/Shopify (sync bidirezionale)
Errori di sync comuni:
| Errore | Causa | Risoluzione |
|---|---|---|
| SKU non esistente | Prodotto WooCommerce non esiste in CRM | Crea prodotto in CRM con lo stesso SKU |
| Cliente non creato | Email duplicata o campo obbligatorio mancante | Verifica e correggi file cliente |
| Pagamento non riconosciuto | Metodo pagamento non mappato sul canale | Aggiungi mappatura nelle impostazioni canale |
| Bolla bloccata | Stock insufficiente | Consegna parziale o back-order |
Ordini Portale B2B
Il cliente effettua l'ordine dal proprio catalogo
↓
Appare in OmniSales con stato Bozza
↓
Verifica: il prezzo corrisponde al Listino Prezzi del cliente?
→ Se sì → conferma
→ Se no → verifica il Listino Prezzi in /admin/sales/price_lists
↓
Se ordine > soglia di approvazione → invia al Sales Manager
↓
Approvazione → stato Confermato → bolla + fattura
Ordini EDI (da retailer/distributori)
EDIconnect gestisce gli ordini EDI completamente in automatico — nessuna azione manuale necessaria per ogni ordine. Connettere un nuovo retailer richiede alcune spunte di attivazione; la configurazione effettiva (mappature, certificati, protocolli) è gestita dal team CRMconnect.
Protocolli supportati: API, AS2, sFTP, FTP protetto — più sincronizzazione con l'ERP del cliente.
Retailer/distributore invia Purchase Order (X12 850 / EDIFACT ORDERS)
↓
EDIconnect riceve ed elabora automaticamente
↓
Ordine di Vendita creato automaticamente in OmniSales
→ Cliente identificato dall'ID EDI del partner
→ Prodotti mappati secondo i codici EDI configurati
↓
Verifichi l'ordine creato:
→ Quantità e prezzi corrispondono al contratto?
→ Stock disponibile?
↓
Conferma → il sistema invia automaticamente EDI outbound:
Conferma ordine (X12 855 / EDIFACT ORDRSP) → partner
↓
Alla spedizione → Bolla EDI (X12 856 / EDIFACT DESADV) → partner automaticamente
Alla fatturazione → Fattura EDI (X12 810 / EDIFACT INVOIC) → partner automaticamente
Dove monitorare EDI: /admin/edi → audit log → messaggi ricevuti/inviati per partner
Ordini API esterna
Il sistema esterno (ERP, marketplace, app mobile) fa POST a:
POST {{base_url}}omni_sales/orders
→ L'ordine appare in OmniSales con il channel_id corrispondente
→ Cliente associato per ID o email
→ Prodotti identificati per SKU
↓
Verifica che i dati siano completi e corretti
↓
Elabora normalmente come qualsiasi altro ordine
Gestione back-order (stato 16 — Stock Esaurito)
Ordine ricevuto → verifica stock → MANCANTE
↓ stato: 16 (Stock Esaurito)
1. Notifica Acquisti → crea RdO per i prodotti mancanti
2. Notifica il cliente con ETA stimata (manualmente o via Workflow)
3. L'ordine rimane in stato 16 → monitora giornalmente
Al ripristino dello stock (bolla di entrata approvata in magazzino):
4. Verifica che lo stock sia entrato nel sistema
5. Cambia manualmente lo stato a Confermato (3)
6. Crea bolla di consegna → continua il flusso normale
Importante: il sistema non avanza automaticamente dallo stato 16. Monitora tu la lista giornalmente.
Generazione AWB — corrieri
Opzione A — Innoship (aggregatore, 230+ corrieri, 35 paesi)
Quando: consegne internazionali, alto volume, confronto tariffe, stampa batch
Da lista di imballaggio approvata → Genera AWB
→ Seleziona corriere e servizio (Standard, Express, Same-day)
→ Il sistema invia richiesta all'API Innoship
→ Innoship restituisce: numero AWB + codice tracking
→ Etichetta disponibile: A4 o termale 100×150mm
→ Stato automatico → Spedizione (4) in OmniSales
→ Stato aggiornato automaticamente in WooCommerce/Shopify
Prerequisiti: dimensioni (L×A×P) + peso compilati nella lista di imballaggio. Senza di essi, l'AWB non può essere generato.
Opzione B — Corrieri diretti (senza aggregatore)
Quando: contratto diretto, consegne nazionali
| Corriere | Configurazione | Vantaggio |
|---|---|---|
| Cargus | /admin/couriers → chiave API Cargus |
Contratto diretto, nessuna commissione intermediario |
| FanCourier | /admin/couriers → credenziali FanCourier |
Stesso |
| Palex | /admin/couriers → credenziali Palex |
Stesso |
Resi — processo completo
Avvio del reso
Dal cliente (via portale B2B):
- Il cliente richiede il reso dallo storico ordini → la richiesta appare con
approval = 0
Manuale (operatore):
- Dall'ordine consegnato → pulsante Crea Reso → compila articoli + quantità + motivo
La tua decisione
| Situazione | Azione |
|---|---|
| Prodotto entro la finestra di reso, non utilizzato | Approva (approval = 1) |
| Finestra di reso superata | Rifiuta (approval = 2) con motivo |
| Prodotto difettoso (indipendentemente dalla finestra) | Approva, marca in quarantena se non rivendibile |
All'approvazione vengono creati automaticamente:
- Bolla di entrata reso → stock reintegrato (o in quarantena)
- Record rimborso in
omni_refunds→ la Finanza elabora il pagamento - Punti fedeltà cliente annullati (se configurato)
Tipi di reso:
fully— ordine reso per intero → stato 7partially— alcuni prodotti → stato 12manual— rettifica senza reso fisico (prodotto difettoso senza restituzione)
Fatture e fatturazione elettronica
Generazione fattura — dipende dalla configurazione del canale:
- Alla conferma (stato 3) → se
create_invoice = onsul canale - Alla spedizione (stato 4 / AWB generato)
- Manualmente → dall'ordine confermato → pulsante Crea Fattura
Fatturazione elettronica ANAF — automatica per clienti B2B con P.IVA valida:
- XML generato e inviato all'ANAF all'emissione della fattura
- Numero di registrazione ANAF restituito e salvato sulla fattura
- Verifica stato:
/admin/invoices→ fattura → scheda e-Fattura
Indicatori da monitorare
| Indicatore | Obiettivo |
|---|---|
| Tempo di elaborazione ordini (Bozza → Confermato) | < 2h nei giorni lavorativi |
| Ordini in Bozza > 4h | 0 — tutti revisionati ed elaborati |
| Back-order > 7 giorni | Escalation Acquisti + notifica cliente |
| Errori sync giornalieri | 0 errori irrisolti |
| Resi > 3 giorni senza decisione | 0 — decidi giornalmente |
Collaborazione con altri reparti
| Reparto | Come collabori |
|---|---|
| Magazzino | Tu fornisci le bolle di consegna confermate; loro generano la lista di imballaggio; tu generi l'AWB |
| Vendite | Gli ordini da Ordini di Vendita (portale B2B, agente di campo) entrano nella tua coda |
| Acquisti | Allo stato 16 (stock mancante) → notifica immediata per RdO |
| Finanza | Fattura e fattura elettronica → generate da te, riconciliate da loro |
| Customer Support | I clienti con problemi sugli ordini aprono ticket → il supporto ti include per la risoluzione |
| IT/Admin | Problemi sync WooCommerce, errori EDI, mappature SKU errate → escalation a IT |
Consigli pratici
Il diary sync = la salute dei tuoi canali. Controllalo la mattina prima di qualsiasi cosa. Un errore di sync non rilevato può lasciare decine di ordini non importati — clienti che hanno pagato e non hanno conferma.
Lo stato 16 non si dimentica, si monitora. Ogni back-order irrisolto è un cliente che ha pagato e non ha la merce. Controlla la lista ordini-stock-esaurito ogni giorno e comunica proattivamente con il cliente.
Le dimensioni nella lista di imballaggio non sono opzionali. Senza L×A×P + peso l'AWB non può essere generato. Se il magazzino non le compila → l'AWB non esce → l'ordine si blocca. Imposta un promemoria o checklist con il magazzino.
L'outbound EDI è automatico, ma tu verifichi. La conferma ordine e la bolla di consegna vengono inviate automaticamente al partner EDI alla conferma dell'ordine in CRM. Monitora in
/admin/ediche i messaggi siano stati recapitati (MDN acknowledge ricevuto).