EDI
EDI
Ir para:
- Visão Geral
- Benefícios
- Primeiros Passos
- Formatos de Dados Suportados
- Exemplo de Payload JSON
- Campos Importantes
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
- Configurar um endpoint: Precisará de configurar um endpoint para receber encomendas. Em alternativa, você ou nós podemos configurar um diretório SFTP.
- 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.
- Integração: Iremos adicionar o seu endpoint ao nosso sistema.
- 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.
- Piloto: Trabalharemos consigo para selecionar um pequeno grupo de clientes de teste que serão transferidos para o novo endpoint.
- 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
| Campo | Descrição |
|---|---|
identity | Um 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_number | Um 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_number | O 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. |
cancelled | Um 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.code | 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+. |
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+.