EDI

EDI

Ir para:

Visão Geral

O nosso sistema de pedidos de compra por Intercâmbio Eletrónico de Dados (EDI) simplifica a forma como recebe pedidos, enviando-os diretamente para o seu ERP ou sistema de gestão de encomendas, eliminando a necessidade de introdução manual de dados.

Recomendamos o EDI para a receção de pedidos de compra, particularmente para fornecedores de média a grande dimensão e aqueles com fortes capacidades de integração.

Benefícios

Os pedidos de compra por EDI ajudam os fornecedores a trabalhar de forma mais eficiente, eliminando a necessidade de introduzir manualmente pedidos de compra num sistema de Enterprise Resource Planning (ERP) ou de Gestão de Encomendas. Também melhoram a precisão ao reduzir os erros manuais e aceleram o processamento de encomendas entre compradores e fornecedores. Acreditamos que uma troca de dados mais rápida e precisa resulta em menos problemas nas encomendas, o que beneficia compradores, fornecedores e a nós próprios.

No passado, tivemos problemas em que os fornecedores não recebiam os pedidos de compra por e-mail porque os filtros de spam os bloqueavam incorretamente. Embora utilizemos um serviço de e-mail gerido, estes e-mails podem, ocasionalmente, continuar a ser bloqueados.

Acreditamos também que o HTTPS ou SFTP, os protocolos utilizados para o EDI, oferecem uma forma mais robusta e segura de trocar informações sensíveis de encomendas do que o e-mail.

Primeiros Passos

  1. Configurar um endpoint: Precisará de configurar um endpoint para receber encomendas. Em alternativa, você ou nós podemos configurar um diretório SFTP.
  2. Entrar em contacto: Assim que o seu endpoint estiver pronto (ou se pretender que configuremos um diretório SFTP), entre em contacto com a nossa equipa através de help.suppliers@purchaseplus.com indicando os detalhes do seu endpoint.
  3. Integração: Iremos adicionar o seu endpoint ao nosso sistema.
  4. Testes: Para garantir uma transição suave, podemos realizar um pequeno teste mudando um ou dois compradores para o novo endpoint. Em alternativa, podemos executar o e-mail e o EDI em simultâneo durante um período experimental.
  5. Piloto: Trabalharemos consigo para selecionar um pequeno grupo de clientes de teste que serão transferidos para o novo endpoint.
  6. Implementação completa: Assim que estiver confortável, transferiremos todas as suas encomendas para EDI.

Formatos de Dados Suportados

Suportamos primariamente JSON para transações de EDI. Também podemos enviar XML e fornecer um payload de exemplo a pedido, mas não suportamos cXML.

Exemplo de Payload JSON

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

Gestão de Cancelamentos

Ocasionalmente, um comprador cancelará uma encomenda através da interface de utilizador e optará por enviar um aviso de cancelamento. Isto envia uma cópia duplicada do payload do webhook com o campo cancelled definido como true.

Certifique-se de que filtra estes pedidos na totalidade ou que os gere com uma notificação para a sua equipa de suporte.

Formamos os utilizadores para entrarem em contacto direto com o fornecedor caso pretendam cancelar ou modificar uma encomenda, uma vez que os sistemas nem sempre gerem isto de forma fiável.

Campos Importantes

CampoDescrição
identityUm identificador exclusivo de três palavras que representa a relação entre uma conta de fornecedor específica e uma conta de comprador. Este identificador é exclusivo para cada combinação comprador-fornecedor e pode ser utilizado como a identity ao enviar faturas para o PurchasePlus.
vendor_numberUm identificador exclusivo que atribui a cada comprador dentro do seu sistema. Isto permite cruzar a referência dos compradores entre diferentes sistemas. Este campo pode ser atualizado no portal PurchasePlus.
purchase_order_numberO número do pedido de compra atribuído pelo comprador. Embora não seja globalmente exclusivo, é exclusivo no contexto de um único comprador. Para criar uma chave exclusiva, concatene este campo com o campo vendor_number. Importante: Se o utilizador do PurchasePlus deixar o campo ‘Purchaser Code’ em branco, utilizar esta concatenação para uma chave exclusiva pode causar problemas.
cancelledUm indicador booleano que indica se o pedido de compra foi cancelado pelo comprador na IU do MarketBoomer. Se for true, o pedido de compra foi cancelado. O MarketBoomer reenviará o pedido de compra com este campo definido como true aquando do cancelamento. O tratamento deste campo é opcional se o seu sistema não suportar cancelamentos de encomendas, mas é uma boa prática.
lines.codeO código de produto exclusivo que atribui a cada produto no nosso sistema. Este campo corresponde ao "owner code" no PurchasePlus ou ao "supplier code" no Legacy PurchasePlus. Pode atualizar este código dentro das respetivas interfaces do P+.

O código de produto exclusivo que atribui a cada produto no nosso sistema. Este campo corresponde ao "owner code" no PurchasePlus ou ao "supplier code" no Legacy PurchasePlus. Pode atualizar este código dentro das respetivas interfaces do P+.