---
url: https://www.qualityweb360.com/tools/iso-9001-quality-objectives-planner/
title: "ISO 9001 Quality Objectives Planner"
language: en
kind: tool
generated: 2026-10-20T17:24:35Z
source: https://www.qualityweb360.com/
---

# ISO 9001 Quality Objectives Planner

- [Home](https://www.qualityweb360.com)
- [Tools](https://www.qualityweb360.com/tools/)
- ISO 9001 Quality Objectives Planner

# ISO 9001 Quality Objectives Planner

# Free tool — ISO 9001 Quality Management

## ISO 9001 Quality Objectives Planner

Answer 12 questions and walk away with quality objectives that are written, measurable and backed by the plan clause 6.2.2 asks for. Six minutes, PDF included, free.

6 min

to complete

5–8

objectives generated

PDF

instant report

ISO 9001 Quality Objectives Planner

1

Policy

2

Context

3

Priorities

4

Baseline

5

Your plan

Step 1 of 5

Your quality policy

Objectives must be consistent with the policy (clause 6.2.1 a). Paste yours and the planner will use it as an anchor. If you do not have one yet, that is fine.

Paste your quality policy here

I do not have a written quality policy yet Next

Your context

Three data points so the objectives fit your reality.

Industry  — Manufacturing &amp; Industrial ProductionFood &amp; BeverageHealthcare &amp; Life SciencesConstruction &amp; EngineeringTechnology &amp; SoftwareProfessional Services &amp; ConsultingLogistics, Transportation &amp; Supply ChainEnergy &amp; EnvironmentEducation, Training &amp; CertificationGovernment &amp; Public SectorCommerce &amp; ServicesOther / Not applicableThis field is required

Number of employees This field is required

Where does your system stand?  Implementing the systemAlready certifiedPreparing recertification

Back Next

Your priorities

Pick exactly 3. These become your measurable objectives.

Reduce customer complaints and returns Number of complaints and returns received    Meet on-time delivery On-time delivery rate (OTD)    Cut rework and scrap Percentage of product reworked or scrapped    Shorten customer response times Average response time    Close nonconformities within the deadline Percentage of nonconformities closed on time    Improve supplier performance Percentage of suppliers meeting the evaluation criteria    Train your people on the management system Percentage of staff trained and assessed    Cut the cost of poor quality Cost of poor quality in the period

Selected: 0 of 3

Pick exactly 3 priorities

Back Next

Where you are and where you want to get

Enter your current value for each indicator. If you do not measure it today, tick the box: the planner will first generate the objective of establishing the measurement, which is what an auditor accepts.

How ambitious do you want to be?

Conservative 10% improvement over your baseline    Moderate 20% improvement over your baseline    Aggressive 35% improvement over your baseline

Over what horizon?  6 months12 months18 months

Back Next

Your objectives plan

Leave your details and we will show the full objectives with their clause 6.2.2 plan, plus the downloadable PDF.

First name This field is required

Last name This field is required

Work email Enter a valid email

Company This field is required

Back Build my objectives

Your quality objectives

Where you are vs. where you are going

Download the PDF [See how they are managed inside QualityWeb 360](https://www.qualityweb360.com/demo-request/)

' + '' + p.ind + (unitSuffix(p.unit) ? ' (' + unitSuffix(p.unit) + ')' : '') + '

' + '' + '' + T.baseline + '' + '' + '' + T.badnum + '

' + '' + ' ' + T.notmeasured + '

'; box.appendChild(row); }); els('.cq-nm-inp').forEach(function (c) { c.addEventListener('change', function () { var inp = el('.cq-base-inp[data-k="' + c.dataset.k + '"]'); inp.disabled = c.checked; if (c.checked) { inp.value = ''; markErr(inp, false); } }); }); } els('.cq-amb-o').forEach(function (o) { o.addEventListener('click', function () { els('.cq-amb-o').forEach(function (x) { x.classList.remove('sel'); }); o.classList.add('sel'); o.querySelector('input').checked = true; }); }); /* ── motor: calcular meta y construir objetivos ── */ function wrapLabel(txt, max) { var words = String(txt).split(' '), lines = [], cur = ''; words.forEach(function (w) { if ((cur + ' ' + w).trim().length &gt; max) { if (cur) lines.push(cur); cur = w; } else { cur = (cur + ' ' + w).trim(); } }); if (cur) lines.push(cur); return lines.slice(0, 3); } function fmtVal(v, u) { if (u === '%') return (Math.round(v * 10) / 10) + '%'; if (u === 'd') return (Math.round(v * 10) / 10) + ' ' + unitSuffix('d'); return Math.round(v).toLocaleString(LANG === 'en' ? 'en-US' : (LANG === 'it' ? 'it-IT' : 'es-MX')); } function targetFor(base, dir, unit, pct) { if (dir === 'down') return Math.max(0, base * (1 - pct)); if (unit === '%') return Math.min(99, base + (100 - base) * pct); // acercarse al 100, nunca prometerlo return base * (1 + pct); } function deadline(months) { var d = new Date(); d.setMonth(d.getMonth() + months); var loc = LANG === 'en' ? 'en-US' : (LANG === 'it' ? 'it-IT' : 'es-MX'); return d.toLocaleDateString(loc, { month: 'long', year: 'numeric' }); } function buildObjectives() { var amb = (el('input[name="' + UID + '-amb"]:checked') || {}).value || 'mod'; var pct = PCT[amb]; var mon = +byId('-horizon').value; var dl = deadline(mon); var objs = []; selected().forEach(function (k) { var p = PRI[k]; var nm = el('.cq-nm-inp[data-k="' + k + '"]').checked; if (nm) { objs.push({ key: k, toMeasure: true, statement: T.measure_first + ': ' + p.ind.charAt(0).toLowerCase() + p.ind.slice(1), indicator: p.ind, formula: p.formula, baseline: '—', target: '—', owner: p.owner, freq: p.freq, deadline: dl, anchor: p.anchor, plan: { what: p.what, res: p.res, who: p.who, when: dl, how: p.how } }); return; } var base = +el('.cq-base-inp[data-k="' + k + '"]').value; var tgt = targetFor(base, p.dir, p.unit, pct); objs.push({ key: k, toMeasure: false, statement: p.label + ': ' + fmtVal(base, p.unit) + ' → ' + fmtVal(tgt, p.unit), indicator: p.ind, formula: p.formula, baseline: fmtVal(base, p.unit), target: fmtVal(tgt, p.unit), baseNum: base, targetNum: tgt, unit: p.unit, owner: p.owner, freq: p.freq, deadline: dl, anchor: p.anchor, plan: { what: p.what, res: p.res, who: p.who, when: dl, how: p.how } }); }); SYS.forEach(function (s) { objs.push({ key: 'sys', toMeasure: false, system: true, statement: s.statement, indicator: s.ind, formula: s.formula, baseline: '—', target: s.target, owner: s.owner, freq: s.freq, deadline: dl, anchor: s.anchor, plan: { what: s.what, res: s.res, who: s.who, when: dl, how: s.how } }); }); return objs; } /* ── política: buscar compromisos huérfanos ── */ function orphanCommitments(objs) { var txt = (byId('-policy').value || '').toLowerCase(); if (!txt.trim()) return []; var used = objs.map(function (o) { return (o.anchor || '').toLowerCase(); }); var themes = { es: { 'satisfacción del cliente': ['cliente', 'satisfac'], 'mejora continua': ['mejora'], 'competencia del personal': ['personal', 'competen', 'capacit'], 'cumplimiento legal': ['legal', 'reglament', 'normativ'] }, en: { 'customer satisfaction': ['customer', 'satisfac'], 'continual improvement': ['improv'], 'competence of people': ['people', 'competen', 'train'], 'legal compliance': ['legal', 'regulat', 'complian'] }, it: { 'soddisfazione del cliente': ['cliente', 'soddisfaz'], 'miglioramento continuo': ['miglior'], 'competenza del personale': ['personale', 'competen', 'formaz'], 'conformità cogente': ['cogent', 'legal', 'normativ'] } }[LANG]; var out = []; Object.keys(themes).forEach(function (label) { var mentioned = themes[label].some(function (w) { return txt.indexOf(w) !== -1; }); var covered = used.some(function (u) { return u.indexOf(label.split(' ')[0]) !== -1; }); if (mentioned &amp;&amp; !covered) out.push(label); }); return out; } /* ── pintar resultados ── */ function esc(s) { return String(s == null ? '' : s).replace(/[&amp;&lt;&gt;"]/g, function (c) { return ({ '&amp;': '&amp;', '&lt;': '&lt;', '&gt;': '&gt;', '"': '"' })[c]; }); } function render(objs) { byId('-ressub').textContent = T.res_sub.replace('%1$d', objs.length); var warn = byId('-warn'); warn.innerHTML = ''; if (byId('-nopolicy').checked || !(byId('-policy').value || '').trim()) { warn.innerHTML += '' + esc(T.nopolicy_warn) + '

'; } var orph = orphanCommitments(objs); if (orph.length) { warn.innerHTML += '' + esc(T.orphan_warn) + ' **' + orph.map(esc).join(' · ') + '**

'; } var html = ''; objs.forEach(function (o, i) { var ok = !o.toMeasure; html += '' + '' + (i + 1) + '' + '' + esc(o.statement) + '

' + '' + '' + esc(T.indicator) + '' + esc(o.indicator) + '

' + '' + esc(T.formula) + '' + esc(o.formula) + '

' + '' + esc(T.base) + '' + esc(o.baseline) + '

' + '' + esc(T.target) + '' + esc(o.target) + '

' + '' + esc(T.owner) + '' + esc(o.owner) + '

' + '' + esc(T.freq) + '' + esc(o.freq) + '

' + '' + esc(T.deadline) + '' + esc(o.deadline) + '

' + '' + esc(T.anchor) + '' + esc(o.anchor) + '

' + '

' + '' + esc(T.plan_title) + '

' + '' + esc(T.plan\_what) + '' + esc(o.plan.what) + '' + '' + esc(T.plan\_res) + '' + esc(o.plan.res) + '' + '' + esc(T.plan\_who) + '' + esc(o.plan.who) + '' + '' + esc(T.plan\_when) + '' + esc(o.plan.when) + '' + '' + esc(T.plan\_how) + '' + esc(o.plan.how) + '' + '

' + '' + '**' + esc(T.sem\_title) + ': ' + esc(ok ? T.sem\_ok : T.sem\_warn) + '** ' + esc(ok ? T.sem_ok_txt : T.sem_warn_txt) + '

' + '

'; }); byId('-objs').innerHTML = html; var chartable = objs.filter(function (o) { return !o.toMeasure &amp;&amp; !o.system &amp;&amp; typeof o.baseNum === 'number'; }); var cv = byId('-chart'); if (chartable.length &amp;&amp; typeof Chart !== 'undefined') { cv.parentElement.style.display = ''; if (window['_objChart_' + UID]) window['_objChart_' + UID].destroy(); window['_objChart_' + UID] = new Chart(cv.getContext('2d'), { type: 'bar', data: { labels: chartable.map(function (o) { return wrapLabel(PRI[o.key].label, 16); }), datasets: [ { label: T.chart_base, data: chartable.map(function (o) { return +o.baseNum.toFixed(2); }), backgroundColor: '#C8DDEF' }, { label: T.chart_target, data: chartable.map(function (o) { return +o.targetNum.toFixed(2); }), backgroundColor: '#0957c3' } ] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom' } }, scales: { x: { ticks: { autoSkip: false, maxRotation: 0, minRotation: 0, font: { size: 11 } }, grid: { display: false } }, y: { beginAtZero: true, ticks: { font: { size: 11 } } } } } }); } else { cv.parentElement.style.display = 'none'; } } /* ── envío ── */ byId('-go').addEventListener('click', function () { if (!validate(5)) return; var btn = byId('-go'), old = btn.textContent; btn.disabled = true; btn.textContent = T.sending; byId('-serr').style.display = 'none'; var objs = buildObjectives(); STATE.objectives = objs; var ambEl = el('input[name="' + UID + '-amb"]:checked'); var amb = ambEl ? ambEl.value : 'mod'; var payload = { lang: LANG, firstName: byId('-fname').value.trim(), lastName: byId('-lname').value.trim(), email: byId('-email').value.trim(), company: byId('-company').value.trim(), industry: byId('-industry').value, industryLabel: IND[byId('-industry').value] || '', employees: +byId('-employees').value, stage: byId('-stage').value, stageLabel: byId('-stage').options[byId('-stage').selectedIndex].text, horizon: +byId('-horizon').value, ambition: amb, ambitionLabel: T.ambitions[amb], hasPolicy: !byId('-nopolicy').checked &amp;&amp; !!(byId('-policy').value || '').trim(), objectives: objs.map(function (o) { return { statement: o.statement, indicator: o.indicator, baseline: o.baseline, target: o.target, owner: o.owner, toMeasure: !!o.toMeasure }; }) }; go(6); // el panel debe estar VISIBLE antes de crear la gráfica: render(objs); // con maintainAspectRatio:false, Chart.js no puede medir un contenedor oculto var fd = new FormData(); fd.append('action', 'obj_save_lead'); fd.append('nonce', NONCE); fd.append('payload', JSON.stringify(payload)); fetch(AJAX, { method: 'POST', body: fd }) .catch(function () { /* el usuario ya vio su plan; el CRM no bloquea la UI */ }) .finally(function () { btn.disabled = false; btn.textContent = old; }); }); /* ── PDF ── */ byId('-pdf').addEventListener('click', function () { if (!window.jspdf || !STATE.objectives.length) return; var doc = new window.jspdf.jsPDF({ unit: 'pt', format: 'a4' }); var W = doc.internal.pageSize.getWidth(), M = 40, y = 54; var line = function (txt, size, style, color) { doc.setFont('helvetica', style || 'normal'); doc.setFontSize(size || 10); doc.setTextColor.apply(doc, color || [40, 40, 40]); var parts = doc.splitTextToSize(txt, W - M * 2); parts.forEach(function (p) { if (y &gt; 780) { doc.addPage(); y = 54; } doc.text(p, M, y); y += (size || 10) + 4; }); }; doc.setFillColor(9, 87, 195); doc.rect(0, 0, W, 34, 'F'); doc.setTextColor(255, 255, 255); doc.setFont('helvetica', 'bold'); doc.setFontSize(13); doc.text(T.hdr, M, 22); y = 62; line(T.res_title, 15, 'bold', [9, 87, 195]); line(T.res_sub.replace('%1$d', STATE.objectives.length), 10, 'normal', [110, 110, 110]); y += 6; STATE.objectives.forEach(function (o, i) { y += 8; line((i + 1) + '. ' + o.statement, 11, 'bold', [20, 20, 20]); line(T.indicator + ': ' + o.indicator, 9); line(T.formula + ': ' + o.formula, 9); line(T.base + ': ' + o.baseline + ' ' + T.target + ': ' + o.target + ' ' + T.owner + ': ' + o.owner + ' ' + T.freq + ': ' + o.freq, 9); line(T.deadline + ': ' + o.deadline + ' ' + T.anchor + ': ' + o.anchor, 9); line(T.plan_title, 9, 'bold', [9, 87, 195]); line('• ' + T.plan_what + ': ' + o.plan.what, 9); line('• ' + T.plan_res + ': ' + o.plan.res, 9); line('• ' + T.plan_who + ': ' + o.plan.who, 9); line('• ' + T.plan_when + ': ' + o.plan.when, 9); line('• ' + T.plan_how + ': ' + o.plan.how, 9); }); y += 10; line('QualityWeb 360 — qualityweb360.com', 9, 'bold', [9, 87, 195]); doc.save('quality-objectives-' + LANG + '.pdf'); }); });

## What is a quality objective?

A measurable result your organization commits to in order to deliver on its quality policy. The standard requires it to be consistent with the policy, measurable, communicated and updated.

**A quality objective** is a measurable result your organization commits to in order to deliver on its quality policy. ISO 9001 requires it to be consistent with the policy, measurable, communicated and updated, and to carry a plan: what will be done, with what resources, who is responsible, when it will be completed and how results will be evaluated. **Without that plan, it is a wish, not an objective.**

##### Measurable, not aspirational

Every objective comes with its metric, its formula and its baseline. If you don't measure something, you start by measuring it.

##### With the 6.2.2 plan

What will be done, with what resources, who owns it, when it is due and how it is evaluated. The column auditors check first.

##### Consistent with your policy

Paste your quality policy and every objective is anchored to a commitment. If a commitment has no objective, it is flagged.

Want to see how objectives are managed inside a real system?

[ Request Demo → ](https://www.qualityweb360.com/demo-request/)

## What happens after you build them?

Objectives don't fail because they were badly worded. They fail because nobody looks at them until the audit. QualityWeb 360 is the orderly place where they live and update themselves.
