DocMake
The PDF DocMake makes from the EU Declaration of Conformity template

The first page of the document DocMake makes from the sample values on this page.

Compliance

EU Declaration of Conformity

An EU declaration of conformity is the manufacturer's own signed statement that a product meets the Union harmonisation legislation applying to it. It usually runs to a single page, and it is issued under the sole responsibility of the manufacturer, which is the phrase that makes the signature worth taking seriously.

The model itself is fixed. Annex III of Decision No 768/2008/EC sets out eight numbered items: the number identifying the product, the manufacturer or authorised representative, the sole responsibility statement, the object of the declaration in a form that allows traceability, the legislation the object conforms to, the harmonised standards or other specifications used, the notified body with its identification number and certificate where one was involved, and additional information, closing with place and date of issue, name, function and signature. The Blue Guide adds an instruction that shapes the data model: legislation and standards are referenced precisely, which means naming the version or date of the standard rather than the bare number.

Two structural facts decide the field list. Where several acts apply to one product a single declaration covers all of them, so legislation and standards belong in repeating rows rather than on fixed lines. And the declaration has to be provided in the languages the member state of sale requires, which makes this one of the few documents where producing the same content in several languages is the substance of the job rather than a convenience.

The structure is what this template gives you; the substance stays yours. Which acts apply to your product, which conformity assessment route to follow, whether a notified body is involved and how long the file is kept are questions for your technical documentation, your notified body and your own adviser. Treat every sample value below as a placeholder, standards included, and check the current Official Journal citation before a standard goes onto a real declaration. Ten years from placing on the market is the usual retention period, and some legislation sets a different one.

Blanks to fill

declaration_number Declaration number
product_name Product
product_model Model or type
product_identification Serial, batch or type covered
manufacturer_name Manufacturer
manufacturer_address Manufacturer address
representative_name Authorised representative
representative_address Representative address
responsibility_statement Sole responsibility statement
object_description Object of the declaration
conformity_statement Conformity statement
conformity_assessment_note Conformity assessment note
additional_information Additional information
signed_on_behalf_of Signed for and on behalf of
place_of_issue Place of issue
date_of_issue Date of issue
signatory_name Name of the signatory
signatory_function Function of the signatory
legislation[] One per item, so a row is added for every item in the list
standards[] One per item, so a row is added for every item in the list
notified_bodies[] One per item, so a row is added for every item in the list

The data behind the preview

This is the exact JSON that produced the document above. Change the values, POST them to the API, and you get your version back as DOCX or PDF. Lists grow and shrink with your data; the layout adapts.

  1. 01 Sign up free and duplicate this template into your workspace.
  2. 02 Adjust the wording and branding in the visual editor.
  3. 03 Fill it in the app, share it as a form link, or call the API.
sample-data.json
{
  "declaration_number": "DoC-NG410-2026-04",
  "manufacturer_name": "Northwind Instruments SRL",
  "manufacturer_address": "Str. Fabricii 118, 400632 Cluj-Napoca, Romania",
  "representative_name": "",
  "representative_address": "",
  "responsibility_statement": "This declaration of conformity is issued under the sole responsibility of the manufacturer.",
  "product_name": "Portable gas detector for potentially explosive atmospheres",
  "product_model": "NG-410",
  "product_identification": "All units from serial number NG410-26-0001 onwards",
  "object_description": "Portable four gas detector NG-410, battery powered, with an intrinsically safe sensor head and a charging cradle for use outside the hazardous area. Photograph at annex A.",
  "conformity_statement": "The object of the declaration described above is in conformity with the relevant Union harmonisation legislation listed below.",
  "legislation": [
    {
      "reference": "Directive 2014/34/EU",
      "title": "Equipment and protective systems intended for use in potentially explosive atmospheres"
    },
    {
      "reference": "Directive 2014/30/EU",
      "title": "Electromagnetic compatibility"
    },
    {
      "reference": "Directive 2011/65/EU",
      "title": "Restriction of the use of certain hazardous substances in electrical and electronic equipment"
    }
  ],
  "standards": [
    {
      "reference": "EN IEC 60079-0:2018",
      "title": "Explosive atmospheres, part 0, equipment, general requirements"
    },
    {
      "reference": "EN 60079-11:2012",
      "title": "Explosive atmospheres, part 11, equipment protection by intrinsic safety"
    },
    {
      "reference": "EN IEC 61326-1:2021",
      "title": "Electrical equipment for measurement, control and laboratory use, EMC requirements, part 1, general requirements"
    },
    {
      "reference": "EN IEC 63000:2018",
      "title": "Technical documentation for the assessment of electrical and electronic products with respect to the restriction of hazardous substances"
    }
  ],
  "notified_bodies": [
    {
      "name": "Certiva Notified Body SRL",
      "number": "9901",
      "intervention": "EU type examination, module B",
      "certificate": "CV 26 ATEX 0118, issued June 30, 2026"
    },
    {
      "name": "Certiva Notified Body SRL",
      "number": "9901",
      "intervention": "Production quality assurance, module D",
      "certificate": "CV 26 ATEXQ 0044, valid until June 29, 2029"
    }
  ],
  "conformity_assessment_note": "EU type examination under module B and production quality assurance under module D were carried out by the notified body below. Conformity with the electromagnetic compatibility and hazardous substances legislation was assessed by the manufacturer under internal production control.",
  "additional_information": "The technical documentation is held at the manufacturer's address above and is available to national market surveillance authorities on request. This declaration is issued in English; the versions supplied to other markets are made from the same record, so the identifiers, dates and references match line for line.",
  "signed_on_behalf_of": "Northwind Instruments SRL",
  "place_of_issue": "Cluj-Napoca, Romania",
  "date_of_issue": "August 24, 2026",
  "signatory_name": "Ioana Preda",
  "signatory_function": "Managing Director"
}

Generate this document via the API

One template plus changing data is the whole point. The list of blanks above is the contract, and every new set of values comes back in the same layout: fill it in the app, hand someone a form link, or POST the JSON and get the file straight back.

The request below carries this page's own values, so it runs as soon as the template exists in your workspace. Swap the values for yours and the response is your document.

make-eu-declaration-of-conformity.sh
curl -X POST https://app.docmake.io/api/v1/render \
  -H "Authorization: Bearer $DOCMAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  --output eu-declaration-of-conformity.pdf \
  --data-binary @- <<'JSON'
{
  "template_id": "tmpl_your_template_id",
  "format": "pdf",
  "data": {
    "declaration_number": "DoC-NG410-2026-04",
    "manufacturer_name": "Northwind Instruments SRL",
    "manufacturer_address": "Str. Fabricii 118, 400632 Cluj-Napoca, Romania",
    "representative_name": "",
    "representative_address": "",
    "responsibility_statement": "This declaration of conformity is issued under the sole responsibility of the manufacturer.",
    "product_name": "Portable gas detector for potentially explosive atmospheres",
    "product_model": "NG-410",
    "product_identification": "All units from serial number NG410-26-0001 onwards",
    "object_description": "Portable four gas detector NG-410, battery powered, with an intrinsically safe sensor head and a charging cradle for use outside the hazardous area. Photograph at annex A.",
    "conformity_statement": "The object of the declaration described above is in conformity with the relevant Union harmonisation legislation listed below.",
    "legislation": [
      {
        "reference": "Directive 2014/34/EU",
        "title": "Equipment and protective systems intended for use in potentially explosive atmospheres"
      },
      {
        "reference": "Directive 2014/30/EU",
        "title": "Electromagnetic compatibility"
      },
      {
        "reference": "Directive 2011/65/EU",
        "title": "Restriction of the use of certain hazardous substances in electrical and electronic equipment"
      }
    ],
    "standards": [
      {
        "reference": "EN IEC 60079-0:2018",
        "title": "Explosive atmospheres, part 0, equipment, general requirements"
      },
      {
        "reference": "EN 60079-11:2012",
        "title": "Explosive atmospheres, part 11, equipment protection by intrinsic safety"
      },
      {
        "reference": "EN IEC 61326-1:2021",
        "title": "Electrical equipment for measurement, control and laboratory use, EMC requirements, part 1, general requirements"
      },
      {
        "reference": "EN IEC 63000:2018",
        "title": "Technical documentation for the assessment of electrical and electronic products with respect to the restriction of hazardous substances"
      }
    ],
    "notified_bodies": [
      {
        "name": "Certiva Notified Body SRL",
        "number": "9901",
        "intervention": "EU type examination, module B",
        "certificate": "CV 26 ATEX 0118, issued June 30, 2026"
      },
      {
        "name": "Certiva Notified Body SRL",
        "number": "9901",
        "intervention": "Production quality assurance, module D",
        "certificate": "CV 26 ATEXQ 0044, valid until June 29, 2029"
      }
    ],
    "conformity_assessment_note": "EU type examination under module B and production quality assurance under module D were carried out by the notified body below. Conformity with the electromagnetic compatibility and hazardous substances legislation was assessed by the manufacturer under internal production control.",
    "additional_information": "The technical documentation is held at the manufacturer's address above and is available to national market surveillance authorities on request. This declaration is issued in English; the versions supplied to other markets are made from the same record, so the identifiers, dates and references match line for line.",
    "signed_on_behalf_of": "Northwind Instruments SRL",
    "place_of_issue": "Cluj-Napoca, Romania",
    "date_of_issue": "August 24, 2026",
    "signatory_name": "Ioana Preda",
    "signatory_function": "Managing Director"
  }
}
JSON

tmpl_your_template_id is a stand-in: build this template in the visual editor and copy the id it shows, or create one with POST /api/v1/templates. Keys, formats, strict mode and batches are in the API reference.

Or let an AI assistant do it

The DocMake MCP server lets Claude and other assistants make this document the same way. Install it once:

claude mcp add docmake \
  --env DOCMAKE_API_KEY=dm_your_api_key \
  -- npx -y @docmake/mcp@latest

Then ask for the document in plain words:

Make a PDF from my EU Declaration of Conformity template with declaration number "DoC-NG410-2026-04" and model or type "NG-410".

How the MCP server works →

More compliance templates