Independent AI agent for EU Deforestation Regulation compliance, not affiliated with the EU. Scope & disclaimer →
eudr.dev

Ecosystem — works with your stack

What goes in, what comes out, and what other tools can call. eudr.dev reads CSV, GS1 EPCIS 2.0 and one ERP (Odoo), returns signed Annex II receipts that can be verified offline, and serves MCP, A2A and HTTP endpoints.

This page is the reference for every integration point: what it ingests, what it exports, which surfaces other tools call, and what is live today versus on the roadmap. Each endpoint path below is the real one served by the engine.

State labels

The map

NodeWire formatState
Earth-memory backboneemem /v1/ (content-addressed, ed25519-signed facts)live
Data in — CSV / webhookmultipart upload, one row per scenariolive
Data in — GS1 EPCIS 2.0application/ld+json, one ObjectEvent per scenariolive
TRACES NT out — exporteudr export-traces / eudr.traces.export → official v2 XML or SOAP envelopelive
TRACES NT out — submitauthenticated POST under the operator's EU Login, POST /api/dds/:task_id/traces/submitbuilt, off by default (EUDR_TRACES_SUBMIT_ENABLED); off on eudr.dev
ERP — OdooAPI key, JSON-RPClive
ERP adapters (5)SAP S/4HANA, Dynamics 365 BC, NetSuite, Sage Intacct, Infor M3planned
Your AI agentsMCP (the served tool list is at /.well-known/mcp.json), A2A v1.0 /a2a/rpc, /v1/ HTTPlive
Monitoring & supplier platformstheir exports → CSV / EPCIS / A2A; our receipts anchor their evidenceworks alongside
Legality & land-tenure providersLegalityProvider traitpluggable

Earth-memory backbone — live

Every per-cell deforestation, legality, and site-context fact eudr.dev cites is read from emem, the open-source Earth-memory protocol, over its /v1/ HTTP surface. emem facts are content-addressed and ed25519-signed; eudr.dev anchors them into the receipt so the verdict is reproducible from the signed evidence chain.

eudr.dev sends emem only plot geometry, HS code, country, and quantity — never operator or supplier identity. The engine runtime is closed; the per-cell facts it stands on are produced by the open protocol, so an auditor can replay them independently.

Data in — CSV / webhook — live

Push or upload a CSV (or JSON) file with one row per shipment. The universal fallback for cooperatives and any operator without an ERP.

Each row becomes one eudr_core::Scenario, tagged with the connector id and row number so the compiled receipt records its lineage under source_receipts.connector (Art. 9(1) traceability).

Data in — GS1 EPCIS 2.0 — live

The cleanest standards-based pipe, recommended where the supply chain already publishes EPCIS "Origin Declaration" events.

Each ObjectEvent in the document maps to one scenario, tagged with its event index for receipt-side provenance. The @context must include the GS1 EPCIS 2.0 context; org-specific contexts alongside it are tolerated.

ERP adapters — Odoo live, five planned

Odoo is wired: an API key, a batch fetch of purchase lines mapped to scenarios (crates/eudr-server/src/connectors/erp/odoo.rs). The other five are not implemented: typed Unimplemented, no OAuth flow, no scheduler, no ingest path. The dashboard keeps each on state: "planned" and offers a "Notify me" affordance rather than a "Configure" one, so the UI never implies an ingest path that does not exist.

AdapterPlanned integration (not yet implemented)
SAP S/4HANA CloudOData V4; OAuth2 client credentials (Communication Arrangement scope). Pulls Vendors, Purchase Orders, Inbound Deliveries.
Dynamics 365 BCMicrosoft Entra ID OAuth2; v2.0 API. Reads purchaseOrders, vendors, items.
Oracle NetSuiteOAuth 2.0 JWT against SuiteTalk REST; HS code auto-discovered from a custitem_ field.
Sage Intacct / X3OAuth2 (Intacct) or SData REST (X3); country of origin on item master.
Infor M3 / LNION API gateway, BOD-based. Strong in Nordic / Benelux food and timber.

Each planned adapter has a documented OAuth flow and four field maps (vendor, purchase order, item, country-of-origin) so the work that remains is implementation, not discovery.

TRACES NT out — export live, submit built and off

Export is live. Convert a signed DDS receipt into the shape the EU Information System expects:

eudr export-traces <receipt.json> --format official|soap --activity IMPORT|EXPORT|DOMESTIC|TRADE

The same conversion is exposed to agents as the eudr.traces.export skill on the A2A surface.

Direct submission, the authenticated POST to TRACES NT, is built (POST /api/dds/:task_id/traces/submit) and refuses unless the deployment sets EUDR_TRACES_SUBMIT_ENABLED, with the operator's own EU Login credentials. It is off on eudr.dev. eudr.dev never files on the operator's behalf silently: TRACES submission is the operator's act under their own EU Login identity, and the operator remains the filer of record.

Your AI agents — live

Three surfaces, returning the same evidence anchors; pick the cheapest.

Runnable recipes (LangChain, CrewAI, MCP raw stdio) live in docs/agents/.

Monitoring & supplier platforms — works alongside

eudr.dev works alongside continuous-monitoring and supplier-management platforms without claiming any partnership. The interoperability runs both ways:

  • Their exports in. A monitoring or supplier platform that can emit alert or plot lists in CSV, EPCIS, or over A2A can feed those directly into eudr.dev scenarios.
  • Our receipts out. The signed Annex II receipt eudr.dev produces is offline-verifiable, so it can anchor the evidence those platforms' workflows already collect.

This is a description of a data path, not an endorsement. We name no vendors and make no partnership claims; any tool that speaks these wire formats can sit on either end.

Legality & land-tenure providers — pluggable

Legality checking is an extension point. Implement the LegalityProvider trait (crates/eudr-pipeline/src/legality.rs) and supply it to the pipeline via .with_legality(...) to swap in your own national-registry, tenure, or certification integration.

The shipped baseline (BaselineLegality) derives a country tier from Implementing Reg. (EU) 2025/1093 and records supplier-identifier presence and declared certifications. It explicitly does not verify land tenure, harvest permits, or FPIC: those require national-registry or partner-legality-module integration and are recorded on the receipt as Unknown with source = "out_of_scope" rather than silently passed.

Next steps

Independence

eudr.dev is an independent AI agent operated by Vortx AI Private Limited. It is not affiliated with, endorsed by, or sponsored by the European Commission, the European Union, or any EU institution, agency, or Member-State authority. The "works alongside" and "pluggable" labels above describe interoperability only; they imply no partnership, certification, or endorsement by any third party. The Regulation's official text is the authoritative source; eudr.dev produces evidence summaries, not legal advice, and the operator remains responsible for the due-diligence statement they file.