# EDI

> Il nostro sistema di ordini di acquisto Electronic Data Interchange (EDI) semplifica la ricezione degli ordini inviandoli direttamente al tuo ERP o sistema di gestione degli ordini,

Source: https://www.purchaseplus.com/it/docs/for-suppliers/electronic-data-interchange-edi-purchase-orders

Markdown: https://www.purchaseplus.com/it/docs/for-suppliers/electronic-data-interchange-edi-purchase-orders.md

# EDI
Vai a:

-   [Panoramica](#Overview)
-   [Vantaggi](#Benefits)
-   [Come iniziare](#GettingStartedWithEDI)
-   [Formati di dati supportati](#SupportedFormats)
-   [Payload JSON di esempio](#SampleJSONPayload)
-   [Campi importanti](#ImportantFields)

### Panoramica

Il nostro sistema di ordini di acquisto Electronic Data Interchange (EDI) semplifica la ricezione degli ordini inviandoli direttamente al tuo ERP o sistema di gestione degli ordini, eliminando la necessità di inserire manualmente i dati.

Raccomandiamo l'EDI per la ricezione degli ordini di acquisto, in particolare per i fornitori medio-grandi e per coloro che dispongono di solide capacità di integrazione.

### Vantaggi

Gli ordini di acquisto EDI aiutano i fornitori a lavorare in modo più efficiente eliminando la necessità di inserire manualmente gli ordini di acquisto in un sistema Enterprise Resource Planning (ERP) o di gestione degli ordini. Migliorano inoltre la precisione riducendo gli errori manuali e accelerano l'elaborazione degli ordini tra acquirenti e fornitori. Riteniamo che uno scambio di dati più rapido e accurato riduca i problemi relativi agli ordini, a vantaggio sia degli acquirenti, sia dei fornitori, sia nostro.

In passato, si sono verificati problemi con fornitori che non ricevevano gli ordini di acquisto via email perché i filtri antispam li bloccavano erroneamente. Sebbene utilizziamo un servizio email gestito, questi messaggi possono ancora essere occasionalmente bloccati.

Riteniamo inoltre che HTTPS o SFTP, i protocolli utilizzati per l'EDI, offrano un metodo più solido e sicuro per scambiare informazioni sensibili sugli ordini rispetto all'email.

### Come iniziare

1.  Configura un endpoint: dovrai configurare un endpoint per ricevere gli ordini. In alternativa, una directory SFTP può essere configurata da te o da noi.
    
2.  Mettiti in contatto: una volta pronto il tuo endpoint (o se desideri che configuriamo una directory SFTP), contatta il nostro team all'indirizzo [help.suppliers@purchaseplus.com](mailto:help.suppliers@purchaseplus.com) indicando i dettagli del tuo endpoint.
    
3.  Integrazione: aggiungeremo il tuo endpoint al nostro sistema.
    
4.  Test: per garantire una transizione senza problemi, possiamo eseguire un piccolo test passando uno o due acquirenti al nuovo endpoint. In alternativa, possiamo far funzionare email ed EDI contemporaneamente durante un periodo di prova.
    
5.  Progetto pilota: collaboreremo con te per selezionare un piccolo gruppo di clienti di test che verranno trasferiti al nuovo endpoint.
    
6.  Implementazione completa: quando sarai pronto, trasferiremo tutti i tuoi ordini sull'EDI.
    

### Formati di dati supportati

Per le transazioni EDI supportiamo principalmente JSON. Possiamo anche inviare XML e fornire un payload di esempio su richiesta, ma non supportiamo cXML.

### Payload JSON di esempio

`{     "purchase_orders": [       {         "purchase_order": {           "identity": "singer.test.sleep",           "purchaser": {             "id": 262388,             "name": "Sample Purchaser",             "customer_number": "PUR12345",             "requestor": "Han Solo",             "phone": "1300 123 456",             "email": "han.solo@purchaseplus.com"           },           "supplier": {             "name": "Sample Supplier",             "vendor_number": "SUP98765"           },           "purchase_order_number": "PO00001",           "purchaser_reference": "Daily food order",           "supplier_reference": null,           "expected_delivery_date": "2025-03-15",           "sent_date": "2025-03-15T05:51:57.122Z",           "cancelled": false,           "comments": [],           "confirmation_instructions": "Confirmation instructions example.",           "delivery_instructions": "Delivery instructions example.",           "delivery_address": {             "location_name": "Default",             "line1": "Level 4, 11 York Street",             "line2": "",             "city": "Sydney",             "state_province": "NSW",             "postal_code": "2000",             "country_code": "AU"           },           "currency": "AUD",           "net_amount": 826.1,           "delivery_amount": 0,           "tax_amount": 20.25,           "gross_amount": 846.35,           "lines": [             {               "code": "YOGH",               "brand": "Farmers Union",               "item_description": "Greek Style Yoghurt : Natural",               "item_size": 1,               "item_measure": "lt",               "item_package": "tub",               "pack_quantity": 1,               "pack_name": "each",               "gs1_code": null,               "order_instruction": null,               "unit_price": 6.75,               "quantity": 30,               "net_amount": 202.5,               "tax_amount": 20.25,               "gross_amount": 222.75,               "is_purchaser_price": true             },             {               "code": "WMBD",               "brand": "Mighty Soft",               "item_description": "Bread Sliced Wholemeal Sandwich Frozen",               "item_size": 650,               "item_measure": "g",               "item_package": null,               "pack_quantity": 10,               "pack_name": "carton",               "gs1_code": null,               "order_instruction": null,               "unit_price": 20,               "quantity": 25,               "net_amount": 500,               "tax_amount": 0,               "gross_amount": 500,               "is_purchaser_price": true             },             {               "code": "MILK",               "brand": "Pauls - Professional",               "item_description": "Milk : Full Cream",               "item_size": 3,               "item_measure": "lt",               "item_package": "bottle",               "pack_quantity": 6,               "pack_name": "carton",               "gs1_code": null,               "order_instruction": null,               "unit_price": 8.24,               "quantity": 15,               "net_amount": 123.6,               "tax_amount": 0,               "gross_amount": 123.6,               "is_purchaser_price": true             }           ]         }       }     ]   }` 

### Gestione degli annullamenti

Occasionalmente, un acquirente annullerà un ordine tramite l'interfaccia utente e sceglierà di inviare un avviso di annullamento. Questo invia un duplicato del payload del webhook con il campo cancelled impostato su true.

Assicurati di filtrare completamente questi elementi o di gestirli inviando una notifica al tuo team di supporto.

Istruiamo gli utenti a contattare direttamente il fornitore se desiderano annullare o modificare un ordine, poiché i sistemi non sempre gestiscono questa operazione in modo affidabile.

### Campi importanti

| **Campo** | **Descrizione** |
| --- | --- |
| `identity` | Un identificatore univoco composto da tre parole che rappresenta la relazione tra uno specifico account fornitore e un account acquirente. Questo identificatore è univoco per ogni combinazione acquirente-fornitore e può essere utilizzato come `identity` quando si inviano fatture a PurchasePlus. |
| `vendor_number` | Un identificatore univoco che assegni a ciascun acquirente all'interno del tuo sistema. Ciò ti consente di fare riferimenti incrociati agli acquirenti tra sistemi diversi. Questo campo può essere aggiornato nel portale PurchasePlus. |
| `purchase_order_number` | Il numero dell'ordine di acquisto assegnato dall'acquirente. Sebbene non sia univoco a livello globale, è univoco nel contesto di un singolo acquirente. Per creare una chiave univoca, concatena questo campo con il campo vendor_number. Importante: se l'utente di PurchasePlus lascia vuoto il campo ‘Purchaser Code’, l'utilizzo di questa concatenazione per una chiave univoca potrebbe causare problemi. |
| `cancelled` | Un flag booleano che indica se l'ordine di acquisto è stato annullato dall'acquirente nell'interfaccia utente di MarketBoomer. Se `true`, l'ordine di acquisto è stato annullato. MarketBoomer invierà nuovamente l'ordine di acquisto con questo campo impostato su `true` al momento dell'annullamento. La gestione di questo campo è facoltativa se il tuo sistema non supporta gli annullamenti degli ordini, ma è considerata una best practice. |
| `lines.code` | Il codice prodotto univoco che assegni a ciascun prodotto nel nostro sistema. Questo campo corrisponde al "codice proprietario" in P+ New o al "codice fornitore" in P+ Legacy. Puoi aggiornare questo codice all'interno delle rispettive interfacce P+. |

Il codice prodotto univoco che assegni a ciascun prodotto nel nostro sistema. Questo campo corrisponde al "codice proprietario" in PurchasePlus o al "codice fornitore" in Legacy PurchasePlus. Puoi aggiornare questo codice all'interno delle rispettive interfacce P+.
