Da qualche parte nella vostra posta c'è un messaggio del vostro cliente più grande che suona più o meno così: «Il nostro ufficio acquisti chiede se supportate i cataloghi punchout. Avete un endpoint cXML?» Se gestite un negozio B2B su Shopify e quella frase suona come una lingua straniera, questa guida è la risposta lunga. Copre cos'è davvero il punchout, il round trip completo passo per passo, la differenza tra cXML e OCI, cosa Shopify offre già, cosa la parte acquisti vi chiederà, e dove entra in gioco un connettore.
Cos'è il punchout
Il punchout è il modo in cui le grandi aziende comprano dai fornitori senza uscire dal proprio software di acquisto. Il vostro cliente non naviga sul web aperto. Lavora dentro un sistema di e-procurement: SAP Ariba, Jaggaer, Coupa, Oracle, Workday, o un ERP SAP. Quando gli servono i vostri prodotti, clicca il vostro nome dentro quel sistema. Il vostro catalogo si apre in una finestra, riempie il carrello, e il carrello torna nel suo sistema come richiesta d'acquisto. Non preme mai un pulsante di checkout da voi, e nessun denaro passa dal vostro sito. L'ordine di acquisto arriva dopo, su un canale separato.
Tutta questa cerimonia esiste per una ragione: il controllo. Gli uffici acquisti sono pagati per far rispettare catene di approvazione, budget e prezzi negoziati su ogni ordine. Un negozio online pubblico non fa rispettare nulla di tutto ciò, quindi il loro software avvolge il vostro: gli acquisti avvengono da voi, l'ordine avviene da loro.
Per un fornitore, il punchout è la differenza tra essere un fornitore preferenziale sulla carta ed esserlo nella pratica. Se ordinare da voi significa uscire dal sistema, ricopiare codici articolo in un modulo e allegare un PDF, i buyer scivolano verso il concorrente che è collegato. Se il vostro catalogo è a un clic dentro il loro strumento, ai loro prezzi contrattuali, restare con voi diventa la via di minor resistenza.
Il round trip, passo per passo
Una relazione punchout ha due metà: l'uscita per comprare, e l'ordine di acquisto al ritorno. Sei passi chiudono il cerchio.
- Richiesta di setup. Il buyer clicca il vostro catalogo. Il suo sistema chiama il vostro endpoint punchout con una richiesta autenticata. In cXML è un documento PunchOutSetupRequest con identità di rete e shared secret. In OCI è una chiamata HTTP con USERNAME, PASSWORD e una HOOK_URL di ritorno.
- Avvio della sessione. Il vostro lato valida le credenziali, determina quale azienda e quali prezzi contrattuali si applicano, e risponde con una URL di avvio. Il browser del buyer apre il vostro catalogo, già nel contesto cliente giusto.
- Acquisti. Il buyer naviga il vostro negozio vero: i vostri dati prodotto, le vostre immagini, le vostre scorte. I prezzi mostrati sono i suoi prezzi negoziati, non il listino pubblico.
- Trasferimento del carrello. Al posto del checkout c'è un trasferimento. Il carrello parte come messaggio strutturato, una PunchOutOrderMessage in cXML o campi NEW_ITEM in OCI, e atterra nel sistema del cliente come bozza di richiesta d'acquisto.
- Approvazione. La richiesta d'acquisto (RdA) attraversa la catena di approvazione del cliente. Un'ora o tre settimane. Il vostro negozio non partecipa e nulla resta in attesa dal vostro lato.
- Ordine di acquisto. La richiesta approvata diventa un ordine di acquisto. Sulle reti cXML può essere trasmesso direttamente al vostro endpoint come documento OrderRequest e diventare un ordine nel vostro negozio, senza mani umane.
Le due metà contano perché molte integrazioni fanno solo la prima. Il carrello arriva elegante dal cliente, e poi l'ordine di acquisto torna come PDF che qualcuno del vostro team ribatte un venerdì pomeriggio. Quando valutate una soluzione punchout, chiedete sempre di entrambe le direzioni.
cXML contro OCI
Due protocolli trasportano quasi tutto il traffico punchout, e quale vi serve lo decidono i vostri clienti.
cXML (Commerce XML) è lo standard del mondo Ariba, e per diffusione il più grande dei due. È basato su documenti: quattro tipi di documento XML compongono un ciclo completo (PunchOutSetupRequest, PunchOutSetupResponse, PunchOutOrderMessage, OrderRequest). Lo parlano anche Jaggaer, Coupa, Oracle e Workday. Per le direzioni acquisti italiane il nome che ricorre più spesso è proprio Jaggaer, l'azienda nata dalla fusione con BravoSolution: il suo punchout richiede esplicitamente lo standard cXML di cxml.org, la stessa base documentale di Ariba. La forza determinante del cXML è il viaggio di ritorno: gli ordini tornano sullo stesso protocollo, e l'automazione completa nei due sensi è il caso normale. Vedere le pagine Ariba e Coupa, e per Jaggaer la guida dedicata (in inglese): punchout for Jaggaer.
OCI (Open Catalog Interface) è lo standard più vecchio e volutamente semplice di SAP, dominante nell'Europa germanofona e presente ovunque SAP SRM o S/4HANA gestisca gli acquisti. Niente documenti XML all'andata: l'ERP chiama la URL del vostro catalogo con un parametro HOOK_URL, e il carrello torna come campi NEW_ITEM indicizzati. OCI muove carrelli, non ordini di acquisto; l'ordine torna sul canale che l'ERP sa usare, dal pulito OrderRequest cXML alla stampa su carta. La complessità pratica vive nei dialetti dei campi: unità, gruppi merce ed estensioni NEW_ITEM variano per installazione. Dettagli sulla pagina OCI.
Molti fornitori europei finiscono per aver bisogno di entrambi: un cliente su SAP self-hosted, il successivo su Ariba, Jaggaer o Coupa. È l'argomento per trattare i due protocolli in un solo connettore invece che in due progetti. Un confronto pratico è (in inglese) su cXML vs OCI, practically.
Cosa Shopify offre, e cosa no
Prima la buona notizia. Shopify B2B copre già la metà commerciale della checklist punchout, quella davvero difficile da recuperare a posteriori: account aziendali con più company location, cataloghi e listini per location (sono i vostri prezzi contrattuali), regole di quantità come minimi e confezioni, termini di pagamento. Se oggi vendete all'ingrosso su Shopify, il modello di prezzi e permessi che i clienti punchout esigono probabilmente è già configurato.
Ciò che Shopify non ha, su nessun piano, è un endpoint punchout. Nulla riceve una PunchOutSetupRequest, nulla valida uno shared secret, nulla rende campi NEW_ITEM verso una HOOK_URL, nulla elabora un OrderRequest. Le funzioni B2B di Shopify finiscono al bordo del vostro negozio; il punchout è esattamente la macchina che oltrepassa quel bordo verso il sistema del cliente.
Quel vuoto lo riempie un connettore: gli endpoint dei protocolli, la validazione delle credenziali, la sessione che associa un'identità di rete alla company location giusta, la trasformazione del carrello all'andata, l'ingestione dell'ordine al ritorno, e i log che rendono tutto verificabile.
Cosa le reti di acquisto esigono dai fornitori
Il protocollo è la metà veloce di un progetto punchout. La metà lenta è l'enablement: il processo che ogni rete o cliente svolge prima che la vostra connessione vada in produzione. Varia moltissimo, e conviene conoscerlo prima di promettere una data.
Ariba è il peso massimo. Trading relationship su SAP Business Network, scambio di identità e shared secret, file indice del catalogo per cliente da far validare, test nel test realm del buyer. Il punchout richiede in pratica un account Enterprise, e Ariba è l'unica grande rete che fa pagare i fornitori: commissione dello 0,155% con tetto di 20.000 USD per relazione all'anno oltre le soglie, più livelli di abbonamento dove l'automazione cXML vi colloca in Silver, 750 USD all'anno. La documentazione di veri buyer parla di 8-12 settimane, quasi tutte di coordinamento.
Coupa è il peso piuma: portale gratuito, nessuna commissione, e l'admin del vostro cliente configura la connessione da solo. Le prime connessioni atterrano di solito in una o due settimane: il primo progetto punchout ideale. Jaggaer non addebita commissioni ai fornitori e gestisce l'enablement con il team del progetto cliente, su base cXML standard. Oracle e Workday stanno nel mezzo: cXML, senza commissioni, al ritmo del cliente.
Su tutte, si ripete lo stesso schema: le ore di ingegneria sono poche, le settimane di coordinamento no. La leva che controllate voi è quanto in fretta si chiude ogni giro di test, e log di sessione grezzi che l'IT del vostro cliente può leggere senza riunioni sono lo strumento migliore per quello.
Dove entra PunchRelay
PunchRelay è un connettore punchout costruito solo per Shopify. Dà al vostro negozio endpoint cXML e OCI, valida le credenziali di ogni cliente, apre le sessioni punchout sulla company location Shopify B2B che designate, applica le vostre regole di quantità prima del trasferimento del carrello, restituisce il carrello nel dialetto atteso dal sistema del cliente, e trasforma gli OrderRequest cXML in entrata in ordini Shopify, confermati in meno di 150 millisecondi. Ogni messaggio, nei due sensi, è loggato grezzo, perché è il log ad accorciare l'enablement.
Stiamo seguendo adesso i merchant in early access e costruiamo con loro le prime connessioni con i buyer. Se un cliente vi ha appena chiesto il punchout, partite dalla pagina che corrisponde al suo sistema: SAP Ariba, Coupa o OCI per SAP. Oppure lasciate la vostra email qui sotto e tracceremo la strada più corta verso la vostra prima connessione in produzione.