A report that points to the cell.
Severity, sheet, cell, field and a plain message that says what to fix, for each finding. The full list exports to CSV.
eudaflow checks the UDI and device data in your Excel templates cell by cell and shows every error before upload day. Then it writes XML that has passed the official EUDAMED schema, and you upload it yourself.
Use the arrow keys to move between cells. Press Enter to edit and Enter again to save; Escape cancels.
Edit a cell or press Apply fix. Everything runs in your browser; nothing is sent. In the service itself, you correct the cells in Excel and upload the workbook again.
Open full screenExample Medical GmbH is fictional. Its GTINs use GS1 prefix 952, which GS1 reserves for examples; the EMDN codes are real.3
You prepare the data. eudaflow checks it and prepares the files. You decide when to upload.
Choose your service and legislation, then fill the Excel template. Required fields and official value lists are marked for you.
eudaflow checks formats, links between sheets and applicable rules, then validates the XML against the official XSD.
Each finding points to a sheet, row and cell. Fix errors in Excel and review any warnings before downloading.
Download the labelled XML files in the order shown. You choose the service in EUDAMED and upload the files yourself.5
EUDAMED applies its own checks after upload; passing the XSD check does not guarantee acceptance.
How would you like to work?
One Basic UDI-DI with four UDI-DIs and one package level. The first UDI-DI travels with its Basic UDI-DI in the device file. The other three follow in a second file, uploaded once the first has been accepted. The package level nests inside the UDI-DI it contains.
Spreadsheet
1-Basic UDI-DI
9520123CBS35N43-UDI-DI
095201234500070952012345001409520123450021095201234500389-Packages
19520123450004XML files
DEVICE.POSTupload first
<device:Device xsi:type="device:MDRDeviceType"><device:MDRBasicUDI>9520123CBS35N41-Basic UDI-DI, row 2<device:MDRUDIDIData>095201234500073-UDI-DI, row 2<udidi:packages><udidi:package>195201234500049-Packages, row 2 · 10 itemsUDI_DI.POSTupload after file 1 is accepted
<device:UDIDIData>095201234500143-UDI-DI, row 3<device:UDIDIData>095201234500213-UDI-DI, row 4<device:UDIDIData>095201234500383-UDI-DI, row 5<udidi:basicUDIIdentifier>9520123CBS35N4in each, the link backMDD
device bulk upload to EUDAMED Production received a SUCCESS acknowledgement on 25 September 2026. Company and device details remain confidential.
29 of 29
service and legislation combinations accepted in the EUDAMED Playground.6
3.0.30
is the production XSD version every file is checked against, pinned by checksum.4
The price depends on how many UDI-DIs you register and how much of the work you hand over. You get a written quote within one working day.
For teams who know their product data and want to do the work themselves.
Price on request
Get a quote for thisOur recommendation
For teams registering devices in EUDAMED for the first time.
Price on request
Get a quote for thisFor teams short on time before 28 November.
We take on a limited number of these before 28 November, in the order requests arrive.
Price on request
Get a quote for thisWant to see it on your own data first? Create a free account. The Playground allowance covers 10 UDI-DIs, and a check that finds errors does not use it up.
Authorised representative or consultancy? We price by volume across all the manufacturers you register. Ask for partner pricing
Selling in Türkiye as well? For registration in ÜTS, Türkiye’s national product tracking system, we prepare your documents and device file and check them before upload. Your own staff confirms and signs the application. How ÜTS registration works. Get a quote for ÜTS
Devices placed on the EU market before 28 May 2026, and still being placed on it, must be registered in EUDAMED by 28 November 2026.12
On 17 September 2026, 14,049 of the 31,191 active manufacturers in EUDAMED’s public data (45%) had no device registered. The count by country, and what it does not say.
eudaflow runs these checks on every workbook before any XML is written. EUDAMED applies its own business rules after the schema check,4 so it can still reject a device that passed here.
Every column the template marks as required, and the ones that depend on an answer: certificate details when a certificate applies, a model or a name, an end date when a device leaves the market.
You see: The sheet, row and cell of each empty field.
GS1 GTINs by modulo 10, HIBCC codes by their modulo 43 check character.
You see: Invalid format for GS1 GTIN or incorrect Modulo 10 check digit.
The two check characters of a GS1 Basic UDI-DI, computed as the GS1 General Specifications define them. Letter case counts: a and A are different characters.
You see: The cell, and the correct check characters.
Identifiers stored as numbers, which lose their leading zeros in Excel.
You see: The cell, and how to re-enter the code as text.
Every UDI-DI points to a Basic UDI-DI on sheet 1, every Basic UDI-DI has a UDI-DI, and every child row points to a row that exists.
You see: The row, the code that was not found, and the codes that do exist.
The same Basic UDI-DI or UDI-DI twice in one workbook.
You see: Duplicate. First occurrence at row 7.
Classes that do not belong to the regulation, and combinations that do not fit: tissues or blood derivatives below Class III, companion diagnostics below Class C, Class I devices marked implantable.
You see: An error, or a warning where a combination is only unusual.
Whether the risk class needs a notified body certificate, and whether its type and notified body number are given.
You see: The certificate detail that is missing.
Countries, languages, storage conditions, critical warnings, clinical size units and other values from the EUDAMED XSD enumerations.
You see: The value that is not on the list.
Actor registration numbers in the form CC-TT-NNNNNNNNN.
You see: An error, or a warning that shows exactly how a short number will be sent.
For MDD, AIMDD and IVDD devices: the EUDAMED DI and EUDAMED ID built the way the Commission specifies, and one UDI-DI per EUDAMED DI.
You see: The exact code the device should have.
XML is written only when no errors remain, validated against the pinned EUDAMED XSD and split at 300 devices per file.
You see: Files for Bulk upload, in upload order.
You work in the browser and install nothing. The checks and the XML run on our server, and the workbook is deleted when the check ends.
Severity, sheet, cell, field and a plain message that says what to fix, for each finding. The full list exports to CSV.
Each file names the EUDAMED service to choose. Production files follow XSD 3.0.30.
The XSD’s limit, applied for you.
Seven services, five legislations, official values as drop-downs.
The download opens once you confirm the warnings. We record who confirmed them and when.
For MDD, AIMDD and IVDD devices the report states the exact EUDAMED DI and EUDAMED ID to use.
The workbook is deleted when the check ends, the XML files and the report after 7 days or when you delete them. As proof of what was sent we keep the fingerprints and the EUDAMED answers you add, not the device values from your workbook. We never send anything to EUDAMED.
Templates and checks are built from the XSDs, data dictionaries and business-rule documents the Commission publishes for EUDAMED. The schema files are pinned by checksum, so a changed file cannot slip in unnoticed.
More than 2,000 automated tests, the schema checks and the Commission’s sample files run on every change to the code.
Changes to the service are logged with their reason and the evidence that they work.
You can, and for a few devices it is the simplest route. The Commission’s own tip is the user interface for up to 100 devices, XML bulk upload for 100 to 1,000, and machine-to-machine exchange above that.7 eudaflow prepares the files for the bulk upload route.
Bulk upload. eudaflow writes the XML files, and you upload them in EUDAMED under Data transfer → Bulk upload.5 It does not connect to EUDAMED through an eDelivery access point, so there is no machine-to-machine exchange.
Your workbook is processed on our server and deleted as soon as the check ends. The XML files and the report stay for 7 days so you can download them, then they are deleted automatically; you can also delete them at once. For ten years we keep the fingerprints (SHA-256) of the workbook and the files, who confirmed the warnings and the EUDAMED answers you add, as proof of what was sent. We do not keep the device values from your workbook. We keep your account details: name, email, company and SRN. The service runs on Railway and the website on Vercel. We never send anything to EUDAMED.
Production files are checked against EUDAMED XSD 3.0.30 and Playground files against 3.0.32, the versions the Commission publishes today.4 The schema files are pinned by checksum, so the service only uses files that have been reviewed. A new version goes through the same steps (new files, a new pin, the full test run) before any XML is generated against it.
Legacy devices under the MDD, AIMDD or IVDD that were placed on the market before 28 May 2026 and are still being placed on it must be registered by 28 November 2026, unless the corresponding MDR or IVDR device is already registered in EUDAMED.2 Devices placed on the market for the first time from 28 May 2026 must be registered before they are placed on the market.8 No registration is needed for devices no longer placed on the market by 28 May 2026 (unless a vigilance report concerns them), or for custom-made and investigational devices.9 eudaflow handles legacy devices in five of its seven services and tells you the exact EUDAMED DI each one should have.
Yes, and the legacy directives MDD, AIMDD and IVDD. Risk classes are checked against the regulation of the template: Class I to III under the MDR, Class A to D under the IVDR.
You do. eudaflow never sends anything to EUDAMED. The output page lists the files in upload order and names the EUDAMED service to choose for each. When a file holds several devices, EUDAMED processes each one separately, so a response can mix accepted and rejected devices; you then resubmit only the rejected ones.5
The checks and the XML take seconds: in our latest bulk test, 301 devices were validated and written in 3.5 seconds.6 Because EUDAMED accepts at most 300 devices per file, 1,000 UDI-DIs become at least four files. Most of the time goes into your data: filling in the template and fixing what the report lists.
It depends on how many UDI-DIs you register and which package you pick, so we quote after two questions (the form below). You can try the service before paying anything: a free account covers 10 UDI-DIs in the Playground.
EUDAMED answers for each device separately, so you fix and resend only the rejected ones.5 If we prepared the files for you (Done for you), the fix is on us, at no extra cost.
Two questions about your devices, then where to send the quote. If you like, we check your file for free first.