Spring videre til hovedindholdet

For udviklere, der arbejder med EUDR i prduct.com

Dette er en introduktion til, hvordan man arbejder med og tester EUDR-integration i prduct.com.

Andreas Stensig avatar
Skrevet af Andreas Stensig
Opdateret i denne uge

Dette dokument beskriver en “happy path” fra tilføjelse af relaterede og krævede Master Data til tilføjelse af transaktionsdata gennem de specifikke EUDR-endpoints.

Bemærk, at dette er en avanceret guide, som kræver erfaring med opsætning af API-integrationer!

Bliv fortrolig med prduct-termer

Når du arbejder med prduct — compliance-platformen for indkøbsafdelingen — skal du blive fortrolig med flere “data documents” i platformens master data management.

Et data document (eller blot document) er en databeholder, som også bruges i andre forretningssystemer, hvor de ofte kaldes: Entity, Object, Record, Item eller Node.
prduct leveres med både foruddefinerede documents, men tillader også kunder at oprette egne custom documents. For at skelne mellem disse documents, bruges document type id.

En specifik værdi inde i et document, f.eks. et produkts vægt, kaldes i prduct for attributes. Andre forretningssystemer kan kalde disse værdier alt fra fields, property, parameter, feature, property value eller data point.

Som i de fleste master data management-systemer er disse værdier forbundet gennem data models. En data model definerer, hvilke attributes der bruges på et bestemt document, og der kan oprettes flere for hver document type.


Et eksempel kan være, at en mikrobølgeovn kræver andre attributes end et møbel. Data models hjælper også med at definere et dokuments “completeness level”, og derfor bruges et data model id, når der oprettes documents, for at definere hvilke data, det skal indeholde.

Virksomheder er både suppliers og clients, og i prduct-platformen er dette et vigtigt endpoint, fordi samarbejdet om data i værdikæden kræver, at systemet ved, hvem det skal interagere med.


En company fungerer som et document, men kommer med foruddefinerede data points og mulighed for at tilføje custom fields. Fields på companies kan sammenlignes med attributes, men bruges ikke lige så omfattende. Typiske anvendelser for fields er filtrering og overblik.

Opsæt API-test i sandbox environment

Læs mere om opsætning af sandbox environment her.

Opret en company

Start med at oprette en company ved at bruge POST-metoden på:
https://sandbox-api.prduct.com/api/v1/companies

Ikke alle felter er påkrævet, men i dette eksempel ses både de foruddefinerede værdier samt eksempler på custom fields.

Example request body:

{
"name": "Acme Inc",
"business_id": "123456790",
"external_id": "EXT123",
"type": "supplier",
"slug": "acme2-inc",
"local_name": "Acme Inc",
"basic_information": "This is some basic information about the company.",
"business_types": [
"Manufacturer"
],
"turnover": 1000000,
"trademarks": "Acme Trademark",
"number_of_employees": 100,
"establish_year": 2000,
"patents": "Patent information",
"customers": "Customer information",
"currency": "EUR",
"terms_of_payment": "30% deposit,70% 30days after shipping out",
"address": {
"company_name": "Acme Inc",
"address": "123 Main St",
"local_address": "123 Main St",
"zip": "12345",
"city": "New York",
"province": "NY",
"country": "US"
},
"custom_fields": {
"Delivering information via ASN": "Yes",
"External ID": "EXT123"
}
}

Vær særligt opmærksom på følgende felter:

  • business_id – ofte kendt som CVR-nummer eller VAT

  • external_id – reference til dit eksterne forretningssystem, f.eks. kreditornummer fra ERP

  • type – enten “supplier” eller “customer”

  • address -> country – oprindelsesland for virksomheden

  • custom_fields – alle dine brugerdefinerede felter

Modtag Document types

Document types modtages med GET-metoden på:
https://sandbox-api.prduct.com/api/v1/document-types

Ingen params eller body er påkrævet.

Example response:

{
"data": [
{
"id": 1,
"name": "Brand",
"slug": "brands",
"is_custom": false
},
{
"id": 2,
"name": "Product",
"slug": "products",
"is_custom": false
},
{
"id": 3,
"name": "Part",
"slug": "parts",
"is_custom": false
}
]
}

Document type id’er er vigtige at kende fremadrettet, men de ændres ikke, når de først er defineret.

Opret en data model

Data models oprettes med POST-metoden på:
https://sandbox-api.prduct.com/api/v1/data-models

Example request body:

{
"name": "Test",
"document_type_id": 2,
"default": false
}

Vær særligt opmærksom på:

  • document_type_id – ved brug af id 2 er data modellen for “products”.

Modtag Data Models

Data models modtages med GET-metoden på:
https://sandbox-api.prduct.com/api/v1/data-models

Ingen params eller body er påkrævet.

Example response:

{
"data": [
{
"id": 1000000000000,
"name": "Test",
"document_type_id": 2,
"default": false
}
]
}

Data model id’er er vigtige at kende fremadrettet, men de ændres ikke, når de først er defineret.

Opret et document (product)

Documents oprettes med POST-metoden på:
https://sandbox-api.prduct.com/api/v1/documents

Example request body:

{
"document_type_id": 2, // Document type id 2 for product
"data_model_id": 1000000000000, // Data model id you created
"external_id": "P100", // External id of product from ERP
"status": 1, // Document is set to live
"company": {
"type": "supplier", // Adding a supplier relation
"by": "external_id", // Using the external_id of the supplier
"value": "EXT123" // Supplier ID from ERP
},
"attributes": {}, // Used for attributes that are not translatable
"translations": [ // Used for attributes that are translatable (one translation is required – but no attributes on it is required)
{
"name": "Test Product 1",
"market": null,
"language": "en",
"default": true,
"second_name": "",
"functional_name": "",
"attributes": {
"hs_code": [ // example of single value attribute
{
"value": "4415"
}
],
"weight": [ // example of multi value attribute
{
"name": "net_weight",
"value": "12.3",
"unit": "kg"
}
]
}
}
]
}

Vær særligt opmærksom på:

  • document_type_id – ved brug af id 2 er data modellen for “products”.

Opret en EUDR Purchase invoice (PO med flere varelinjer)

EUDR Purchase invoices opretter flere documents på én gang og forbinder eksisterende documents. Formålet er at oprette fakturaer sammen med deres varelinjer, produktrelationer og eventuelle due diligence-dokumenter eller lokationer.

Endpointet bruges med POST-metoden på:
https://sandbox-api.prduct.com/api/v1/eudr/purchase/invoices

Example request body:

{
"type": "invoice",
"external_id": "123456",
"name": "PO123456",
"created_date": "2025-08-28T14:31:34.596Z",
"internal_reference_number": "PO123456",
"supplier": {
"external_id": "EXT123"
},
"batches": [
{
"external_id": "B-123456",
"name": "PO123456-B01",
"created_date": "2025-08-28T14:53:59.369Z",
"operator_type": "TRADER",
"internal_reference_number": "PO123456-B01",
"activity_type": "domestic",
"quantity": 1,
"unit": "kg",
"product": {
"external_id": "P100"
},
"related_dds": [
{
"reference_number": "25SETVJO144350",
"verification_number": "RHSTDZU2"
}
]
}
]
}

Test EUDR-endpointet

Læs mere om, hvordan du tester EUDR-endpointet her.

Support og spørgsmål

Hvis du støder på problemer eller har spørgsmål undervejs, er du velkommen til at kontakte os. Skriv via chatbotten i nederste højre hjørne eller send en mail til support@prduct.com.

Besvarede dette dit spørgsmål?