# EDI

> Nuestro sistema de órdenes de compra por intercambio electrónico de datos (EDI) simplifica la forma en que recibe los pedidos al enviarlos directamente a su ERP o sistema de gestión de pedidos.

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

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

# EDI
Ir a:

-   [Resumen](#Overview)
-   [Beneficios](#Benefits)
-   [Primeros pasos](#GettingStartedWithEDI)
-   [Formatos de datos admitidos](#SupportedFormats)
-   [Carga útil (payload) JSON de muestra](#SampleJSONPayload)
-   [Campos importantes](#ImportantFields)

### Resumen

Nuestro sistema de órdenes de compra por intercambio electrónico de datos (EDI) simplifica la forma en que recibe los pedidos enviándolos directamente a su ERP o sistema de gestión de pedidos, eliminando la necesidad de introducir datos manualmente.

Recomendamos el uso de EDI para recibir órdenes de compra, especialmente para proveedores medianos y grandes y aquellos con sólidas capacidades de integración.

### Beneficios

Las órdenes de compra por EDI ayudan a los proveedores a trabajar de manera más eficiente al eliminar la necesidad de ingresar manualmente las OC en un sistema de planificación de recursos empresariales (ERP) o de gestión de pedidos. También mejoran la precisión al reducir los errores manuales y aceleran el procesamiento de pedidos entre compradores y proveedores. Creemos que un intercambio de datos más rápido y preciso genera menos problemas con los pedidos, lo que beneficia tanto a compradores como a proveedores y a nosotros mismos.

En el pasado, hemos tenido problemas con proveedores que no recibían las órdenes de compra por correo electrónico debido a que los filtros de spam las bloqueaban incorrectamente. Aunque utilizamos un servicio de correo electrónico administrado, estos correos aún pueden bloquearse ocasionalmente.

También consideramos que HTTPS o SFTP, los protocolos utilizados para EDI, ofrecen una forma más robusta y segura de intercambiar información confidencial de pedidos que el correo electrónico.

### Primeros pasos

1.  Configurar un punto de conexión (endpoint): Deberá configurar un endpoint para recibir pedidos. Como alternativa, usted o nosotros podemos configurar un directorio SFTP.
    
2.  Ponerse en contacto: Una vez que su endpoint esté listo (o si desea que configuremos un directorio SFTP), comuníquese con nuestro equipo en [help.suppliers@purchaseplus.com](mailto:help.suppliers@purchaseplus.com) con los detalles de su endpoint.
    
3.  Integración: Añadiremos su endpoint a nuestro sistema.
    
4.  Pruebas: Para garantizar una transición fluida, podemos realizar una pequeña prueba cambiando uno o dos compradores al nuevo endpoint. De forma alternativa, podemos mantener el correo electrónico y el EDI simultáneamente durante un período de prueba.
    
5.  Piloto: Trabajaremos con usted para seleccionar un pequeño grupo de clientes de prueba que se transferirán al nuevo endpoint.
    
6.  Implementación completa: Una vez que se sienta conforme, cambiaremos todos sus pedidos a EDI.
    

### Formatos de datos admitidos

Admitimos principalmente JSON para transacciones EDI. También podemos enviar XML y proporcionar un payload de muestra previa solicitud, pero no admitimos cXML.

### Carga útil (payload) JSON de muestra

`{     "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             }           ]         }       }     ]   }` 

### Gestión de cancelaciones

En ocasiones, un comprador cancelará un pedido a través de la interfaz de usuario y optará por enviar un aviso de cancelación. Esto envía un duplicado de la carga útil del webhook con el campo `cancelled` establecido en `true`.

Asegúrese de filtrarlos por completo o de gestionarlos enviando una notificación a su equipo de soporte.

Capacitamos a los usuarios para que se comuniquen directamente con el proveedor si desean cancelar o modificar un pedido, ya que los sistemas no siempre gestionan esto de manera confiable.

### Campos importantes

| **Campo** | **Descripción** |
| --- | --- |
| `identity` | Un identificador único de tres palabras que representa la relación entre una cuenta de proveedor específica y una cuenta de comprador. Este identificador es único para cada combinación de comprador-proveedor y se puede utilizar como `identity` al enviar facturas a PurchasePlus. |
| `vendor_number` | Un identificador único que usted asigna a cada comprador dentro de su sistema. Esto le permite hacer referencias cruzadas de compradores entre diferentes sistemas. Este campo se puede actualizar en el portal de PurchasePlus. |
| `purchase_order_number` | El número de orden de compra asignado por el comprador. Aunque no es globalmente único, es único dentro del contexto de un solo comprador. Para crear una clave única, concatene este campo con el campo `vendor_number`. Importante: Si el usuario de PurchasePlus deja el campo «Código del comprador» en blanco, utilizar esta concatenación para una clave única puede causar problemas. |
| `cancelled` | Un valor booleano que indica si la orden de compra ha sido cancelada por el comprador en la interfaz de usuario de MarketBoomer. Si es `true`, la OC ha sido cancelada. MarketBoomer volverá a enviar la OC con este campo establecido en `true` tras la cancelación. Gestionar este campo es opcional si su sistema no admite cancelaciones de pedidos, pero es una práctica recomendada. |
| `lines.code` | El código de producto único que asigna a cada producto en nuestro sistema. Este campo corresponde al "código de propietario" en PurchasePlus o al "código de proveedor" en Legacy PurchasePlus. Puede actualizar este código dentro de las respectivas interfaces de P+. |

El código de producto único que asigna a cada producto en nuestro sistema. Este campo corresponde al "código de propietario" en PurchasePlus o al "código de proveedor" en Legacy PurchasePlus. Puede actualizar este código dentro de las interfaces correspondientes de P+.
