{"id":851,"date":"2026-05-07T08:00:19","date_gmt":"2026-05-07T08:00:19","guid":{"rendered":"https:\/\/masstechx.com\/?page_id=851"},"modified":"2026-05-07T08:01:16","modified_gmt":"2026-05-07T08:01:16","slug":"buyer-evaluation-checklist","status":"publish","type":"page","link":"https:\/\/masstechx.com\/fr\/water-filling-machine\/mineral-water-filling\/buyer-evaluation-checklist\/","title":{"rendered":"liste de contr\u00f4le d'\u00e9valuation des acheteurs"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-bd4575a\" data-block-id=\"bd4575a\"><style>.stk-bd4575a {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-bd4575a-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-b4a985a\" data-v=\"4\" data-block-id=\"b4a985a\"><style>.stk-b4a985a-container{margin-top:var(--stk--preset--spacing--50, 1.5rem) !important;margin-right:var(--stk--preset--spacing--50, 1.5rem) !important;margin-bottom:var(--stk--preset--spacing--50, 1.5rem) !important;margin-left:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-b4a985a-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-b4a985a-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-7e75ad1\" data-block-id=\"7e75ad1\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-7e75ad1-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-f1f5643\" data-v=\"4\" data-block-id=\"f1f5643\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-f1f5643-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-f1f5643-inner-blocks\">\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Filling Machine Buyer Evaluation Checklist | 7-Point Audit | Mass Technology<\/title>\n<meta name=\"description\" content=\"A 7-point evaluation checklist for any mineral water filling machine supplier. Score Pass, Marginal, or Fail across BPH ladder, spare parts SLA, engineer response, warranty, handoff, compliance docs, and reference deployments.\">\n<style>\n:root { --c-primary: #0078C0; --c-accent: #7860A8; --c-text: #1a1a1a; --c-muted: #6b7280; --c-bg: #ffffff; --c-card: #f9fafb; --c-border: #e5e7eb; --c-good: #16a34a; --c-warn: #d97706; --c-bad: #dc2626; --radius: 8px; }\n* { box-sizing: border-box; }\nbody { margin: 0; font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, sans-serif; color: var(--c-text); background: var(--c-bg); line-height: 1.6; }\n.brand-bar { background: var(--c-primary); color: #fff; padding: 12px 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }\n.brand-bar a { color: #fff; text-decoration: none; }\n.brand-bar .brand { font-weight: 700; font-size: 17px; }\n.brand-bar .pillar-link { font-size: 14px; opacity: 0.92; }\n.container { max-width: 1000px; margin: 0 auto; padding: 28px 20px 60px; }\nh1 { font-size: 26px; line-height: 1.25; margin: 0 0 8px; }\n.lead { color: var(--c-muted); font-size: 16px; margin: 0 0 22px; }\n.checklist { display: flex; flex-direction: column; gap: 14px; }\n.point { background: var(--c-card); border: 1px solid var(--c-border); border-radius: var(--radius); padding: 16px 18px; }\n.point .head { display: flex; gap: 10px; align-items: baseline; margin-bottom: 6px; }\n.point .num { background: var(--c-primary); color: #fff; width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; flex-shrink: 0; }\n.point h3 { margin: 0; font-size: 16px; }\n.point p { font-size: 14px; color: var(--c-muted); margin: 6px 0 12px; }\n.score-row { display: flex; gap: 8px; flex-wrap: wrap; }\n.score-row label { padding: 8px 14px; border: 1px solid var(--c-border); border-radius: var(--radius); cursor: pointer; font-size: 14px; background: #fff; transition: all 0.15s; font-weight: 600; }\n.score-row label.pass.active { background: var(--c-good); color: #fff; border-color: var(--c-good); }\n.score-row label.marg.active { background: var(--c-warn); color: #fff; border-color: var(--c-warn); }\n.score-row label.fail.active { background: var(--c-bad); color: #fff; border-color: var(--c-bad); }\n.score-row input { display: none; }\n.result-hero { background: linear-gradient(135deg, var(--c-primary), var(--c-accent)); color: #fff; padding: 24px; border-radius: var(--radius); margin: 26px 0 18px; text-align: center; }\n.result-hero .score { font-size: 56px; font-weight: 700; line-height: 1; }\n.result-hero .out-of { font-size: 22px; opacity: 0.9; }\n.result-hero .verdict { font-size: 20px; font-weight: 600; margin-top: 8px; }\n.result-hero .verdict-sub { font-size: 14px; opacity: 0.92; margin-top: 4px; }\n.radar-wrap { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: 18px; margin-bottom: 18px; }\n.radar-wrap h3 { margin: 0 0 12px; font-size: 16px; text-align: center; }\n.radar-svg { display: block; margin: 0 auto; max-width: 100%; }\n.where { background: var(--c-card); border-left: 4px solid var(--c-accent); padding: 14px 18px; border-radius: 4px; margin-bottom: 18px; font-size: 14px; }\n.where p { margin: 6px 0; }\n.disclaimer { background: #fff; border: 1px dashed var(--c-border); border-radius: var(--radius); padding: 14px 18px; font-size: 13px; color: var(--c-muted); margin: 22px 0; }\n.cta-bottom { text-align: center; padding: 26px 20px; background: var(--c-card); border-radius: var(--radius); margin-top: 22px; }\n.cta-bottom .btn { display: inline-block; background: var(--c-primary); color: #fff; padding: 14px 30px; border-radius: var(--radius); text-decoration: none; font-weight: 600; font-size: 16px; margin: 4px; }\n.cta-bottom .btn.alt { background: #fff; color: var(--c-primary); border: 2px solid var(--c-primary); }\n.cta-bottom .btn:hover { background: var(--c-accent); color: #fff; border-color: var(--c-accent); }\n.micro-cta { display: flex; gap: 18px; justify-content: center; margin-top: 14px; font-size: 14px; flex-wrap: wrap; }\n.micro-cta a { color: var(--c-primary); text-decoration: none; }\n@media (max-width:690px) {\n  h1 { font-size: 21px; }\n  .result-hero .score { font-size: 44px; }\n}\n<\/style>\n<\/head>\n<body>\n\n<div class=\"brand-bar\">\n  <span class=\"brand\">Mass Technology<\/span>\n  <a href=\"\/mineral-water-filling-machine\/\" class=\"pillar-link\">&larr; Back to Mineral Water Filling Machine<\/a>\n<\/div>\n\n<main class=\"container\">\n  <h1>Filling Machine Buyer Evaluation Checklist<\/h1>\n  <p class=\"lead\">Seven contract-level audit points to score any mineral water filling machine supplier. Use it on us, our competitors, or both. Two points are worth Pass \/ Marginal \/ Fail (2 \/ 1 \/ 0). Maximum score is 14.<\/p>\n\n  <div class=\"checklist\" id=\"checklist\"><\/div>\n\n  <div class=\"result-hero\">\n    <div><span class=\"score\" id=\"total-score\">0<\/span><span class=\"out-of\"> \/ 14<\/span><\/div>\n    <div class=\"verdict\" id=\"verdict\">Answer the seven points to see your score<\/div>\n    <div class=\"verdict-sub\" id=\"verdict-sub\"><\/div>\n  <\/div>\n\n  <div class=\"radar-wrap\">\n    <h3>Score profile across 7 dimensions<\/h3>\n    <svg class=\"radar-svg\" id=\"radar\" viewBox=\"0 0 320 320\" width=\"320\" height=\"320\" aria-label=\"Radar chart of 7 audit dimensions\"><\/svg>\n  <\/div>\n\n  <div class=\"where\">\n    <p><strong>Where this supplier scores highest:<\/strong> <span id=\"best-points\">&#8211;<\/span><\/p>\n    <p><strong>Where this supplier scores lowest:<\/strong> <span id=\"worst-points\">&#8211;<\/span><\/p>\n  <\/div>\n\n  <div class=\"disclaimer\">\n    This checklist applies to any mineral water filling machine supplier &mdash; not just Mass Technology. We share it because if a supplier (including us) fails 3+ points, you should walk away.\n  <\/div>\n\n  <div class=\"cta-bottom\">\n    <a href=\"#ct-popup-813\" class=\"btn\">Get Mass Tech Audit Score<\/a>\n    <a href=\"#ct-popup-813\" class=\"btn alt\">Request Quote<\/a>\n    <div class=\"micro-cta\">\n      <a href=\"\/mineral-water-filling-machine\/\">Back to Pillar<\/a>\n      <a href=\"#\" onclick=\"window.print();return false;\">Download as PDF<\/a>\n    <\/div>\n  <\/div>\n<\/main>\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"WebApplication\",\n      \"name\": \"Filling Machine Buyer Evaluation Checklist\",\n      \"applicationCategory\": \"BusinessApplication\",\n      \"operatingSystem\": \"Any\",\n      \"offers\": {\"@type\": \"Offer\", \"price\": \"0\", \"priceCurrency\": \"USD\"},\n      \"description\": \"Interactive 7-point audit for evaluating mineral water filling machine suppliers across BPH ladder, spare parts SLA, engineer response, warranty, handoff, compliance, and reference deployments.\"\n    },\n    {\n      \"@type\": \"Organization\",\n      \"name\": \"Mass Technology\",\n      \"url\": \"\/mineral-water-filling-machine\/\"\n    }\n  ]\n}\n<\/script>\n\n<script>\n(function () {\n  var points = [\n    {key: \"bph\",    title: \"BPH ladder, not BPH spike\", desc: \"Does the supplier publish a complete BPH segment range (e.g. 2,500-30,000 BPH across multiple models), or do they anchor on a single headline number? A real ladder lets you scale without changing vendor.\"},\n    {key: \"spare\",  title: \"Spare parts courier SLA, in writing\", desc: \"Are spare parts delivery days written into the contract (e.g. 5 days door-to-door)? Vague verbal promises about \\\"quick shipping\\\" do not count.\"},\n    {key: \"eng\",    title: \"Engineer response time, in writing\", desc: \"Is the engineer dispatch SLA contractually defined in hours (e.g. 24-hour response)? Without it, downtime is open-ended.\"},\n    {key: \"war\",    title: \"Parts warranty length and scope\", desc: \"Is the warranty length explicit and does the scope cover wear-prone components (filling valves, capping heads, control boards) rather than just the frame?\"},\n    {key: \"hand\",   title: \"Operating-system handoff scope\", desc: \"Does the supplier deliver the full four-step handoff: plant layout drawings, on-site installation, operator training, and aftersales? A line without training fails on day-one production.\"},\n    {key: \"comp\",   title: \"Compliance documentation packet\", desc: \"Is the certification packet complete: CE, ISO 9001, FDA \/ WHO contact-surface declarations, HACCP-aligned design notes? Missing certs block customs and audits in regulated markets.\"},\n    {key: \"ref\",    title: \"Reference deployments with year-one production data\", desc: \"Can the supplier name real customers and share year-one production performance (uptime %, BPH actually achieved)? Anonymous case studies without numbers are decoration, not evidence.\"}\n  ];\n\n  var container = document.getElementById(\"checklist\");\n  points.forEach(function (p, i) {\n    var html = '<div class=\"point\">' +\n      '<div class=\"head\"><span class=\"num\">' + (i + 1) + '<\/span><h3>' + p.title + '<\/h3><\/div>' +\n      '<p>' + p.desc + '<\/p>' +\n      '<div class=\"score-row\" data-key=\"' + p.key + '\">' +\n        '<label class=\"pass\"><input type=\"radio\" name=\"' + p.key + '\" value=\"2\">Pass &nbsp;\u2713<\/label>' +\n        '<label class=\"marg\"><input type=\"radio\" name=\"' + p.key + '\" value=\"1\">Marginal \u26a0<\/label>' +\n        '<label class=\"fail\"><input type=\"radio\" name=\"' + p.key + '\" value=\"0\">Fail \u2717<\/label>' +\n      '<\/div>' +\n    '<\/div>';\n    container.insertAdjacentHTML(\"beforeend\", html);\n  });\n\n  function recompute() {\n    var total = 0;\n    var scores = [];\n    var answered = 0;\n    points.forEach(function (p) {\n      var sel = document.querySelector('input[name=\"' + p.key + '\"]:checked');\n      var v = sel ? parseInt(sel.value, 10) : -1;\n      if (v >= 0) { total += v; answered++; }\n      scores.push({key: p.key, title: p.title, value: v});\n    });\n    document.getElementById(\"total-score\").textContent = total;\n\n    var verdict = \"Answer the seven points to see your score\";\n    var sub = \"\";\n    if (answered === 7) {\n      if (total >= 12) { verdict = \"Strong Supplier\"; sub = \"12-14: contract-grade vendor. Proceed to negotiation.\"; }\n      else if (total >= 8) { verdict = \"Acceptable, Negotiate Gaps\"; sub = \"8-11: workable with explicit clauses on the weakest points.\"; }\n      else { verdict = \"High Risk\"; sub = \"Below 8: 3+ failures or marginals. Strongly consider walking away.\"; }\n    } else if (answered > 0) {\n      verdict = \"In progress (\" + answered + \" \/ 7 answered)\"; sub = \"\";\n    }\n    document.getElementById(\"verdict\").textContent = verdict;\n    document.getElementById(\"verdict-sub\").textContent = sub;\n\n    drawRadar(scores);\n    updateBestWorst(scores, answered);\n  }\n\n  function drawRadar(scores) {\n    var svg = document.getElementById(\"radar\");\n    var cx = 160, cy = 160, rMax = 110;\n    var n = scores.length;\n    var inner = \"\";\n    \/\/ grid rings\n    for (var k = 1; k <= 4; k++) {\n      var rr = rMax * k \/ 4;\n      inner += '<circle cx=\"' + cx + '\" cy=\"' + cy + '\" r=\"' + rr + '\" fill=\"none\" stroke=\"#e5e7eb\" stroke-width=\"1\"\/>';\n    }\n    \/\/ axes + labels\n    var labels = [\"BPH\", \"Spare\", \"Engineer\", \"Warranty\", \"Handoff\", \"Compliance\", \"References\"];\n    for (var i = 0; i < n; i++) {\n      var ang = (Math.PI * 2 * i \/ n) - Math.PI \/ 2;\n      var x2 = cx + rMax * Math.cos(ang);\n      var y2 = cy + rMax * Math.sin(ang);\n      inner += '<line x1=\"' + cx + '\" y1=\"' + cy + '\" x2=\"' + x2 + '\" y2=\"' + y2 + '\" stroke=\"#e5e7eb\" stroke-width=\"1\"\/>';\n      var lx = cx + (rMax + 22) * Math.cos(ang);\n      var ly = cy + (rMax + 22) * Math.sin(ang);\n      inner += '<text x=\"' + lx + '\" y=\"' + ly + '\" text-anchor=\"middle\" dominant-baseline=\"middle\" font-size=\"11\" fill=\"#6b7280\">' + labels[i] + '<\/text>';\n    }\n    \/\/ polygon\n    var pts = [];\n    for (var j = 0; j < n; j++) {\n      var aj = (Math.PI * 2 * j \/ n) - Math.PI \/ 2;\n      var v = scores[j].value;\n      var ratio = (v < 0) ? 0 : v \/ 2;\n      var px = cx + rMax * ratio * Math.cos(aj);\n      var py = cy + rMax * ratio * Math.sin(aj);\n      pts.push(px + \",\" + py);\n    }\n    inner += '<polygon points=\"' + pts.join(\" \") + '\" fill=\"rgba(0,120,192,0.25)\" stroke=\"#0078C0\" stroke-width=\"2\"\/>';\n    svg.innerHTML = inner;\n  }\n\n  function updateBestWorst(scores, answered) {\n    if (answered === 0) {\n      document.getElementById(\"best-points\").textContent = \"-\";\n      document.getElementById(\"worst-points\").textContent = \"-\";\n      return;\n    }\n    var answered_only = scores.filter(function (s) { return s.value >= 0; });\n    var maxV = Math.max.apply(null, answered_only.map(function (s) { return s.value; }));\n    var minV = Math.min.apply(null, answered_only.map(function (s) { return s.value; }));\n    var best = answered_only.filter(function (s) { return s.value === maxV; }).map(function (s) { return s.title; });\n    var worst = answered_only.filter(function (s) { return s.value === minV; }).map(function (s) { return s.title; });\n    document.getElementById(\"best-points\").textContent = best.join(\"; \") || \"-\";\n    document.getElementById(\"worst-points\").textContent = (minV === maxV) ? \"(all dimensions tied)\" : (worst.join(\"; \") || \"-\");\n  }\n\n  \/\/ Wire up active-state styling + recompute\n  document.querySelectorAll(\".score-row\").forEach(function (row) {\n    row.addEventListener(\"change\", function () {\n      row.querySelectorAll(\"label\").forEach(function (l) { l.classList.remove(\"active\"); });\n      var checked = row.querySelector(\"input:checked\");\n      if (checked) checked.parentElement.classList.add(\"active\");\n      recompute();\n    });\n  });\n\n  drawRadar(points.map(function (p) { return {key: p.key, title: p.title, value: -1}; }));\n})();\n<\/script>\n\n<\/body>\n<\/html>\n\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Filling Machine Buyer Evaluation Checklist | 7-Point Audit | Mass Technology Mass Technology &larr; Back to Mineral Water Filling Machine Filling Machine Buyer Evaluation Checklist Seven contract-level audit points to score any mineral water filling machine supplier. Use it on us, our competitors, or both. Two points are worth Pass \/ Marginal \/ Fail (2 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":821,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-851","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/851","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/comments?post=851"}],"version-history":[{"count":0,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/851\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/821"}],"wp:attachment":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/media?parent=851"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}