Flusso di Lavoro: Evasione Ordini OmniSales
Moduli coinvolti: OmniSales · Magazzino (Note di Consegna, Liste di Imballaggio) · Innoship · Corrieri (Cargus / FanCourier) · Fatture
Chi lo utilizza: Operatore ordini, Magazzino, Logistica, Finanza
Durata tipica: Ore – giorni (dall'ordine alla consegna)
Panoramica
Il flusso completo di elaborazione degli ordini ricevuti da qualsiasi canale di vendita (WooCommerce, Shopify, portale cliente, POS, manuale): da un nuovo ordine attraverso la generazione dell'AWB e la fatturazione automatica. Gestito principalmente dai team di magazzino e logistica.
Diagramma del flusso
[ORDINE OMNI] ← WooCommerce / Shopify / Portale / Manuale / POS
│ stato: Bozza (0) → In Elaborazione (1) → Confermato (3)
│ ↓ Conferma ordine (manuale o automatica)
│
[NOTA DI CONSEGNA (Nota di Spedizione Merci)]
│ stato: ready_for_packing → packed
│ creata automaticamente dall'ordine confermato
│ ↓ Picking in magazzino — seleziona fisicamente i prodotti
│
[LISTA DI IMBALLAGGIO]
│ stato: wh_ready_to_deliver → wh_in_transit → wh_delivered
│ creata dalla nota di consegna (completa o parziale)
│ include dimensioni pacco: lunghezza, larghezza, altezza, peso
│ ↓ Approvazione lista di imballaggio
│
[AWB INNOSHIP]
│ generato tramite API Innoship dalla lista di imballaggio approvata
│ AWB stampato e applicato al pacco
│ numero di tracciamento restituito automaticamente
│ ↓ Consegna al corriere
│
[FATTURA]
│ generata automaticamente o manualmente dall'ordine / nota di consegna
│ stato: Bozza → Inviata → Pagata
│
[CONSEGNA COMPLETATA]
│ stato ordine → Consegnato (5)
│ stato lista di imballaggio → wh_delivered
Passaggi chiave
1. Ordine OmniSales — Ricezione dell'ordine
Dove: /admin/omni_sales/order_list
Fonti dell'ordine:
| Fonte | Come entra nel CRM |
|---|---|
| WooCommerce | Sincronizzazione automatica (cron) o manuale — modulo WooCommerce |
| Shopify | Sincronizzazione automatica — modulo Shopify |
| Portale cliente | Il cliente inserisce l'ordine dal proprio portale |
| POS | L'operatore inserisce l'ordine allo sportello |
| Manuale | Il personale inserisce l'ordine direttamente da /admin/omni_sales |
Stati dell'ordine:
| Codice | Stato | Descrizione |
|---|---|---|
| 0 | Bozza | Nuovo ordine, non confermato |
| 1 | In Elaborazione | In elaborazione — revisione stock e disponibilità |
| 2 | In Attesa di Pagamento | In attesa di pagamento anticipato |
| 3 | Confermato | Confermato — può essere generata la nota di consegna |
| 4 | Spedizione | Ritirato dal corriere |
| 5 | Consegnato | Consegnato e completato |
| 8 | Annullato | Annullato |
| 9 | In Attesa | Temporaneamente sospeso |
| 14 | Pagato | Pagato |
| 15 | Pronto | Pronto per la consegna |
Approvazione ordine:
Gli ordini possono richiedere approvazione prima della conferma — approve_status: 0 (in attesa) → 1 (approvato) → -1 (rifiutato). Configurabile per canale di vendita.
Campi chiave sull'ordine:
- Cliente (
id_contact) — collegamento al record cliente - Canale (
channel_id) — fonte dell'ordine - Prodotti + quantità + prezzi
- Indirizzo di consegna
- Metodo di pagamento
2. Nota di Consegna — Preparazione dell'ordine
Dove: /admin/warehouse/manage_delivery
Creazione:
- Automatica: quando l'ordine raggiunge lo stato Confermato (3) o Spedizione (4), il sistema crea automaticamente la nota di consegna
- Manuale: dall'ordine confermato, pulsante Genera Nota di Consegna
Stati della nota di consegna:
| Stato | Descrizione |
|---|---|
ready_for_packing |
Creata, in attesa di picking |
packed |
Prodotti imballati; lista di imballaggio creata |
3. Lista di Imballaggio — Imballaggio e preparazione del pacco
Dove: /admin/warehouse/manage_packing_list
Creazione:
- Dalla nota di consegna approvata — pulsante Crea Lista di Imballaggio
- Supporta imballaggio parziale (
type_of_packing_list = 'partial')
Dati necessari:
| Campo | Note |
|---|---|
| Prodotti + quantità | Copiati dalla nota di consegna |
| Peso (kg) | Obbligatorio per la generazione AWB |
| Lunghezza / Larghezza / Altezza (cm) | Dimensioni pacco |
| Indirizzo di consegna | Copiato dall'ordine; modificabile |
| Servizio corriere | Seleziona dall'elenco Innoship |
Stati della lista di imballaggio:
| Stato | Descrizione |
|---|---|
wh_ready_to_deliver |
Creata, in attesa di AWB |
wh_in_transit |
AWB generato, pacco ritirato dal corriere |
wh_delivered |
Consegna confermata |
4. AWB Innoship — Generazione del documento di spedizione
Dove: Pulsante Genera AWB dalla lista di imballaggio approvata
o direttamente da /admin/innoship/awb
Cosa succede alla generazione:
- Il CRM invia una richiesta all'API Innoship con i dati del pacco
- Innoship restituisce: Numero AWB + codice di tracciamento
- Il CRM crea un record in
wh_omni_shipmentscon i dati restituiti - Stato lista di imballaggio →
wh_in_transit - Stato ordine →
Spedizione (4) - AWB disponibile per la stampa (A4 o PDF termico)
- Log creato in
innoship_audit_log
Corrieri supportati tramite Innoship:
Fan Courier, DPD, Cargus, Sameday, GLS, DHL e altri.
Alternativa diretta — modulo Corrieri:
Se hai contratti diretti con Cargus o FanCourier (senza aggregatore), puoi generare AWB tramite il modulo Corrieri (/admin/couriers).
| Soluzione | Corrieri supportati | Quando usarla |
|---|---|---|
| Innoship | Fan Courier, DPD, Cargus, Sameday, GLS, DHL, + altri | Hai un contratto con Innoship come aggregatore |
| Corrieri Diretti | Cargus, FanCourier | Hai un contratto diretto senza intermediario |
5. Fattura — La richiesta di pagamento
Dove: /admin/invoices
Generazione:
| Modalità | Quando |
|---|---|
| Automatica alla conferma | Se l'opzione create_invoice = on è abilitata sul canale |
| Automatica alla consegna | Se configurata allo stato Consegnato (5) |
| Manuale | Dall'ordine confermato, pulsante Crea Fattura |
6. Consegna completata e resi
Conferma consegna:
Quando Innoship conferma la consegna (product_delivered):
- Stato lista di imballaggio →
wh_delivered - Stato ordine →
Consegnato (5) - Lo stock viene definitivamente detratto dal magazzino
Resi (se applicabile): Reso cliente → Nota di Ricevuta Reso (/admin/warehouse/manage_order_return_receipt)
Cosa viene creato automaticamente
| Evento | Creato automaticamente |
|---|---|
| Ordine sincronizzato da WooCommerce/Shopify | Ordine OmniSales con cliente e prodotti |
| Ordine → stato Confermato | Nota di Consegna con righe ordine |
| Lista di imballaggio approvata + AWB generato | wh_omni_shipments, log Innoship, stato → In Transito |
Ordine → stato Spedizione (se create_invoice = on) |
Fattura con righe ordine |
| Consegna confermata da Innoship | Stato ordine → Consegnato, stock detratto |
Punti in cui il flusso può bloccarsi
| Problema | Causa probabile | Soluzione |
|---|---|---|
| L'ordine non appare da WooCommerce | Cron di sincronizzazione non attivo o credenziali errate | Controlla /admin/woocommerce/stores e cron |
| Nota di consegna non generata automaticamente | Opzione di creazione automatica disabilitata sul canale | Abilita dalle impostazioni del canale di vendita |
| Errore nella generazione AWB | Indirizzo cliente non trovato nel database Innoship | Controlla l'ortografia della località; contatta Innoship |
| Dimensioni/peso mancanti | I campi non sono stati compilati nella lista di imballaggio | Compila tutti e 4 i campi fisici (obbligatori) |
| Stock a 0 ma ordine confermato | Stock insufficiente in magazzino | Controlla le note di ricevuta in sospeso o effettua un aggiustamento stock |
| Fattura non generata automaticamente | create_invoice disabilitato sul canale |
Abilita da /admin/omni_sales/omni_sales_channel → Modifica canale |
Audit e report
- Audit Sincronizzazione —
/admin/omni_sales/diary_sync— log di sincronizzazione WooCommerce/Shopify - Log Audit Innoship —
/admin/innoship/audit— tutte le operazioni AWB - Report OmniSales —
/admin/omni_sales/report— ordini per canale, stato, periodo - Cronologia Inventario —
/admin/warehouse/warehouse_history— movimenti di stock