The first page of the document DocMake makes from the sample values on this page.
Compliance
8D Report
An 8D report is a problem solving record in eight numbered disciplines, developed at Ford and now the format most automotive customers expect back when they raise a quality concern. It runs a team, a problem description, interim containment, root cause and escape point, chosen permanent corrective actions, their implementation and validation, prevention of recurrence, and closure, with a D0 in front for the immediate response taken before a team even exists.
8D is a method, not a standard, and the discipline titles vary between publishers, so a sensible template fixes the numbering and treats the titles as data. What is not variable is the customer's clock. Ford's customer specific requirements for IATF 16949 ask for a response within 24 hours with containment in place and certified stock flowing, D0 through D3 delivered at that point, and the report with preliminary or verified root cause inside fifteen calendar days. Every other deadline you have seen quoted belongs to some particular customer; check your own agreement rather than trusting a number from a blog.
D4 is where the report earns its keep, which is why the analysis here splits into three legs. The occurrence leg asks why the defect was produced. The detection leg asks why the control system did not catch it, and points at the escape point, the earliest control that should have found the problem and did not. The systemic leg asks why the management system permitted both. Reports that answer only the first leg are the ones that come back from the customer with questions attached.
Each discipline records who owned it and when it closed, and D5 and D6 want evidence rather than intentions: what was verified, by what method, against what result. A supplier filing into a customer portal is often producing several of these a month, in German or Romanian as well as English, against the same underlying investigation. That is a generation problem rather than a writing problem, and it is solved by keeping one record and rendering it, not by maintaining parallel documents in three languages.
Blanks to fill
| report_number | Report number |
| revision | Revision |
| status | Status |
| opened_date | Opened |
| customer | Customer |
| customer_reference | Their reference |
| supplier | Supplier |
| supplier_code | Supplier code |
| part_number | Part number |
| part_description | Part description |
| response_due | Answer due |
| champion | Champion |
| d0_symptom | The symptom |
| d0_emergency_response | The first response |
| d0_date | Date of the first response |
| d2_problem_statement | What the problem is |
| escape_point | Escape point |
| d8_closure_statement | Closing statement |
| d8_recognition | Recognition |
| customer_acceptance | Customer acceptance |
| closed_by | Closed by |
| closed_date | Date closed |
| team[] | One per item, so a row is added for every item in the list |
| problem_specification[] | One per item, so a row is added for every item in the list |
| containment[] | One per item, so a row is added for every item in the list |
| root_causes[] | One per item, so a row is added for every item in the list |
| permanent_actions[] | One per item, so a row is added for every item in the list |
| prevention[] | 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.
- 01 Sign up free and duplicate this template into your workspace.
- 02 Adjust the wording and branding in the visual editor.
- 03 Fill it in the app, share it as a form link, or call the API.
{
"report_number": "8D-2026-0042",
"revision": "3",
"status": "Closed, accepted by the customer",
"customer": "Globex Industries, Ingolstadt plant",
"customer_reference": "Quality reject QR-88214",
"supplier": "Northwind Instruments SRL",
"supplier_code": "GLX-RO-4417",
"part_number": "NI-6620",
"part_description": "Sensor cable assembly, 1.8 m, sealed connector both ends",
"opened_date": "June 22, 2026",
"response_due": "Initial response June 23, full report July 7, 2026",
"champion": "Anca Marin, Quality Manager",
"d0_symptom": "Twelve sensor cable assemblies failed continuity at the customer end of line test with an intermittent open circuit at the crimp end of the connector. All twelve came from deliveries made between June 8 and June 18.",
"d0_emergency_response": "Shipments of NI-6620 stopped the same day. A certified stock arrangement was put in place from existing finished goods that had passed a 100 percent pull test, so the customer line was not stopped. The customer was notified within four hours of the reject being raised.",
"d0_date": "June 22, 2026",
"team": [
{
"name": "Anca Marin",
"function": "Quality",
"role": "Champion, approves closure"
},
{
"name": "Radu Ilies",
"function": "Manufacturing engineering",
"role": "Team leader"
},
{
"name": "Dana Kovacs",
"function": "Quality engineering",
"role": "Data, measurement, containment sorting"
},
{
"name": "Tomas Reiner",
"function": "Maintenance",
"role": "Crimp tooling and press setup"
},
{
"name": "Sanne Kuipers",
"function": "Production",
"role": "Operator practice and shift handover"
},
{
"name": "Elena Fischer",
"function": "Supplier quality at Globex Industries",
"role": "Customer representative"
}
],
"d2_problem_statement": "Since the June 8 build, NI-6620 assemblies show an intermittent open circuit at the connector A crimp under vibration and thermal cycling. Twelve failures in 4,180 pieces delivered, all traced to crimp station operation 40 on the second shift.",
"problem_specification": [
{
"dimension": "What",
"is": "Open circuit at connector A crimp, conductor pulls out of the barrel under load",
"is_not": "Connector B crimp, cable insulation, over-mould, or the sensor element itself",
"distinction": "Connector A is crimped at operation 40; connector B is crimped at operation 55 on a different press"
},
{
"dimension": "Where",
"is": "Detected at the customer end of line test in Ingolstadt",
"is_not": "Detected at our own end of line continuity test before dispatch",
"distinction": "Our test is static and at room temperature; the customer test runs after a thermal soak"
},
{
"dimension": "When",
"is": "Assemblies built from June 8 onwards, second shift only",
"is_not": "Builds before June 8, or any first shift build in the same period",
"distinction": "The crimp die at operation 40 was replaced on June 5 and the second shift ran a different setup sheet revision"
},
{
"dimension": "How big",
"is": "12 failures in 4,180 delivered, 2,870 ppm",
"is_not": "A steady background rate, the historic level is under 200 ppm",
"distinction": "The rate steps up rather than drifting, which points at a change rather than at wear"
}
],
"containment": [
{
"action": "Stop shipment of NI-6620 and quarantine finished goods",
"quantity": "1,940 pieces in finished goods",
"owner": "Dana Kovacs",
"in_place": "June 22, 2026",
"verification": "Stock record blocked, cage sealed and photographed"
},
{
"action": "100 percent pull test to 60 N on all quarantined and in transit stock",
"quantity": "1,940 in stock plus 620 in transit",
"owner": "Dana Kovacs",
"in_place": "June 23, 2026",
"verification": "Sort record SORT-2026-0088, 47 pieces rejected, remainder released as certified stock"
},
{
"action": "Sort at the customer plant by a third party",
"quantity": "3,110 pieces at Globex Industries",
"owner": "Elena Fischer with the sorting provider",
"in_place": "June 24, 2026",
"verification": "Daily sort reports to Globex Industries, 9 further pieces rejected, sort closed July 3"
},
{
"action": "Add a thermal soak plus pull test to the outgoing check until the permanent action is validated",
"quantity": "Every lot",
"owner": "Radu Ilies",
"in_place": "June 25, 2026",
"verification": "Outgoing check sheet revision B, reviewed daily by quality"
}
],
"root_causes": [
{
"leg": "Occurrence",
"analysis": "Conductor pulls out of the crimp barrel. Why? Crimp height ran 0.06 mm above the setting. Why? The press was set from the setup sheet without a crimp height study. Why? The die was replaced on June 5 with an identical part number. Why? A like for like die swap is treated as maintenance, not as a process change.",
"root_cause": "The replacement die had a different effective anvil height within its drawing tolerance, and the press was returned to production on the old setting because no crimp height study was run after the swap.",
"verification": "Crimp height measured on retained samples from both dies. Cross sections show an under compressed barrel on the June builds. Reinstating the old die and re-running the study reproduced and then removed the defect."
},
{
"leg": "Detection",
"analysis": "Bad crimps reached the customer. Why? The outgoing continuity test passes an under compressed crimp. Why? It is static and at room temperature. Why? The pull test that would find it runs one piece per 500 at start of shift only. Why? The sample plan was written for a stable process and never revisited after the line speed doubled.",
"root_cause": "The pull test sample plan at operation 40 could not detect a drift starting mid shift, so the escape went undetected for ten working days.",
"verification": "Replaying the June records against the new sample plan would have flagged the drift on the second shift of June 9."
},
{
"leg": "Systemic",
"analysis": "No trigger existed. Why? Tooling replaced with the same part number is not treated as a change. Why? The change control procedure lists design and material changes only. Why? It was written before the crimp cell was installed and never extended. Why? Procedure review is annual and by owner, with no trigger from new process equipment.",
"root_cause": "The change control procedure does not require requalification when tooling is replaced like for like, and nothing in the procedure lifecycle would have caught the gap.",
"verification": "Reviewed against the last three years of tooling swaps. Two earlier swaps had also gone unqualified, neither with a detected consequence."
}
],
"escape_point": "Pull test at crimp station operation 40. It is the earliest control that should have detected an under compressed crimp and did not, because the sample plan only checked at start of shift.",
"permanent_actions": [
{
"action": "Require a crimp height study and a pull test qualification after any die change, including like for like replacement, before the press returns to production",
"addresses": "Occurrence",
"owner": "Radu Ilies",
"verification": "Trial on a planned die change on June 30 detected a 0.04 mm shift that the old process would have passed",
"implemented_on": "July 2, 2026",
"validation": "Four die changes since, all with a study on file, zero crimp height deviations at the following audit"
},
{
"action": "Fit in process crimp force monitoring on the operation 40 press with automatic stop outside the window",
"addresses": "Occurrence and detection",
"owner": "Tomas Reiner",
"verification": "Monitor validated by deliberately running 0.05 mm high on scrap material; the press stopped on the third piece",
"implemented_on": "July 14, 2026",
"validation": "Force traces retained per lot, three genuine stops since, all confirmed as real deviations"
},
{
"action": "Revise the pull test sample plan to one piece per 100 with a check at every setup, break and shift change",
"addresses": "Detection",
"owner": "Dana Kovacs",
"verification": "Sample plan reviewed against the June failure timeline and shown to detect the drift within one shift",
"implemented_on": "July 6, 2026",
"validation": "Applied since July 6, records reviewed weekly, no missed check in eight weeks"
},
{
"action": "Extend the change control procedure to cover tooling replacement and add a requalification trigger",
"addresses": "Systemic",
"owner": "Anca Marin",
"verification": "Draft reviewed against the two earlier unqualified swaps, both would have been caught",
"implemented_on": "July 20, 2026",
"validation": "PR-QMS-011 revision 4 released and briefed to maintenance and engineering, training records on file"
}
],
"prevention": [
{
"action": "Add die replacement as a trigger in the process FMEA and raise the detection ranking for crimp height",
"document": "PFMEA-6620 revision 6",
"owner": "Radu Ilies",
"date": "July 21, 2026"
},
{
"action": "Add crimp force monitoring and the revised sample plan to the control plan",
"document": "CP-6620 revision 5",
"owner": "Radu Ilies",
"date": "July 21, 2026"
},
{
"action": "Read across to the four other crimped assemblies on the same press family",
"document": "Read across record RA-2026-0117",
"owner": "Dana Kovacs",
"date": "July 28, 2026"
},
{
"action": "Add the die change requalification step to the operator and setter training matrix",
"document": "Training matrix TM-PROD-02",
"owner": "Sanne Kuipers",
"date": "August 4, 2026"
}
],
"d8_closure_statement": "Containment removed on July 24, 2026 after three consecutive weeks of clean deliveries with force monitoring active. No further failures reported by the customer. Effectiveness will be reviewed again at ninety days.",
"d8_recognition": "The team was recognised at the August plant meeting. Tomas Reiner specified and installed the force monitoring inside two weeks against a six week quote, which is the reason containment came off when it did.",
"closed_by": "Anca Marin, Quality Manager",
"closed_date": "August 6, 2026",
"customer_acceptance": "Accepted by Elena Fischer, Supplier Quality, Globex Industries, on August 11, 2026, with a ninety day effectiveness review scheduled for October 22, 2026."
} 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.
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 8d-report.pdf \
--data-binary @- <<'JSON'
{
"template_id": "tmpl_your_template_id",
"format": "pdf",
"data": {
"report_number": "8D-2026-0042",
"revision": "3",
"status": "Closed, accepted by the customer",
"customer": "Globex Industries, Ingolstadt plant",
"customer_reference": "Quality reject QR-88214",
"supplier": "Northwind Instruments SRL",
"supplier_code": "GLX-RO-4417",
"part_number": "NI-6620",
"part_description": "Sensor cable assembly, 1.8 m, sealed connector both ends",
"opened_date": "June 22, 2026",
"response_due": "Initial response June 23, full report July 7, 2026",
"champion": "Anca Marin, Quality Manager",
"d0_symptom": "Twelve sensor cable assemblies failed continuity at the customer end of line test with an intermittent open circuit at the crimp end of the connector. All twelve came from deliveries made between June 8 and June 18.",
"d0_emergency_response": "Shipments of NI-6620 stopped the same day. A certified stock arrangement was put in place from existing finished goods that had passed a 100 percent pull test, so the customer line was not stopped. The customer was notified within four hours of the reject being raised.",
"d0_date": "June 22, 2026",
"team": [
{
"name": "Anca Marin",
"function": "Quality",
"role": "Champion, approves closure"
},
{
"name": "Radu Ilies",
"function": "Manufacturing engineering",
"role": "Team leader"
},
{
"name": "Dana Kovacs",
"function": "Quality engineering",
"role": "Data, measurement, containment sorting"
},
{
"name": "Tomas Reiner",
"function": "Maintenance",
"role": "Crimp tooling and press setup"
},
{
"name": "Sanne Kuipers",
"function": "Production",
"role": "Operator practice and shift handover"
},
{
"name": "Elena Fischer",
"function": "Supplier quality at Globex Industries",
"role": "Customer representative"
}
],
"d2_problem_statement": "Since the June 8 build, NI-6620 assemblies show an intermittent open circuit at the connector A crimp under vibration and thermal cycling. Twelve failures in 4,180 pieces delivered, all traced to crimp station operation 40 on the second shift.",
"problem_specification": [
{
"dimension": "What",
"is": "Open circuit at connector A crimp, conductor pulls out of the barrel under load",
"is_not": "Connector B crimp, cable insulation, over-mould, or the sensor element itself",
"distinction": "Connector A is crimped at operation 40; connector B is crimped at operation 55 on a different press"
},
{
"dimension": "Where",
"is": "Detected at the customer end of line test in Ingolstadt",
"is_not": "Detected at our own end of line continuity test before dispatch",
"distinction": "Our test is static and at room temperature; the customer test runs after a thermal soak"
},
{
"dimension": "When",
"is": "Assemblies built from June 8 onwards, second shift only",
"is_not": "Builds before June 8, or any first shift build in the same period",
"distinction": "The crimp die at operation 40 was replaced on June 5 and the second shift ran a different setup sheet revision"
},
{
"dimension": "How big",
"is": "12 failures in 4,180 delivered, 2,870 ppm",
"is_not": "A steady background rate, the historic level is under 200 ppm",
"distinction": "The rate steps up rather than drifting, which points at a change rather than at wear"
}
],
"containment": [
{
"action": "Stop shipment of NI-6620 and quarantine finished goods",
"quantity": "1,940 pieces in finished goods",
"owner": "Dana Kovacs",
"in_place": "June 22, 2026",
"verification": "Stock record blocked, cage sealed and photographed"
},
{
"action": "100 percent pull test to 60 N on all quarantined and in transit stock",
"quantity": "1,940 in stock plus 620 in transit",
"owner": "Dana Kovacs",
"in_place": "June 23, 2026",
"verification": "Sort record SORT-2026-0088, 47 pieces rejected, remainder released as certified stock"
},
{
"action": "Sort at the customer plant by a third party",
"quantity": "3,110 pieces at Globex Industries",
"owner": "Elena Fischer with the sorting provider",
"in_place": "June 24, 2026",
"verification": "Daily sort reports to Globex Industries, 9 further pieces rejected, sort closed July 3"
},
{
"action": "Add a thermal soak plus pull test to the outgoing check until the permanent action is validated",
"quantity": "Every lot",
"owner": "Radu Ilies",
"in_place": "June 25, 2026",
"verification": "Outgoing check sheet revision B, reviewed daily by quality"
}
],
"root_causes": [
{
"leg": "Occurrence",
"analysis": "Conductor pulls out of the crimp barrel. Why? Crimp height ran 0.06 mm above the setting. Why? The press was set from the setup sheet without a crimp height study. Why? The die was replaced on June 5 with an identical part number. Why? A like for like die swap is treated as maintenance, not as a process change.",
"root_cause": "The replacement die had a different effective anvil height within its drawing tolerance, and the press was returned to production on the old setting because no crimp height study was run after the swap.",
"verification": "Crimp height measured on retained samples from both dies. Cross sections show an under compressed barrel on the June builds. Reinstating the old die and re-running the study reproduced and then removed the defect."
},
{
"leg": "Detection",
"analysis": "Bad crimps reached the customer. Why? The outgoing continuity test passes an under compressed crimp. Why? It is static and at room temperature. Why? The pull test that would find it runs one piece per 500 at start of shift only. Why? The sample plan was written for a stable process and never revisited after the line speed doubled.",
"root_cause": "The pull test sample plan at operation 40 could not detect a drift starting mid shift, so the escape went undetected for ten working days.",
"verification": "Replaying the June records against the new sample plan would have flagged the drift on the second shift of June 9."
},
{
"leg": "Systemic",
"analysis": "No trigger existed. Why? Tooling replaced with the same part number is not treated as a change. Why? The change control procedure lists design and material changes only. Why? It was written before the crimp cell was installed and never extended. Why? Procedure review is annual and by owner, with no trigger from new process equipment.",
"root_cause": "The change control procedure does not require requalification when tooling is replaced like for like, and nothing in the procedure lifecycle would have caught the gap.",
"verification": "Reviewed against the last three years of tooling swaps. Two earlier swaps had also gone unqualified, neither with a detected consequence."
}
],
"escape_point": "Pull test at crimp station operation 40. It is the earliest control that should have detected an under compressed crimp and did not, because the sample plan only checked at start of shift.",
"permanent_actions": [
{
"action": "Require a crimp height study and a pull test qualification after any die change, including like for like replacement, before the press returns to production",
"addresses": "Occurrence",
"owner": "Radu Ilies",
"verification": "Trial on a planned die change on June 30 detected a 0.04 mm shift that the old process would have passed",
"implemented_on": "July 2, 2026",
"validation": "Four die changes since, all with a study on file, zero crimp height deviations at the following audit"
},
{
"action": "Fit in process crimp force monitoring on the operation 40 press with automatic stop outside the window",
"addresses": "Occurrence and detection",
"owner": "Tomas Reiner",
"verification": "Monitor validated by deliberately running 0.05 mm high on scrap material; the press stopped on the third piece",
"implemented_on": "July 14, 2026",
"validation": "Force traces retained per lot, three genuine stops since, all confirmed as real deviations"
},
{
"action": "Revise the pull test sample plan to one piece per 100 with a check at every setup, break and shift change",
"addresses": "Detection",
"owner": "Dana Kovacs",
"verification": "Sample plan reviewed against the June failure timeline and shown to detect the drift within one shift",
"implemented_on": "July 6, 2026",
"validation": "Applied since July 6, records reviewed weekly, no missed check in eight weeks"
},
{
"action": "Extend the change control procedure to cover tooling replacement and add a requalification trigger",
"addresses": "Systemic",
"owner": "Anca Marin",
"verification": "Draft reviewed against the two earlier unqualified swaps, both would have been caught",
"implemented_on": "July 20, 2026",
"validation": "PR-QMS-011 revision 4 released and briefed to maintenance and engineering, training records on file"
}
],
"prevention": [
{
"action": "Add die replacement as a trigger in the process FMEA and raise the detection ranking for crimp height",
"document": "PFMEA-6620 revision 6",
"owner": "Radu Ilies",
"date": "July 21, 2026"
},
{
"action": "Add crimp force monitoring and the revised sample plan to the control plan",
"document": "CP-6620 revision 5",
"owner": "Radu Ilies",
"date": "July 21, 2026"
},
{
"action": "Read across to the four other crimped assemblies on the same press family",
"document": "Read across record RA-2026-0117",
"owner": "Dana Kovacs",
"date": "July 28, 2026"
},
{
"action": "Add the die change requalification step to the operator and setter training matrix",
"document": "Training matrix TM-PROD-02",
"owner": "Sanne Kuipers",
"date": "August 4, 2026"
}
],
"d8_closure_statement": "Containment removed on July 24, 2026 after three consecutive weeks of clean deliveries with force monitoring active. No further failures reported by the customer. Effectiveness will be reviewed again at ninety days.",
"d8_recognition": "The team was recognised at the August plant meeting. Tomas Reiner specified and installed the force monitoring inside two weeks against a six week quote, which is the reason containment came off when it did.",
"closed_by": "Anca Marin, Quality Manager",
"closed_date": "August 6, 2026",
"customer_acceptance": "Accepted by Elena Fischer, Supplier Quality, Globex Industries, on August 11, 2026, with a ninety day effectiveness review scheduled for October 22, 2026."
}
}
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 8D Report template with report number "8D-2026-0042" and revision "3".
More compliance templates
Calibration Certificate
As found and as left readings with the uncertainty at every point, the standards they are traceable to, and the rule used to pass them.
View template →Corrective Action Report
What went wrong, why it happened, the actions with an owner and a date, and the check that proves it worked.
View template →Equipment Inspection Report
A periodic examination: what was checked and how, the readings against their limits, the defects graded with a date, and the verdict.
View template →