Vendi online
Il negozio prende l’ordine, il magazzino lo evade
L’ordine entra da PrestaShop, va al deposito che ha davvero la merce, si preleva sul palmare e parte con la sua bolla. La disponibilità torna in vetrina calcolata dal registro, non copiata.
In breve
- PrestaShopIl connettore costruito
Ordini in entrata, catalogo, prezzi, immagini, clienti, giacenze, incassi e resi. Provato dal carrello alla spedizione su un negozio vero.
- 7Chiamate invece di 6.020
Con il modulo installato sul negozio, allineare tremila varianti passa da venticinque minuti a pochi secondi.
- CalcolataLa disponibilità pubblicata
Al negozio va la giacenza meno le riserve attive, per i soli depositi che quel canale può vendere.
- FirmatoTutto ciò che entra
Ogni chiamata dal negozio porta la sua firma; senza firma valida non entra e non muove niente.
Chi vende online perde tempo in due punti: gli ordini da ribattere a mano e la disponibilità pubblicata che non è quella vera. CargoNode porta l’ordine fino alla bolla e rimanda al negozio la giacenza meno le riserve, l’unico numero che puoi promettere a un cliente. Il collegamento al negozio fa parte del modulo Commerciale, con ordini, clienti e incassi.
Dall’ordine sul negozio alla bolla, senza ribattere niente
Gli ordini del negozio arrivano in magazzino da soli e partono con la loro bolla, senza che tu ribatta niente.
- Cliente trovato o creato dall’ordine, con i dati fiscali che il negozio ha raccolto
- Ordine di vendita vero, con IVA di riga, sconto d’ordine e spedizione
- Idempotenza sul riferimento del negozio: un ordine ripetuto non si sdoppia
- Prelievo, imballo e spedizione sono quelli del magazzino, non un percorso separato
- Due negozi sullo stesso account restano separati per connettore
- Bolla numerata senza salti, per magazzino e per anno
Come funziona, nel dettaglio
L’ordine non finisce in una tabella d’appoggio: diventa un cliente (trovato o creato) e un ordine di vendita vero, con le righe, l’IVA di riga e i costi accessori del negozio. Da lì passa dal magazzino come qualunque altro ordine: riserva, onda di prelievo, palmare, imballo, spedizione, documento di trasporto. Non ha un percorso privilegiato né uno di serie B. L’ingresso è idempotente sul riferimento del negozio: se lo stesso ordine arriva due volte, la seconda non crea niente. Gli ordini si cercano per connettore e non per come si chiamano, così due negozi sullo stesso account non si confondono.
- Il negozio consegna l’ordineFirmato, e con il riferimento del negozio attaccato: se lo stesso ordine arriva due volte, la seconda non crea niente.
- Diventa cliente e ordine di venditaIl cliente si trova o si crea; le righe portano l’IVA di riga, lo sconto d’ordine e i costi accessori del negozio.
- Viene instradatoAl deposito che ha davvero la merce, scelto fra quelli che quel canale può vendere.
- Riserva e onda di prelievoDa qui è un ordine come gli altri: entra nel giro del magazzino, non in un percorso separato.
- Imballo e spedizioneScansione articolo-collo al banco, spedizione anche multi-collo.
- Bolla e tracciamentoIl documento di trasporto esce numerato senza salti, per magazzino e per anno; il codice del corriere torna al negozio.
Quali ordini entrano, e quali entrano ma restano fermi
Vedi subito anche gli ordini non ancora pagati, senza bloccare la merce per chi paga davvero.
- Un elenco di stati decide cosa entra, un secondo decide cosa entra trattenuto
- Un ordine trattenuto non riserva merce e non abbassa la disponibilità pubblicata
- Lo sblocco arriva dal negozio, oppure da una rilettura in blocco degli ordini fermi
- Un ordine che il negozio non riconosce più viene segnalato con il suo motivo
- In Vendite si legge «in attesa dal negozio», che non è la stessa cosa di una bozza
Come funziona, nel dettaglio
Gli stati del negozio rispondono a due domande diverse, e trattarle come una sola fa danni. La prima è se l’ordine entra. La seconda è se, entrato, va evaso subito. Un ordine in «errore di pagamento» deve entrare (vuoi vederlo, vuoi che il cliente esista), ma non deve impegnare la merce: impegnarla vuol dire toglierla dalla vendita per qualcosa che forse non si concluderà. Perciò gli stati si scelgono due volte: quelli che fanno entrare l’ordine, e il sottoinsieme che lo fa entrare trattenuto. Un ordine trattenuto non riserva, non è prelevabile e non muove la disponibilità. Quando il negozio cambia stato si sblocca da solo; se il negozio non sa più niente di quell’ordine, il giro te lo dice con il motivo invece di lasciarlo fermo in silenzio.
- ENTRAPagamento accettatoriserva la merce, va in prelievo
- ENTRA FERMOBonifico in attesanessuna riserva: la merce resta vendibile
- ENTRA FERMOErrore di pagamentolo vedi, ma non impegna niente
- NON ENTRAAnnullatofuori dal primo elenco
Gli stati trattenuti sono un sottoinsieme di quelli che fanno entrare l’ordine: uno che non entra non può essere trattenuto. Quando il negozio cambia stato, l’ordine si sblocca da solo.
La disponibilità in vetrina si ricalcola a ogni riserva
Il negozio mostra solo la merce che puoi davvero vendere, aggiornata entro un minuto da ogni riserva.
- Disponibilità pubblicata = giacenza meno le riserve attive, sempre ricalcolata
- Ambito per canale: quali magazzini e quali committenti quel negozio può vendere
- Push mirato sulle sole varianti cambiate, non un allineamento notturno di tutto
- Attesa crescente sugli errori passeggeri, invece di ritentare a vuoto
- Articolo che il negozio non ha più: fallimento permanente, non un tentativo eterno
- Elenco delle righe bloccate con la via d’uscita, invece di una coda che si gonfia
Come funziona, nel dettaglio
Quello che pubblichi è la giacenza meno le riserve attive, calcolato al momento e limitato ai depositi e ai committenti che quel canale può davvero vendere: un magazzino in conto terzi o un deposito che non serve il web non gonfiano la vetrina. Non c’è un allineamento notturno che ricalcola tutto: quando una riserva nasce o muore, la variante interessata viene marcata e il giro successivo pubblica solo quelle, nel giro di un minuto. Se il negozio risponde male, il tentativo non si ripete all’infinito: c’è una memoria degli errori, l’attesa cresce tra un tentativo e l’altro, e un articolo che il negozio dichiara inesistente smette di essere ritentato e finisce in un elenco di righe bloccate, con il pulsante per rimetterle in coda quando l’hai sistemato.
- DISPONIBILE40 in giacenza − 12 riservati = 28solo i depositi che quel canale vende
- IN CODA12 varianti toccatenon l’intero catalogo
- RIPROVAIl negozio non rispondel’attesa cresce a ogni tentativo
- BLOCCATAArticolo che il negozio non ha piùnessun altro tentativo
Le righe bloccate finiscono in un elenco con il pulsante per rimetterle in coda: così la coda contiene solo lavoro che ha senso fare, invece di gonfiarsi di tentativi ciechi.
Il catalogo va nella direzione giusta
Cambi catalogo e prezzi in un posto solo, e la vetrina riceve soltanto quello che è cambiato.
- Articoli, descrizioni, categorie e immagini pubblicati dal gestionale
- Prezzi dal listino, con lo sconto di testata e le eccezioni di riga
- Scelta esplicita di cosa va in vetrina e cosa resta solo a magazzino
- La vetrina ricorda quello che ha già ricevuto: si ripubblica solo il cambiato
- I tributi di consumo si calcolano qui e arrivano al negozio già calcolati
- Il totale pagato dal cliente resta quello del negozio, anche quando il negozio arrotonda a modo suo
Come funziona, nel dettaglio
La vetrina segue il gestionale, mai il contrario: articoli, descrizioni, categorie, immagini e prezzi si pubblicano da CargoNode verso il negozio. I prezzi arrivano dal listino, non da un campo scritto due volte, e la vetrina ricorda cosa ha già ricevuto, così una ripubblicazione non riscrive tutto per niente. Non tutto quello che sta a catalogo deve andare online, e questa è una scelta esplicita per articolo invece di un effetto collaterale. Dove esiste un tributo di consumo che va sommato al prezzo, il calcolo resta di qua, con i suoi moltiplicatori e la sua aliquota datata, e al negozio arriva un importo già fatto. Una seconda implementazione là sarebbe una seconda verità destinata a divergere dentro un registro di compliance.
| Il dato | Nasce in | Arriva a |
|---|---|---|
| Articoli, descrizioni, categorie, immagini | CargoNode | il negozio |
| Prezzi | il listino di CargoNode | il negozio |
| Tributi di consumo | CargoNode, con i suoi moltiplicatori | il negozio, già calcolati |
| Disponibilità pubblicata | il registro dei movimenti | il negozio |
| Ordini | il negozio | CargoNode |
| Stato dell’ordine e tracciamento | CargoNode | il negozio |
| Totale pagato dal cliente | il negozio | resta del negozio |
La riga che il negozio conosce e tu no
Un ordine con un articolo sconosciuto non si perde: agganci la riga alla variante giusta e l’ordine parte intero.
- Fallimento morbido per riga: l’ordine resta, la riga aspetta
- La riga non mappata conserva quello che il negozio ne sapeva
- Rimappa e rigioca, senza chiedere al cliente di riordinare
- Le mappature reggono le combinazioni e i negozi multipli
- Niente ordini persi senza che nessuno lo sappia
Come funziona, nel dettaglio
Prima o poi arriva un ordine con dentro un articolo che nel gestionale non esiste: creato sul negozio e mai mappato, oppure una combinazione nuova. La reazione sbagliata è rifiutare l’ordine intero, perché il cliente ha pagato e la merce c’è quasi tutta. Qui salta la riga, non l’ordine: la riga finisce in un elenco di non mappate con quello che il negozio ne sa (codice, nome, quantità, prezzo). L’ordine resta in quarantena, e quando la mappatura c’è si rigioca. Non esiste il caso «ordine perso in silenzio», che è il modo in cui di solito ci si accorge di un problema di integrazione: dal cliente che chiama.
- RIGA 1SKU-4471 · 2 pezzimappata
- RIGA 2SKU-8890 · 1 pezzomappata
- RIGA 3PROMO-XMAS · 1 pezzonon mappata: codice, nome, quantità, prezzo
Salta la riga, non l’ordine. La terza aspetta una variante; quando gliela dai, l’ordine si rigioca intero e il cliente non si accorge di niente.
Incassi, resi e quello che torna indietro al negozio
Il tuo cliente vede sul negozio lo stato vero del suo ordine, anche quando parte in più colli.
- Stato dell’ordine e tracciamento riportati al negozio
- Spedizione parziale: si aggiorna il tracciamento senza dichiarare chiuso l’ordine
- Conferme di presa in carico verso il canale, per non ricevere due volte lo stesso ordine
- Incassi e rimborsi riconciliati sull’ordine, non su un foglio a parte
- Un codice generato da noi è marcato come interno e non si spaccia per un tracciamento del corriere
Come funziona, nel dettaglio
Il flusso non è a senso unico. Quando l’ordine è pagato, quando parte, quando torna indietro, il negozio lo viene a sapere: stato dell’ordine, codice di tracciamento, conferme di presa in carico. Una spedizione parziale non chiude la pratica sul negozio: aggiorna il tracciamento e lascia lo stato dov’è. Portare l’ordine a «spedito» col primo collo, mentre metà della merce è ancora a scaffale, è il modo più rapido di far scrivere un cliente. I rimborsi seguono la stessa strada: un reso rientra in magazzino come movimento e la nota di credito è un documento, non una riga cancellata.
- PagatoL’incasso si riconcilia sull’ordine, non su un foglio a parte.
- Parte il primo colloIl tracciamento torna al negozio e lo stato dell’ordine resta aperto, perché lo è: metà della merce è ancora a scaffale.
- Parte l’ultimo colloSolo adesso l’ordine si chiude sul negozio.
- Torna indietroIl reso rientra in magazzino come movimento, e la nota di credito è un documento, non una riga cancellata.
Il modulo sul negozio, e cosa cambia davvero
Con il modulo sul negozio allinei tremila varianti in sette chiamate invece di seimila, e il carrello non aspetta mai il nostro backend.
- Funziona anche senza modulo, con il servizio web standard del negozio
- Con il modulo: allineamenti in blocco e riserva immediata invece che a intervalli
- Nessuna sovrascrittura del nucleo di PrestaShop, nessuna colonna aggiunta alle sue tabelle
- Il carrello non aspetta mai il nostro backend: la coda sta dentro la transazione dell’ordine
- Accoppiamento con un codice a tempo e chiamate firmate nei due sensi
- Un’autodiagnosi che misura il prezzo che il cliente vede, invece di confrontare numeri di versione
Come funziona, nel dettaglio
Il collegamento funziona anche con il solo servizio web di PrestaShop, come lo fanno tutti: si interroga il negozio una risorsa per volta. Il problema di quel modo è aritmetico: allineare tremila varianti costa seimila chiamate e venticinque minuti, e in quei venticinque minuti la vetrina racconta un magazzino che non c’è più. Il modulo installato sul negozio cambia la natura del rapporto: il negozio parla per primo e accetta scritture in blocco, così le stesse tremila varianti si allineano in sette chiamate e l’ordine diventa una riserva subito invece che fino a dieci minuti dopo. Non tocca il nucleo di PrestaShop e non usa sovrascritture, e il carrello non aspetta mai il nostro backend: l’evento si scrive in coda dentro la transazione dell’ordine e la consegna avviene dopo la risposta al cliente. Un negozio che non vende perché siamo lenti sarebbe un danno più grande di qualunque ritardo.
| Cosa cambia | Solo servizio web | Con il modulo |
|---|---|---|
| Allineare tremila varianti | 6.020 chiamate, venticinque minuti | 7 chiamate, pochi secondi |
| Chiamate in un giorno normale | circa 6.500 | circa 150 |
| Dall’ordine alla riserva | fino a dieci minuti | subito |
| Il carrello aspetta il nostro backend | mai | mai |
| Sovrascritture del nucleo di PrestaShop | nessuna | nessuna |
Domande frequenti
Usiamo Shopify (o WooCommerce). C’è il connettore?
L’adattatore costruito e collaudato dall’ordine alla spedizione è quello di PrestaShop, con un modulo installato sul negozio. L’impianto sotto però è generico e vale per qualunque canale: coda in uscita con deduplica, mappatura delle varianti, casella in entrata, webhook firmato, riprova con attesa crescente, righe non riconosciute messe da parte invece che perse. Su quello si innesta un negozio diverso: è lavoro di adattamento, non di fondazione. Raccontaci su cosa girate e guardiamo insieme cosa serve davvero.
Il negozio può vendere un pezzo che in magazzino non c’è più?
La finestra si stringe fin dove si può: la disponibilità pubblicata è calcolata sulle riserve attive e il push parte quando la riserva cambia, non a orari fissi. La finestra però non è zero, perché il negozio è un altro sistema. Quello che non succede è promettere merce già impegnata: se due ordini si contendono l’ultimo pezzo, il secondo non riceve una promessa impossibile: resta in attesa della merce in arrivo e viene allocato al primo carico utile, nell’ordine in cui è entrato in coda.
Se il vostro backend non risponde, il negozio smette di vendere?
No, ed è un vincolo di progetto del modulo: il carrello non aspetta mai una nostra risposta. L’evento si scrive in una coda dentro la transazione dell’ordine del negozio, e la consegna verso CargoNode avviene dopo che il cliente ha già ricevuto la sua pagina, con timeout di pochi secondi. Se non arriviamo, la coda si svuota dopo: nessun ordine va perso e nessun cliente resta fermo su una rotellina che gira.
Dobbiamo installare qualcosa sul negozio?
Non è obbligatorio. Senza modulo si lavora con il servizio web standard, e funziona: costa solo molte più chiamate e un ritardo fra l’ordine e la riserva. Con il modulo (PrestaShop 8.1 o successivo) le stesse operazioni diventano poche chiamate in blocco e la riserva è immediata. Il modulo non tocca il nucleo del negozio e si disinstalla come qualunque altro.
Chi comanda, il negozio o CargoNode?
CargoNode. È una decisione, non un caso: il catalogo, i prezzi e le giacenze si governano di qua e la vetrina li riceve. Il negozio resta il posto dove si vende e dove il cliente compra, e continua a essere l’origine degli ordini; ma se un dato è scritto in due posti, quello buono è quello del gestionale. Altrimenti il primo disallineamento diventa una discussione su chi ha ragione.
Cosa succede a un ordine con dentro un articolo che non riconosciamo?
Entra lo stesso. La riga sconosciuta finisce in un elenco a parte con quello che il negozio ne sa (codice, nome, quantità, prezzo), e l’ordine resta in quarantena finché non le dai una variante. Poi si rigioca. È la differenza fra un problema che vedi in una schermata e un problema che scopri quando il cliente chiama per chiedere dov’è il suo pacco.
Proviamolo sul tuo negozio
Dicci che piattaforma usi, quanti ordini fai in un giorno normale e quanti nel giorno peggiore dell’anno. Ti mostriamo il giro completo sui tuoi articoli: ordine, prelievo, spedizione, disponibilità che torna indietro.
Parliamone