Vendi online

Il negozio prende l’ordine, il magazzino lo evade

L’ordine entra da PrestaShop, diventa un cliente e un ordine di vendita, viene instradato al deposito che ha davvero la merce, prelevato sul palmare e spedito con la sua bolla. La disponibilità torna in vetrina calcolata dal registro, non copiata da una schermata.

Parliamone

PrestaShop
Il connettore costruito

Ordini in entrata, catalogo, prezzi, immagini, clienti, giacenze, incassi e resi. Provato dal carrello alla spedizione su un negozio vero.

7
Chiamate invece di 6.020

Con il modulo installato sul negozio, allineare tremila varianti passa da venticinque minuti a pochi secondi.

Calcolata
La disponibilità pubblicata

Al negozio va la giacenza meno le riserve attive, per i soli depositi che quel canale può vendere.

Firmato
Tutto 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 soli, sempre gli stessi: gli ordini che arrivano e vanno ribattuti a mano, e la disponibilità pubblicata che non è quella vera — con la coda di telefonate che ne segue. CargoNode non aggiunge un cruscotto sopra il negozio: prende l’ordine e lo porta fino alla bolla, e rimanda indietro la giacenza meno le riserve, che è l’unico numero che si può promettere a un cliente. Il collegamento al negozio online fa parte del modulo Commerciale, insieme agli ordini, ai clienti e agli incassi.

Dall’ordine sul negozio alla bolla, senza ribattere niente

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 — e 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.

  • 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
  1. Il negozio consegna l’ordineFirmato, e con il riferimento del negozio attaccato: se lo stesso ordine arriva due volte, la seconda non crea niente.
  2. 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.
  3. Viene instradatoAl deposito che ha davvero la merce, scelto fra quelli che quel canale può vendere.
  4. Riserva e onda di prelievoDa qui è un ordine come gli altri: entra nel giro del magazzino, non in un percorso separato.
  5. Imballo e spedizioneScansione articolo-collo al banco, spedizione anche multi-collo.
  6. 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

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, perché 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, non muove la disponibilità; quando il negozio cambia stato si sblocca da solo, e se il negozio non sa più niente di quell’ordine il giro te lo dice con il motivo invece di lasciarlo fermo in silenzio.

  • 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
Stati del negozio · due domande, non una
  • 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

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.

  • 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
Verso il negozio, solo quello che è cambiato
  • 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

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, perché una seconda implementazione là sarebbe una seconda verità destinata a divergere dentro un registro di compliance.

  • 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
Chi comanda su cosa
Il datoNasce inArriva a
Articoli, descrizioni, categorie, immaginiCargoNodeil negozio
Prezziil listino di CargoNodeil negozio
Tributi di consumoCargoNode, con i suoi moltiplicatoriil negozio, già calcolati
Disponibilità pubblicatail registro dei movimentiil negozio
Ordiniil negozioCargoNode
Stato dell’ordine e tracciamentoCargoNodeil negozio
Totale pagato dal clienteil negozioresta del negozio
Una sola direzione per dato: dove un dato è scritto in due posti, quello buono è quello del gestionale. L’unica riga che va nell’altro verso e ci resta è l’ultima — il totale che il cliente ha davvero pagato è del negozio, anche quando il negozio arrotonda a modo suo.

La riga che il negozio conosce e tu no

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.

  • 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
Ordine 2026-1187 · in quarantena
  • 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 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’è — perché 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.

  • 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
  1. PagatoL’incasso si riconcilia sull’ordine, non su un foglio a parte.
  2. Parte il primo colloIl tracciamento torna al negozio e lo stato dell’ordine resta aperto, perché lo è: metà della merce è ancora a scaffale.
  3. Parte l’ultimo colloSolo adesso l’ordine si chiude sul negozio.
  4. 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

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.

  • 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
Con il modulo installato, e senza
Cosa cambiaSolo servizio webCon il modulo
Allineare tremila varianti6.020 chiamate, venticinque minuti7 chiamate, pochi secondi
Chiamate in un giorno normalecirca 6.500circa 150
Dall’ordine alla riservafino a dieci minutisubito
Il carrello aspetta il nostro backendmaimai
Sovrascritture del nucleo di PrestaShopnessunanessuna
Le due colonne non sono due prodotti: sono lo stesso collegamento con e senza il modulo installato sul negozio. Le ultime due righe sono uguali apposta — un negozio che non vende perché siamo lenti sarebbe un danno più grande di qualunque ritardo.

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 — e 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 — ordine, prelievo, spedizione, disponibilità che torna indietro — sui tuoi articoli.

Parliamone