{"id":7989,"date":"2026-05-11T11:06:50","date_gmt":"2026-05-11T11:06:50","guid":{"rendered":"https:\/\/assecoplatform.com\/checkout-based-promotional-settlement-it\/"},"modified":"2026-05-11T13:25:25","modified_gmt":"2026-05-11T13:25:25","slug":"checkout-based-promotional-settlement","status":"publish","type":"page","link":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/","title":{"rendered":"Checkout-Based Promotional Settlement"},"content":{"rendered":"\n<div class=\"wp-block-group alignfull ir-page is-layout-flow wp-block-group-is-layout-flow\">\n\n\n<p class=\"screen-reader-text\">Checkout-Based Promotional Settlement by Asseco Platform: a settlement module powered by Trade Data Hub and Trade Terms &amp; Settlement \u2014 receipt-level verification of trade promotion execution between FMCG producers and retailers.<\/p>\n\n\n<section class=\"wp-block-group alignfull ir-hero is-layout-flow wp-block-group-is-layout-flow\">\n<style>\n.hero__rotator-frame {\n  position: absolute;\n  top: 50%;\n  right: max(3vw, 2rem);\n  transform: translateY(-50%);\n  width: min(480px, 38vw); \/* CHG-215 *\/\n  aspect-ratio: 3 \/ 4;\n  z-index: 1;\n  pointer-events: none;\n}\n.hero__rotator-frame img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  opacity: 0;\n  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5));\n  border-radius: 32px;\n  animation-duration: 18s;\n  animation-iteration-count: infinite;\n  animation-timing-function: ease-in-out;\n  animation-fill-mode: backwards;\n}\n.hero__rotator-frame img:nth-child(1) {\n  animation-name: heroPSRotateFirst;\n  animation-delay: 0s;\n}\n.hero__rotator-frame img:nth-child(2) {\n  animation-name: heroPSRotate;\n  animation-delay: 6s;\n}\n.hero__rotator-frame img:nth-child(3) {\n  animation-name: heroPSRotate;\n  animation-delay: 12s;\n}\n@keyframes heroPSRotateFirst {\n  \/* screen 1: visible from load, fade out, then back in on loop *\/\n  0%, 28%   { opacity: 1; }\n  33%, 94%  { opacity: 0; }\n  100%      { opacity: 1; }\n}\n@keyframes heroPSRotate {\n  \/* screens 2 & 3: backwards fill = opacity 0 in pre-delay; smooth fade in at start *\/\n  0%        { opacity: 0; }\n  5%, 33%   { opacity: 1; }\n  38%, 100% { opacity: 0; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .hero__rotator-frame img { animation: none; opacity: 0; }\n  .hero__rotator-frame img:first-child { opacity: 1; }\n}\n@media (max-width: 992px) {\n  .hero__rotator-frame {\n    position: relative;\n    top: auto;\n    right: auto;\n    transform: none;\n    margin: var(--space-10) auto 0;\n    width: min(360px, 75vw);\n  }\n}\n\n.hero__bg {\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(135deg, #0a0e27 0%, #1a1d3a 45%, #2a1d4d 100%);\n  z-index: 0;\n  pointer-events: none;\n}\n.hero__bg::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background:\n    radial-gradient(ellipse 60% 50% at 75% 50%, rgba(120, 80, 200, 0.25) 0%, transparent 60%),\n    radial-gradient(ellipse 40% 60% at 20% 30%, rgba(60, 120, 200, 0.18) 0%, transparent 65%);\n  pointer-events: none;\n}\n\n\/* CHG-214: gentle hero compact \u2014 preserve template flex, just enforce containment + reasonable height *\/\n.ir-hero {\n  position: relative !important;          \/* containment for .hero__bg absolute *\/\n  min-height: auto !important;            \/* drop template forced 100vh *\/\n  padding-top: clamp(72px, 9vh, 140px) !important;\n  padding-bottom: clamp(56px, 7vh, 96px) !important;\n  align-items: flex-start !important;     \/* in case template uses flex-end *\/\n}\n<\/style>\n<div class=\"hero__bg\" aria-hidden=\"true\"><\/div>\n<style>\n\/* CBPS Hero receipt rotator \u2014 scoped pod .cbps-receipts (CHG-257, polish CHG-258) *\/\n.cbps-receipts .cbps-receipt-rotator {\n  position: relative; width: 100%; height: 100%;\n}\n.cbps-receipts .cbps-receipt-state {\n  position: absolute; inset: 0;\n  display: flex; flex-direction: column;\n  align-items: center; justify-content: center;\n  gap: 16px;\n  opacity: 0;\n  animation-duration: 15s;\n  animation-iteration-count: infinite;\n  animation-timing-function: ease-in-out;\n  animation-fill-mode: backwards;\n}\n.cbps-receipts .cbps-receipt-state:nth-child(1) { animation-name: cbpsRotateFirst; animation-delay: 0s; }\n.cbps-receipts .cbps-receipt-state:nth-child(2) { animation-name: cbpsRotate; animation-delay: 5s; }\n.cbps-receipts .cbps-receipt-state:nth-child(3) { animation-name: cbpsRotate; animation-delay: 10s; }\n@keyframes cbpsRotateFirst {\n  0%, 28%   { opacity: 1; }\n  33%, 94%  { opacity: 0; }\n  100%      { opacity: 1; }\n}\n@keyframes cbpsRotate {\n  0%        { opacity: 0; }\n  5%, 33%   { opacity: 1; }\n  38%, 100% { opacity: 0; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cbps-receipts .cbps-receipt-state { animation: none; }\n  .cbps-receipts .cbps-receipt-state:nth-child(3) { opacity: 1; }\n}\n.cbps-receipts .cbps-receipt {\n  background: #fafaf7; color: #1a1a1a;\n  padding: 28px 24px;\n  width: min(96%, 460px);\n  font-family: 'IBM Plex Mono', 'Courier New', monospace;\n  font-size: 13.5px; line-height: 1.55;\n  box-shadow: 0 22px 56px rgba(0,0,0,0.6);\n  border-radius: 4px;\n}\n.cbps-receipts .cbps-head { text-align: center; margin-bottom: 8px; }\n.cbps-receipts .cbps-store { font-weight: 700; font-size: 14px; letter-spacing: 0.5px; }\n.cbps-receipts .cbps-meta { font-size: 11.5px; color: #555; }\n.cbps-receipts .cbps-div { border-top: 1px dashed #999; margin: 8px 0; }\n.cbps-receipts .cbps-title { text-align: center; font-weight: 700; font-size: 13.5px; letter-spacing: 1px; margin: 6px 0; }\n.cbps-receipts .cbps-line {\n  display: grid; grid-template-columns: 1fr 30px 56px 70px;\n  gap: 6px; padding: 3px 0; align-items: center;\n  border-radius: 3px; transition: background 0.4s ease;\n}\n.cbps-receipts .cbps-name { font-size: 13px; }\n.cbps-receipts .cbps-qty,\n.cbps-receipts .cbps-price,\n.cbps-receipts .cbps-val { text-align: right; font-size: 13px; font-variant-numeric: tabular-nums; }\n.cbps-receipts .cbps-line.cbps-detected {\n  background: linear-gradient(90deg, rgba(241, 107, 94, 0.2), rgba(80, 86, 234, 0.16));\n  box-shadow: 0 0 0 1.5px rgba(214, 44, 218, 0.55);\n}\n.cbps-receipts .cbps-line.cbps-matched {\n  background: linear-gradient(90deg, rgba(74, 222, 128, 0.3), rgba(80, 86, 234, 0.16));\n  box-shadow: 0 0 0 2px #4ade80, 0 0 18px rgba(74, 222, 128, 0.55);\n}\n.cbps-receipts .cbps-summary { margin-top: 6px; padding-top: 6px; border-top: 1px dashed #999; font-size: 12px; }\n.cbps-receipts .cbps-row { display: flex; justify-content: space-between; }\n.cbps-receipts .cbps-total { font-weight: 700; font-size: 13.5px; padding-top: 3px; }\n\/* Caption pod paragonem \u2014 opisuje stan *\/\n.cbps-receipts .cbps-caption {\n  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  font-size: 13px;\n  font-weight: 600;\n  color: #fff;\n  text-transform: uppercase;\n  letter-spacing: 1.2px;\n  text-align: center;\n  padding: 8px 18px;\n  background: linear-gradient(135deg, rgba(241, 107, 94, 0.22), rgba(214, 44, 218, 0.18), rgba(80, 86, 234, 0.22));\n  border: 1px solid rgba(255,255,255,0.18);\n  border-radius: 18px;\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n  white-space: nowrap;\n}\n.cbps-receipts .cbps-caption.cbps-caption-match {\n  background: linear-gradient(135deg, rgba(74, 222, 128, 0.3), rgba(80, 86, 234, 0.2));\n  border-color: rgba(74, 222, 128, 0.45);\n  color: #fff;\n}\n\/* CHG-274: Hero rotator stepper (3 dots + progress bar) *\/\n.cbps-receipts {\n  display: flex !important;\n  flex-direction: column !important;\n}\n.cbps-receipts .cbps-receipt-rotator {\n  flex: 1;\n  min-height: 0;\n}\n.cbps-receipts .cbps-stepper {\n  flex-shrink: 0;\n  padding-top: 18px;\n  padding-bottom: 4px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 12px;\n  width: 100%;\n}\n.cbps-receipts .cbps-stepper-dots {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n}\n.cbps-receipts .cbps-stepper-dot {\n  width: 8px; height: 8px;\n  border-radius: 50%;\n  background: rgba(255, 255, 255, 0.25);\n  animation-duration: 15s;\n  animation-iteration-count: infinite;\n  animation-timing-function: ease-in-out;\n  transition: none;\n}\n.cbps-receipts .cbps-stepper-dot:nth-child(1) { animation-name: cbpsDot1; }\n.cbps-receipts .cbps-stepper-dot:nth-child(2) { animation-name: cbpsDot2; }\n.cbps-receipts .cbps-stepper-dot:nth-child(3) { animation-name: cbpsDot3; }\n@keyframes cbpsDot1 {\n  0%, 28%   { background: #ffffff; transform: scale(1.45); box-shadow: 0 0 12px rgba(255, 255, 255, 0.4); }\n  33%, 100% { background: rgba(255, 255, 255, 0.25); transform: scale(1); box-shadow: none; }\n}\n@keyframes cbpsDot2 {\n  0%, 33%   { background: rgba(255, 255, 255, 0.25); transform: scale(1); box-shadow: none; }\n  38%, 61%  { background: #ffffff; transform: scale(1.45); box-shadow: 0 0 12px rgba(255, 255, 255, 0.4); }\n  66%, 100% { background: rgba(255, 255, 255, 0.25); transform: scale(1); box-shadow: none; }\n}\n@keyframes cbpsDot3 {\n  0%, 66%   { background: rgba(255, 255, 255, 0.25); transform: scale(1); box-shadow: none; }\n  71%, 94%  { background: #4ade80; transform: scale(1.45); box-shadow: 0 0 14px rgba(74, 222, 128, 0.55); }\n  100%      { background: rgba(255, 255, 255, 0.25); transform: scale(1); box-shadow: none; }\n}\n.cbps-receipts .cbps-progress {\n  width: min(96%, 460px);\n  height: 3px;\n  background: rgba(255, 255, 255, 0.10);\n  border-radius: 999px;\n  overflow: hidden;\n  position: relative;\n}\n.cbps-receipts .cbps-progress::after {\n  content: \"\";\n  display: block;\n  height: 100%;\n  width: 0%;\n  background: linear-gradient(90deg, #f16b5e 0%, #d62cda 50%, #4ade80 100%);\n  border-radius: 999px;\n  animation: cbpsProgress 15s linear infinite;\n}\n@keyframes cbpsProgress {\n  0%   { width: 0%; }\n  100% { width: 100%; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .cbps-receipts .cbps-stepper-dot { animation: none; }\n  .cbps-receipts .cbps-stepper-dot:nth-child(3) {\n    background: #4ade80; transform: scale(1.45); box-shadow: 0 0 14px rgba(74, 222, 128, 0.55);\n  }\n  .cbps-receipts .cbps-progress::after { animation: none; width: 100%; }\n}\n\/* CHG-276: How It Works step 2 reuses Hero paragon rotator *\/\n.howit-receipts {\n  position: relative;\n  width: 100%;\n  max-width: 460px;\n  height: 600px;\n  margin: 0 auto;\n}\n@media (max-width: 992px) {\n  .howit-receipts { max-width: 400px; height: 560px; }\n}\n@media (max-width: 640px) {\n  .howit-receipts { max-width: 340px; height: 500px; }\n\n}\n\/* CHG-285: How It Works Step 1 \u2014 TDH flow v5 (unified group structure: eyebrow + title + content) *\/\n.tdh-flow {\n  display: flex;\n  flex-direction: column;\n  gap: 0;\n  padding: 22px 18px;\n  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);\n  border: 1px solid rgba(255,255,255,0.08);\n  border-radius: 14px;\n  box-shadow: 0 12px 30px rgba(0,0,0,0.30);\n  font-family: 'Poppins', system-ui, sans-serif;\n  color: #fff;\n}\n\n\/* === Unified group container === *\/\n.tdh-flow .tdh-group {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 14px 16px;\n  border-radius: 12px;\n}\n\/* All boxes share base dark style; tier distinction via left-border + eyebrow chip color *\/\n.tdh-flow .tdh-group {\n  background: rgba(255,255,255,0.04);\n  border: 1px solid rgba(255,255,255,0.08);\n  border-left-width: 4px;\n}\n.tdh-flow .tdh-group--where  { border-left-color: rgba(124, 58, 237, 0.70); }\n.tdh-flow .tdh-group--how    { border-left-color: rgba(99, 102, 241, 0.70); }\n.tdh-flow .tdh-group--transform { border-left-color: #7c3aed; box-shadow: 0 8px 20px rgba(124, 58, 237, 0.18); }\n.tdh-flow .tdh-group--output { border-left-color: rgba(74, 222, 128, 0.75); }\n\n.tdh-flow .tdh-group-eyebrow {\n  display: inline-block;\n  align-self: flex-start;\n  font-size: 9.5px;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  font-weight: 700;\n  padding: 3px 10px;\n  border-radius: 999px;\n}\n.tdh-flow .tdh-group--where .tdh-group-eyebrow {\n  color: #c4b5fd;\n  background: rgba(124, 58, 237, 0.15);\n  border: 1px solid rgba(124, 58, 237, 0.32);\n}\n.tdh-flow .tdh-group--how .tdh-group-eyebrow {\n  color: #a5b4fc;\n  background: rgba(99, 102, 241, 0.15);\n  border: 1px solid rgba(99, 102, 241, 0.32);\n}\n.tdh-flow .tdh-group--transform .tdh-group-eyebrow {\n  color: #fff;\n  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #6c63ff 100%);\n  border: 1px solid rgba(255,255,255,0.18);\n}\n.tdh-flow .tdh-group--output .tdh-group-eyebrow {\n  color: #86efac;\n  background: rgba(74, 222, 128, 0.15);\n  border: 1px solid rgba(74, 222, 128, 0.30);\n}\n\n.tdh-flow .tdh-group-title {\n  font-size: 16px;\n  font-weight: 700;\n  margin: 0;\n  line-height: 1.2;\n  color: #fff;\n}\n.tdh-flow .tdh-group--transform .tdh-group-title {\n  background: linear-gradient(135deg, #c4b5fd 0%, #ffffff 50%, #c4b5fd 100%);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n.tdh-flow .tdh-group--output .tdh-group-title {\n  color: #86efac;\n}\n.tdh-flow .tdh-group-sub {\n  font-size: 11.5px;\n  color: rgba(255,255,255,0.65);\n  margin: 0;\n  line-height: 1.4;\n}\n\n\/* === Retailer cards === *\/\n.tdh-flow .tdh-retailers-row {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 6px;\n  margin-top: 2px;\n}\n.tdh-flow .tdh-retailer {\n  background: rgba(255,255,255,0.06);\n  border: 1px solid rgba(255,255,255,0.08);\n  border-radius: 8px;\n  padding: 10px 4px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  min-width: 0;\n}\n.tdh-flow .tdh-retailer .ret-name {\n  font-size: 12px;\n  font-weight: 600;\n  color: #fff;\n  line-height: 1.15;\n  word-break: break-word;\n}\n\n\/* === Format chips === *\/\n.tdh-flow .tdh-formats-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n  justify-content: center;\n  margin-top: 2px;\n}\n.tdh-flow .tdh-format-chip {\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.06);\n  color: #fff;\n  border: 1px solid rgba(255, 255, 255, 0.10);\n  border-radius: 999px;\n  padding: 3px 10px;\n  white-space: nowrap;\n}\n\n\/* === Connector (line + arrow) === *\/\n.tdh-flow .tdh-connector {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 6px 0;\n}\n.tdh-flow .tdh-connector-line {\n  width: 2px;\n  height: 22px;\n  background: linear-gradient(180deg, rgba(124, 58, 237, 0.45) 0%, rgba(124, 58, 237, 0.95) 100%);\n  border-radius: 999px;\n}\n.tdh-flow .tdh-connector-arrow {\n  width: 0; height: 0;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-top: 8px solid rgba(124, 58, 237, 0.95);\n  margin-top: -1px;\n}\n\n\/* === Process stages line (WHAT group) === *\/\n.tdh-flow .tdh-group--transform .tdh-stages-line {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 4px;\n  position: relative;\n  padding: 6px 4px 2px;\n  margin-top: 4px;\n}\n.tdh-flow .tdh-group--transform .tdh-stages-line::before {\n  content: \"\";\n  position: absolute;\n  top: calc(6px + 13px);\n  left: 12%;\n  right: 12%;\n  height: 2px;\n  background: linear-gradient(90deg, rgba(124, 58, 237, 0.55), rgba(124, 58, 237, 0.95), rgba(124, 58, 237, 0.55));\n  z-index: 0;\n}\n.tdh-flow .tdh-group--transform .tdh-stage {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 4px;\n  position: relative;\n  z-index: 1;\n  text-align: center;\n  min-width: 0;\n}\n.tdh-flow .tdh-group--transform .tdh-stage-circle {\n  width: 26px;\n  height: 26px;\n  border-radius: 50%;\n  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #6c63ff 100%);\n  color: #fff;\n  font-size: 12px;\n  font-weight: 700;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.45);\n  border: 2px solid rgba(124, 58, 237, 0.65);\n  flex-shrink: 0;\n}\n.tdh-flow .tdh-group--transform .tdh-stage-name {\n  font-size: 10.5px;\n  font-weight: 700;\n  color: #fff;\n  line-height: 1.15;\n  letter-spacing: 0.02em;\n}\n.tdh-flow .tdh-group--transform .tdh-stage-desc {\n  font-size: 9px;\n  color: rgba(255,255,255,0.72);\n  line-height: 1.25;\n}\n\n@media (max-width: 768px) {\n  .tdh-flow { padding: 18px 14px; }\n  .tdh-flow .tdh-group { padding: 12px 12px; }\n  .tdh-flow .tdh-retailers-row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }\n  .tdh-flow .tdh-retailer { padding: 8px 3px; }\n  .tdh-flow .tdh-retailer .ret-name { font-size: 10.5px; }\n  .tdh-flow .tdh-format-chip { font-size: 9.5px; padding: 2px 7px; }\n  .tdh-flow .tdh-group-title { font-size: 14px; }\n}\n\n\/* CHG-287: Step 3 settlement dashboard mockup (OneView-style light card on dark bg) *\/\n.sd-dashboard {\n  background: #ffffff;\n  color: #1f2937;\n  border-radius: 12px;\n  padding: 14px 14px 12px;\n  font-family: 'Poppins', system-ui, sans-serif;\n  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.40), 0 0 0 1px rgba(255,255,255,0.04);\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  max-width: 460px;\n  margin: 0 auto;\n}\n.sd-dashboard .sd-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  padding-bottom: 8px;\n  border-bottom: 1px solid #f1f5f9;\n}\n.sd-dashboard .sd-title-row { display: flex; align-items: center; gap: 6px; }\n.sd-dashboard .sd-title { font-size: 13px; font-weight: 700; color: #0f172a; }\n.sd-dashboard .sd-info {\n  width: 14px; height: 14px; border-radius: 50%;\n  background: #e2e8f0; color: #64748b;\n  font-size: 9px; font-weight: 700;\n  display: inline-flex; align-items: center; justify-content: center;\n  font-style: italic;\n}\n.sd-dashboard .sd-period { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }\n.sd-dashboard .sd-period-label { font-size: 9px; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.08em; }\n.sd-dashboard .sd-period-value { font-size: 11px; font-weight: 600; color: #334155; }\n\n.sd-dashboard .sd-kpis {\n  display: grid;\n  grid-template-columns: repeat(5, 1fr);\n  gap: 6px;\n  padding: 6px 0 8px;\n  border-bottom: 1px solid #f1f5f9;\n}\n.sd-dashboard .sd-kpi { display: flex; flex-direction: column; align-items: center; gap: 1px; text-align: center; min-width: 0; }\n.sd-dashboard .sd-kpi-value { font-size: 13.5px; font-weight: 700; color: #0f172a; line-height: 1.1; }\n.sd-dashboard .sd-kpi-value--good { color: #15803d; }\n.sd-dashboard .sd-kpi-label { font-size: 8.5px; color: #64748b; line-height: 1.2; }\n\n.sd-dashboard .sd-panels {\n  display: grid;\n  grid-template-columns: 1fr 1.4fr 1.2fr;\n  gap: 6px;\n}\n.sd-dashboard .sd-panel {\n  background: #f8fafc;\n  border: 1px solid #e2e8f0;\n  border-radius: 8px;\n  padding: 8px;\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n  min-width: 0;\n}\n.sd-dashboard .sd-panel-title { font-size: 9px; font-weight: 700; color: #334155; text-transform: uppercase; letter-spacing: 0.06em; }\n\n.sd-dashboard .sd-gauge { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; }\n.sd-dashboard .sd-gauge svg { width: 100%; height: auto; max-height: 60px; }\n.sd-dashboard .sd-gauge-value { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); font-size: 14px; font-weight: 700; color: #15803d; }\n\n.sd-dashboard .sd-bars { display: flex; flex-direction: column; gap: 2px; flex: 1; }\n.sd-dashboard .sd-bar-row { display: grid; grid-template-columns: 50px 1fr 28px; gap: 4px; align-items: center; font-size: 8.5px; }\n.sd-dashboard .sd-bar-name { color: #475569; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.sd-dashboard .sd-bar-track { background: #e2e8f0; border-radius: 999px; height: 5px; overflow: hidden; }\n.sd-dashboard .sd-bar-fill { height: 100%; background: linear-gradient(90deg, #6366f1, #a78bfa); border-radius: 999px; }\n.sd-dashboard .sd-bar-value { font-weight: 700; color: #1f2937; text-align: right; }\n\n.sd-dashboard .sd-trend { width: 100%; height: 50px; flex: 1; }\n.sd-dashboard .sd-trend-axis { display: flex; justify-content: space-between; font-size: 8px; color: #94a3b8; }\n\n.sd-dashboard .sd-table { display: flex; flex-direction: column; gap: 2px; padding-top: 4px; }\n.sd-dashboard .sd-table-title { font-size: 9px; font-weight: 700; color: #334155; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; }\n.sd-dashboard .sd-row { display: grid; grid-template-columns: 2fr 1fr 0.8fr 14px; gap: 6px; align-items: center; padding: 4px 4px; font-size: 9.5px; border-bottom: 1px solid #f1f5f9; }\n.sd-dashboard .sd-row--header { font-size: 8px; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; border-bottom: 1px solid #e2e8f0; }\n.sd-dashboard .sd-row--more { color: #6366f1; font-weight: 600; font-style: italic; font-size: 9px; }\n.sd-dashboard .sd-row:last-child { border-bottom: none; }\n.sd-dashboard .sd-row-name { color: #1f2937; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.sd-dashboard .sd-row-mech { color: #475569; }\n.sd-dashboard .sd-row-value { color: #1f2937; font-weight: 700; text-align: right; }\n.sd-dashboard .sd-row-status { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; justify-self: center; }\n.sd-dashboard .sd-row-status--good { background: #22c55e; }\n\n.sd-dashboard .sd-footer {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding-top: 6px;\n  margin-top: 2px;\n  border-top: 1px solid #f1f5f9;\n}\n.sd-dashboard .sd-export {\n  background: #6366f1;\n  color: #fff;\n  font-size: 9px;\n  font-weight: 700;\n  padding: 4px 10px;\n  border-radius: 6px;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n}\n.sd-dashboard .sd-export-formats { font-size: 9px; color: #64748b; }\n\n@media (max-width: 768px) {\n  .sd-dashboard .sd-kpi-value { font-size: 12px; }\n  .sd-dashboard .sd-kpi-label { font-size: 7.5px; }\n  .sd-dashboard .sd-panels { grid-template-columns: 1fr 1fr; }\n  .sd-dashboard .sd-panel:nth-child(3) { grid-column: 1 \/ 3; }\n}\n<\/style>\n<div class=\"hero__rotator-frame cbps-receipts\" aria-hidden=\"true\">\n  <div class=\"cbps-receipt-rotator\">\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption\">Receipt arrives<\/div>\n<\/div>\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption\">Producer SKUs detected<\/div>\n<\/div>\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line cbps-detected cbps-matched\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption cbps-caption-match\">Promotion match identified<\/div>\n<\/div>\n  <\/div>\n  <div class=\"cbps-stepper\" aria-hidden=\"true\">\n    <div class=\"cbps-stepper-dots\">\n      <span class=\"cbps-stepper-dot\"><\/span>\n      <span class=\"cbps-stepper-dot\"><\/span>\n      <span class=\"cbps-stepper-dot\"><\/span>\n    <\/div>\n    <div class=\"cbps-progress\"><\/div>\n  <\/div>\n<\/div>\n  <div class=\"hero__content-wrapper container-wide\">\n    <p class=\"hero__eyebrow\" style=\"font-size:var(--text-14);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.08em;color:var(--color-gray-light);margin-bottom:var(--space-4);\">Checkout-Based Promotional Settlement<\/p>\n    <h1 style=\"max-width:640px;\">Trade promo settlement on <span class=\"gradient-text\">receipt data,<\/span> not the retailer\u2019s declaration.<\/h1>\n    <p style=\"color:var(--color-gray-light);font-size:var(--text-18);max-width:640px;margin-bottom:var(--space-8);\">Powered by <strong>Trade Data Hub<\/strong> and <strong>Trade Terms &#038; Settlement<\/strong>. Every receipt from your settlement retailers is checked against your active promotion catalogue. Refund reports rest on transactional data, not the retailer\u2019s monthly declaration.<\/p>\n    <div class=\"hero__buttons\" style=\"max-width:640px;\">\n      <div class=\"wp-block-button is-style-arrow-right-white\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/assecoplatform.com\/contact-us-asseco-platform\/\">Book a demo<\/a><\/div>\n      <div class=\"wp-block-button is-style-underline-white\"><a class=\"wp-block-button__link wp-element-button\" href=\"#how-it-works\">See how it works<\/a><\/div>\n    <\/div>\n    <div class=\"hero__stats\" style=\"max-width:800px;gap:var(--space-6);\">\n      <div class=\"hero__stat\" style=\"flex:1 1 0;min-width:0;\">\n        <span class=\"hero__stat-value\">0<\/span>\n        <span class=\"hero__stat-label\">Manual receipt sampling<\/span>\n        <span class=\"hero__stat-context\">Every transaction in the settlement period is verified<\/span>\n      <\/div>\n      <div class=\"hero__stat\" style=\"flex:1 1 0;min-width:0;\">\n        <span class=\"hero__stat-value\">Next-day<\/span>\n        <span class=\"hero__stat-label\">Settlement cycle<\/span>\n        <span class=\"hero__stat-context\">Receipts in, refund computed overnight<\/span>\n      <\/div>\n      <div class=\"hero__stat\" style=\"flex:1 1 0;min-width:0;\">\n        <span class=\"hero__stat-value\">Every<\/span>\n        <span class=\"hero__stat-label\">Promotion mechanic detected<\/span>\n        <span class=\"hero__stat-context\">Price, multi-buy, threshold, seasonal, bundle, voucher \u2014 no template gaps<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<section class=\"section bg-gray logos-strip\">\n  <div class=\"container-wide text-center\">\n    <h4>Trusted by the world&#8217;s leading FMCG brands<\/h4>\n    <div class=\"logos-grid\" style=\"display:flex;justify-content:center;align-items:center;gap:var(--space-12);flex-wrap:wrap;\">\n      <div class=\"logo-item\"><img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/nestle.svg\" alt=\"Nestl\u00e9 logo\" class=\"client-logo\"\/><\/div>\n      <div class=\"logo-item\"><img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/kraft-heinz.svg\" alt=\"Kraft Heinz logo\" class=\"client-logo\"\/><\/div>\n      <div class=\"logo-item\"><img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/coca-cola-hbc.svg\" alt=\"Coca-Cola HBC logo\" class=\"client-logo\"\/><\/div>\n      <div class=\"logo-item\"><img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/ferrero.svg\" alt=\"Ferrero logo\" class=\"client-logo\"\/><\/div>\n      <div class=\"logo-item\"><img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/08\/Ref-logo-Henkel.png\" alt=\"Henkel logo\" class=\"client-logo\"\/><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 1: The Problem -->\n\n<section class=\"section bg-white\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">The Problem<\/span>\n    <h3 style=\"margin-bottom:var(--space-6);\">Trade promo settlement runs on the retailer\u2019s report. <span class=\"gradient-text\">Your settlement is only as good as their declaration.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:760px;margin-bottom:var(--space-12);\">You build the promotion. The retailer executes it. The retailer tells you how much you owe. You approve the refund payment from the same retailer\u2019s own report \u2014 with no way to verify which stores executed, which didn\u2019t, and whether the mechanic actually triggered at the till.<\/p>\n    <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-12);\">\n      <div>\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-5);\">Without receipt-level verification<\/p>\n        <ul style=\"list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4);\">\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-red);font-weight:700;flex-shrink:0;\">\u2715<\/span><span>Settlement based on the retailer\u2019s monthly declaration \u2014 not your own data<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-red);font-weight:700;flex-shrink:0;\">\u2715<\/span><span>No store-level visibility \u2014 you cannot tell which placement executed as defined<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-red);font-weight:700;flex-shrink:0;\">\u2715<\/span><span>Bonus payments approved on numbers you cannot audit transaction by transaction<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-red);font-weight:700;flex-shrink:0;\">\u2715<\/span><span>Buyer negotiations run on two conflicting reports \u2014 producer\u2019s and retailer\u2019s<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-red);font-weight:700;flex-shrink:0;\">\u2715<\/span><span>Manual receipt sampling, when attempted, takes analyst-weeks per settlement period<\/span><\/li>\n        <\/ul>\n      <\/div>\n      <div>\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-5);\">With Asseco Checkout-Based Settlement<\/p>\n        <ul style=\"list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4);\">\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-green);font-weight:700;flex-shrink:0;\">\u2713<\/span><span>Every receipt scanned daily \u2014 every promotion mechanic detected automatically<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-green);font-weight:700;flex-shrink:0;\">\u2713<\/span><span>Store-level visibility: which store executed the promotion as defined \u2014 and which did not<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-green);font-weight:700;flex-shrink:0;\">\u2713<\/span><span>Refund report with audit trail down to the individual transaction<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-green);font-weight:700;flex-shrink:0;\">\u2713<\/span><span>Buyer negotiation starts from the same dataset on both sides of the table<\/span><\/li>\n          <li style=\"display:flex;gap:var(--space-3);align-items:flex-start;\"><span style=\"color:var(--color-green);font-weight:700;flex-shrink:0;\">\u2713<\/span><span>Settlement period closes in hours, not weeks \u2014 automated end-to-end<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 2: How It Works -->\n\n<section class=\"section bg-dark\" id=\"how-it-works\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\" style=\"color:var(--color-gray-light);\">How It Works<\/span>\n    <h3 style=\"margin-bottom:var(--space-6);color:#fff;\">Three steps from active promotion <span class=\"gradient-text\">to settled refund \u2014 every receipt verified.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-light);max-width:760px;margin-bottom:var(--space-12);\">Asseco Checkout-Based Promotional Settlement runs on POS receipt data from your retailers. Trade Data Hub pulls the data daily, Trade Terms &#038; Settlement detects the promotion mechanic on each receipt, and the refund report lands in your ERP \u2014 grounded in transaction-level audit trail.<\/p>\n    <style>\n      .ps-howit-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center; margin-bottom: var(--space-16); }\n      .ps-howit-row .ps-howit-image img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.08); display: block; }\n      .ps-howit-row .ps-howit-image.is-mobile img { max-width: 340px; margin: 0 auto; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55); border-radius: 24px; }\n      .ps-howit-row .ps-howit-image .img-caption { font-size: var(--text-13); color: var(--color-gray-light); opacity: 0.65; text-align: center; margin-top: var(--space-3); }\n      .ps-howit-row .ps-howit-content .step-num { font-size: var(--text-48); font-weight: var(--font-weight-bold); background: var(--gradient-brand); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: var(--space-4); line-height: 1; }\n      .ps-howit-row .ps-howit-content h4 { color: #fff; margin-bottom: var(--space-3); }\n      .ps-howit-row .ps-howit-content > p { color: var(--color-gray-light); font-size: var(--text-15); margin-bottom: var(--space-5); }\n      .ps-howit-row .ps-howit-content ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-2); }\n      .ps-howit-row .ps-howit-content li { color: var(--color-gray-light); font-size: var(--text-14); display: flex; gap: var(--space-2); }\n      .ps-howit-row .ps-howit-content li > span.arrow { color: var(--color-accent); flex-shrink: 0; }\n      @media (max-width: 992px) {\n        .ps-howit-row { grid-template-columns: 1fr; gap: var(--space-6); margin-bottom: var(--space-12); }\n        .ps-howit-row .ps-howit-image { order: -1; }\n      }\n    <\/style>\n\n    <!-- Row 01: image LEFT, text RIGHT -->\n    <div class=\"ps-howit-row\">\n      <div class=\"ps-howit-image\">\n        <div class=\"tdh-flow\" aria-hidden=\"true\">\n\n          <div class=\"tdh-group tdh-group--input tdh-group--where\">\n            <span class=\"tdh-group-eyebrow\">Where the data comes from<\/span>\n            <p class=\"tdh-group-title\">Retailer profiles<\/p>\n            <div class=\"tdh-retailers-row\">\n              <div class=\"tdh-retailer\"><span class=\"ret-name\">Discount<\/span><\/div>\n              <div class=\"tdh-retailer\"><span class=\"ret-name\">Modern trade<\/span><\/div>\n              <div class=\"tdh-retailer\"><span class=\"ret-name\">Hypermarket<\/span><\/div>\n              <div class=\"tdh-retailer\"><span class=\"ret-name\">Convenience<\/span><\/div>\n              <div class=\"tdh-retailer\"><span class=\"ret-name\">Cooperative<\/span><\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"tdh-connector\" aria-hidden=\"true\">\n            <div class=\"tdh-connector-line\"><\/div>\n            <div class=\"tdh-connector-arrow\"><\/div>\n          <\/div>\n\n          <div class=\"tdh-group tdh-group--input tdh-group--how\">\n            <span class=\"tdh-group-eyebrow\">How it arrives<\/span>\n            <p class=\"tdh-group-title\">Data formats<\/p>\n            <div class=\"tdh-formats-row\">\n              <span class=\"tdh-format-chip\">CSV<\/span>\n              <span class=\"tdh-format-chip\">XML<\/span>\n              <span class=\"tdh-format-chip\">JSON<\/span>\n              <span class=\"tdh-format-chip\">REST API<\/span>\n              <span class=\"tdh-format-chip\">SFTP<\/span>\n              <span class=\"tdh-format-chip\">Fixed-width<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"tdh-connector\" aria-hidden=\"true\">\n            <div class=\"tdh-connector-line\"><\/div>\n            <div class=\"tdh-connector-arrow\"><\/div>\n          <\/div>\n\n          <div class=\"tdh-group tdh-group--transform\">\n            <span class=\"tdh-group-eyebrow\">What we do with it<\/span>\n            <p class=\"tdh-group-title\">Trade Data Hub<\/p>\n            <div class=\"tdh-stages-line\">\n              <div class=\"tdh-stage\">\n                <span class=\"tdh-stage-circle\">1<\/span>\n                <span class=\"tdh-stage-name\">Receive<\/span>\n                <span class=\"tdh-stage-desc\">Daily POS feed<\/span>\n              <\/div>\n              <div class=\"tdh-stage\">\n                <span class=\"tdh-stage-circle\">2<\/span>\n                <span class=\"tdh-stage-name\">Normalise<\/span>\n                <span class=\"tdh-stage-desc\">Formats, units<\/span>\n              <\/div>\n              <div class=\"tdh-stage\">\n                <span class=\"tdh-stage-circle\">3<\/span>\n                <span class=\"tdh-stage-name\">Deduplicate<\/span>\n                <span class=\"tdh-stage-desc\">Quality, anomalies<\/span>\n              <\/div>\n              <div class=\"tdh-stage\">\n                <span class=\"tdh-stage-circle\">4<\/span>\n                <span class=\"tdh-stage-name\">Recognise<\/span>\n                <span class=\"tdh-stage-desc\">SKUs, stores<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"tdh-connector\" aria-hidden=\"true\">\n            <div class=\"tdh-connector-line\"><\/div>\n            <div class=\"tdh-connector-arrow\"><\/div>\n          <\/div>\n\n          <div class=\"tdh-group tdh-group--output\">\n            <span class=\"tdh-group-eyebrow\">What you get from it<\/span>\n            <p class=\"tdh-group-title\">Unified receipt model<\/p>\n            <p class=\"tdh-group-sub\">One schema, every retailer \u2014 ready for the promotion detector<\/p>\n          <\/div>\n\n        <\/div>\n        <div class=\"img-caption\">Trade Data Hub \u2014 many sources, one unified receipt model after cleansing, normalisation and recognition.<\/div>\n      <\/div>\n      <div class=\"ps-howit-content\">\n        <div class=\"step-num\">01<\/div>\n        <h4>Retailer onboarding &#038; data acquisition<\/h4>\n        <p>Trade Data Hub connects to each retailer\u2019s POS data feed \u2014 SFTP, HTTPS or API, in the retailer\u2019s native format. The integration team builds the SKU mapping that resolves \u201cshort EAN\u201d and retailer-specific product codes, and a store dictionary that maps retailer \u2192 branch \u2192 individual point of sale. Daily reconciliation, deduplication and data-quality flags run automatically.<\/p>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>POS data feed per retailer \u2014 SFTP, HTTPS, API in native format<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>SKU mapping \u2014 resolves \u201cshort EAN\u201d and retailer product codes<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Store dictionary \u2014 retailer, branch and point-of-sale hierarchy<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n\n    <!-- Row 02: text LEFT, image RIGHT -->\n    <div class=\"ps-howit-row\">\n      <div class=\"ps-howit-content\">\n        <div class=\"step-num\">02<\/div>\n        <h4>Daily promo detection on receipts<\/h4>\n        <p>Every receipt is passed through the promotion detector in Trade Terms &#038; Settlement. The system identifies your SKUs, verifies the conditions of each active promotion \u2014 price, multi-buy, threshold, seasonal window, bundle, voucher \u2014 and flags transactions that meet the mechanic. The cycle is next-day: a sale at the till today is verified in your settlement system tomorrow morning, with the mechanic identified at the transaction level.<\/p>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>6 promotion mechanics detected out-of-the-box<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Next-day cycle \u2014 transaction today, verified tomorrow morning<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>All active promotions verified in parallel \u2014 no manual split between campaigns<\/span><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"ps-howit-image\">\n        <div class=\"howit-receipts cbps-receipts\" aria-hidden=\"true\">\n  <div class=\"cbps-receipt-rotator\">\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption\">Receipt arrives<\/div>\n<\/div>\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption\">Producer SKUs detected<\/div>\n<\/div>\n    <div class=\"cbps-receipt-state\">\n  <div class=\"cbps-receipt\">\n    <div class=\"cbps-head\">\n      <div class=\"cbps-store\">REGIONAL COOPERATIVE #14<\/div>\n      <div class=\"cbps-meta\">Store ID: RC-014 \u00b7 East Region<\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-title\">FISCAL RECEIPT<\/div>\n    <div class=\"cbps-div\"><\/div>\n        <div class=\"cbps-line cbps-detected cbps-matched\"><span class=\"cbps-name\">Beer 500ml bottle<\/span><span class=\"cbps-qty\">4<\/span><span class=\"cbps-price\">3.69<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Cider 0.4L bottle<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">4.99<\/span><span class=\"cbps-val\">4.99<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Bread loaf<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">5.49<\/span><span class=\"cbps-val\">5.49<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Cheese 250g<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">8.99<\/span><span class=\"cbps-val\">17.98<\/span><\/div>\n    <div class=\"cbps-line cbps-detected\"><span class=\"cbps-name\">Beer 4-pack 500ml<\/span><span class=\"cbps-qty\">1<\/span><span class=\"cbps-price\">14.76<\/span><span class=\"cbps-val\">14.76<\/span><\/div>\n    <div class=\"cbps-line\"><span class=\"cbps-name\">Mineral water 1.5L<\/span><span class=\"cbps-qty\">2<\/span><span class=\"cbps-price\">2.49<\/span><span class=\"cbps-val\">4.98<\/span><\/div>\n    <div class=\"cbps-summary\">\n      <div class=\"cbps-row cbps-total\"><span>TOTAL EUR<\/span><span>62.96<\/span><\/div>\n    <\/div>\n    <div class=\"cbps-div\"><\/div>\n    <div class=\"cbps-meta\" style=\"text-align:center;\">Receipt #0042\/2026<\/div>\n  <\/div>\n  <div class=\"cbps-caption cbps-caption-match\">Promotion match identified<\/div>\n<\/div>\n  <\/div>\n  <div class=\"cbps-stepper\" aria-hidden=\"true\">\n    <div class=\"cbps-stepper-dots\">\n      <span class=\"cbps-stepper-dot\"><\/span>\n      <span class=\"cbps-stepper-dot\"><\/span>\n      <span class=\"cbps-stepper-dot\"><\/span>\n    <\/div>\n    <div class=\"cbps-progress\"><\/div>\n  <\/div>\n<\/div>\n        <div class=\"img-caption\">Trade Terms &#038; Settlement \u2014 promotion detector identifying the mechanic on each receipt.<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Row 03: image LEFT, text RIGHT -->\n    <div class=\"ps-howit-row\">\n      <div class=\"ps-howit-image\">\n        <div class=\"sd-dashboard\" aria-hidden=\"true\">\n          <div class=\"sd-header\">\n            <div class=\"sd-title-row\">\n              <span class=\"sd-title\">Settlement execution<\/span>\n              <span class=\"sd-info\" aria-hidden=\"true\">i<\/span>\n            <\/div>\n            <div class=\"sd-period\">\n              <span class=\"sd-period-label\">Period<\/span>\n              <span class=\"sd-period-value\">Apr 2026<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-kpis\">\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">4.85M<\/span>\n              <span class=\"sd-kpi-label\">Refund due (EUR)<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">287K<\/span>\n              <span class=\"sd-kpi-label\">Receipts processed<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">24<\/span>\n              <span class=\"sd-kpi-label\">Active promotions<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">8,650<\/span>\n              <span class=\"sd-kpi-label\">Stores covered<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value sd-kpi-value--good\">100%<\/span>\n              <span class=\"sd-kpi-label\">Verified<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-panels\">\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Refund verification<\/span>\n              <div class=\"sd-gauge\">\n                <svg viewbox=\"0 0 100 60\" preserveaspectratio=\"xMidYMid meet\">\n                  <path d=\"M 12 50 A 38 38 0 0 1 88 50\" stroke=\"#e5e7eb\" stroke-width=\"8\" fill=\"none\" stroke-linecap=\"round\"><\/path>\n                  <path d=\"M 12 50 A 38 38 0 0 1 88 50\" stroke=\"#22c55e\" stroke-width=\"8\" fill=\"none\" stroke-linecap=\"round\"><\/path>\n                <\/svg>\n                <div class=\"sd-gauge-value\">100%<\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Refund by mechanic<\/span>\n              <div class=\"sd-bars\">\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Price<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:100%\"><\/div><\/div><span class=\"sd-bar-value\">42%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Multi-buy<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:62%\"><\/div><\/div><span class=\"sd-bar-value\">26%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Bundle<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:40%\"><\/div><\/div><span class=\"sd-bar-value\">17%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Threshold<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:22%\"><\/div><\/div><span class=\"sd-bar-value\">9%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Seasonal<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:12%\"><\/div><\/div><span class=\"sd-bar-value\">4%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Voucher<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:6%\"><\/div><\/div><span class=\"sd-bar-value\">2%<\/span><\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Cumulative refund<\/span>\n              <svg class=\"sd-trend\" viewbox=\"0 0 100 50\" preserveaspectratio=\"none\">\n                <defs>\n                  <lineargradient id=\"sdTrendFill\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                    <stop offset=\"0%\" stop-color=\"rgba(99, 102, 241, 0.30)\"><\/stop>\n                    <stop offset=\"100%\" stop-color=\"rgba(99, 102, 241, 0.02)\"><\/stop>\n                  <\/lineargradient>\n                <\/defs>\n                <path d=\"M 0 46 L 8 42 L 16 38 L 24 33 L 32 28 L 40 24 L 48 19 L 56 15 L 64 11 L 72 8 L 80 6 L 88 4 L 100 3 L 100 50 L 0 50 Z\" fill=\"url(#sdTrendFill)\"><\/path>\n                <path d=\"M 0 46 L 8 42 L 16 38 L 24 33 L 32 28 L 40 24 L 48 19 L 56 15 L 64 11 L 72 8 L 80 6 L 88 4 L 100 3\" stroke=\"#6366f1\" stroke-width=\"1.6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                <circle cx=\"100\" cy=\"3\" r=\"2.2\" fill=\"#6366f1\"><\/circle>\n              <\/svg>\n              <div class=\"sd-trend-axis\">\n                <span>Apr 01<\/span>\n                <span>Apr 30<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-table\">\n            <div class=\"sd-table-title\">Promotion-level refund<\/div>\n            <div class=\"sd-row sd-row--header\">\n              <span>Promotion<\/span>\n              <span>Mechanic<\/span>\n              <span>Refund<\/span>\n              <span><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Beer 4-pack \u2014 Apr promo<\/span>\n              <span class=\"sd-row-mech\">Multi-buy<\/span>\n              <span class=\"sd-row-value\">1.24M<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Cider 0.5l promo price<\/span>\n              <span class=\"sd-row-mech\">Price<\/span>\n              <span class=\"sd-row-value\">980K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Spirits 4+2 weekend<\/span>\n              <span class=\"sd-row-mech\">Bundle<\/span>\n              <span class=\"sd-row-value\">760K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Vodka multi-buy spring<\/span>\n              <span class=\"sd-row-mech\">Multi-buy<\/span>\n              <span class=\"sd-row-value\">540K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Wine pack threshold<\/span>\n              <span class=\"sd-row-mech\">Threshold<\/span>\n              <span class=\"sd-row-value\">390K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row sd-row--more\">\n              <span>+ 19 more promotions<\/span>\n              <span><\/span>\n              <span><\/span>\n              <span><\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-footer\">\n            <span class=\"sd-export\">Export<\/span>\n            <span class=\"sd-export-formats\">XLSX \u00b7 PDF \u00b7 API to ERP<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"img-caption\">Settlement report \u2014 refund per promotion, per mechanic, per retailer, exportable directly to ERP.<\/div>\n      <\/div>\n      <div class=\"ps-howit-content\">\n        <div class=\"step-num\">03<\/div>\n        <h4>Settlement report &#038; ERP handoff<\/h4>\n        <p>At settlement period close, Trade Terms &#038; Settlement generates the refund report: quantity, value and refund due per promotion, per store and per retailer \u2014 with audit trail down to the individual receipt. Export the report as XLSX, PDF or push directly through API to your ERP. Producer approves the report and routes it to finance through the existing accounts-payable workflow.<\/p>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>Refund report \u2014 per promotion, per store, per retailer<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Audit trail \u2014 down to the individual transaction<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Export to ERP \u2014 XLSX, PDF or direct API<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 3: Business Value -->\n\n<section class=\"section bg-white\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Business Value<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);\">Four reasons FMCG finance teams want settlement on receipt data <span class=\"gradient-text\">\u2014 not on retailer reports.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:720px;margin-bottom:var(--space-12);\">Four capabilities that turn trade promotion settlement from a quarterly negotiation into an audit-grade process \u2014 with every refund traceable to the transaction.<\/p>\n    <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1);\">\n      <div style=\"background:var(--color-bg-light);padding:var(--space-8);border-radius:12px 0 0 0;\">\n        <h4 style=\"margin-bottom:var(--space-3);\">Independent verification<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-15);margin-bottom:var(--space-4);\">Stop paying bonus on the retailer\u2019s own declaration. Every transaction has its own audit trail in the receipt \u2014 eligibility, mechanic and refund value computed on transactional data, not on what the retailer chose to report. Negotiations begin from the same dataset, not from two conflicting statements.<\/p>\n      <\/div>\n      <div style=\"background:var(--color-bg-light);padding:var(--space-8);border-radius:0 12px 0 0;margin-left:2px;\">\n        <h4 style=\"margin-bottom:var(--space-3);\">Bargaining power<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-15);margin-bottom:var(--space-4);\">Same data on both sides of the table. Buyer meetings shift from estimation to evidence: which stores executed the mechanic as defined, which did not, on which days, with what value. The conversation becomes operational, not declarative.<\/p>\n      <\/div>\n      <div style=\"background:var(--color-bg-light);padding:var(--space-8);border-radius:0 0 0 12px;margin-top:2px;\">\n        <h4 style=\"margin-bottom:var(--space-3);\">Audit trail for trade spend<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-15);margin-bottom:var(--space-4);\">Each refund payment is supported by a document at the individual receipt level \u2014 with granularity down to the store and the SKU. Internal controls, finance approval and compliance requirements for trade-spend accruals all rest on transactional source data.<\/p>\n      <\/div>\n      <div style=\"background:var(--color-bg-light);padding:var(--space-8);border-radius:0 0 12px 0;margin-top:2px;margin-left:2px;\">\n        <h4 style=\"margin-bottom:var(--space-3);\">Every active promotion verified in parallel<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-15);margin-bottom:var(--space-4);\">Each transaction is verified independently against every active promotion. Producers running campaigns across multiple retailers in parallel settle them all in a single cycle, with no manual split between mechanics, segments or retailers.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 4: MDM Deep-Dive -->\n\n<section class=\"section bg-gray\" id=\"kpi-model\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Settlement Model<\/span>\n    <h3 style=\"margin-bottom:var(--space-6);\">From the receipt at the till <span class=\"gradient-text\">to the refund line in your ERP.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:720px;margin-bottom:var(--space-12);\">Every refund value is built from transactional data \u2014 receipt by receipt, mechanic by mechanic, store by store. The formula below shows the path from a single till transaction to the line item your finance team approves.<\/p>\n\n    <style>\n      .ps-kpi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: start; margin-bottom: var(--space-12); }\n\n      .ps-kpi-tree h4 { margin-bottom: var(--space-6); }\n      .ps-kpi-tree-list { display: flex; flex-direction: column; gap: var(--space-3); }\n      .ps-kpi-card { background: #fff; border-radius: 10px; padding: var(--space-5); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0, 0, 0, 0.04); display: flex; gap: var(--space-4); align-items: flex-start; position: relative; overflow: hidden; }\n      .ps-kpi-card::before { content: \"\"; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }\n      .ps-kpi-card.is-l1::before { background: linear-gradient(180deg, #4f46e5 0%, #7c3aed 100%); }\n      .ps-kpi-card.is-l2::before { background: #6c63ff; }\n      .ps-kpi-card.is-l3::before { background: #a78bfa; }\n      .ps-kpi-card.is-l2 { margin-left: var(--space-6); }\n      .ps-kpi-card.is-l3 { margin-left: calc(var(--space-6) * 2); }\n      .ps-kpi-badge { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--text-13); color: #fff; flex-shrink: 0; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12); }\n      .ps-kpi-badge.is-l1 { background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%); }\n      .ps-kpi-badge.is-l2 { background: #6c63ff; }\n      .ps-kpi-badge.is-l3 { background: #a78bfa; }\n      .ps-kpi-card-body { flex: 1; min-width: 0; }\n      .ps-kpi-card-title { font-weight: var(--font-weight-semibold); color: var(--color-dark); margin-bottom: var(--space-1); font-size: var(--text-15); }\n      .ps-kpi-card-desc { font-size: var(--text-13); color: var(--color-gray-mid); line-height: 1.55; }\n\n      .ps-formula h4 { margin-bottom: var(--space-6); }\n      .ps-formula-card { background: #fff; border-radius: 12px; padding: var(--space-6); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0, 0, 0, 0.04); }\n      .ps-formula-row { display: grid; grid-template-columns: 1fr auto 1.5fr; gap: var(--space-3); align-items: center; padding: var(--space-2) 0; }\n      .ps-formula-row + .ps-formula-row { border-top: 1px dashed rgba(0, 0, 0, 0.06); }\n      .ps-formula-row .ps-formula-label { font-size: var(--text-13); color: var(--color-gray-mid); font-weight: 500; }\n      .ps-formula-row .ps-formula-eq { color: var(--color-gray-mid); font-weight: 700; font-size: var(--text-15); }\n      .ps-formula-row .ps-formula-expr { font-family: \"SF Mono\", Menlo, Consolas, monospace; font-size: var(--text-13); color: var(--color-dark); }\n      .ps-formula-divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.3), transparent); margin: var(--space-3) 0; }\n      .ps-formula-total { background: linear-gradient(90deg, rgba(99, 102, 241, 0.06), rgba(167, 139, 250, 0.06)); border-radius: 8px; padding: var(--space-3) var(--space-4); margin: 0 calc(var(--space-4) * -1); }\n      .ps-formula-total .ps-formula-label { color: var(--color-dark); font-weight: 700; font-size: var(--text-14); }\n      .ps-formula-total .ps-formula-expr { color: var(--color-dark); font-weight: 600; }\n      .ps-formula-total .ps-formula-eq { background: linear-gradient(90deg, #6c63ff, #a78bfa); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\n      .ps-cap-note { font-size: var(--text-12); color: var(--color-gray-mid); line-height: 1.55; padding-top: var(--space-3); margin-top: var(--space-3); border-top: 1px solid rgba(0, 0, 0, 0.06); }\n      .ps-cap-note strong { color: #6c63ff; }\n      .ps-formula-section-divider { height: 1px; background: rgba(0, 0, 0, 0.06); margin: var(--space-6) 0; }\n\n      .ps-output-table { width: 100%; border-collapse: collapse; font-size: var(--text-13); }\n      .ps-output-table td { padding: var(--space-3) 0; border-bottom: 1px dashed rgba(0, 0, 0, 0.06); }\n      .ps-output-table tr:last-child td { border-bottom: none; }\n      .ps-output-table td:first-child { font-weight: var(--font-weight-semibold); color: var(--color-dark); padding-right: var(--space-4); white-space: nowrap; }\n      .ps-output-table td:last-child { color: var(--color-gray-mid); }\n      .ps-output-label { font-size: var(--text-14); font-weight: var(--font-weight-semibold); color: var(--color-dark); margin-bottom: var(--space-3); }\n\n      \/* CHG-289: Settlement model sequence flow (replaces L1\/L2\/L3 hierarchy) *\/\n      .settlement-flow { display: flex; flex-direction: column; gap: 0; }\n      .settlement-stage { background: #fff; border-radius: 10px; padding: var(--space-5); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0, 0, 0, 0.04); display: flex; gap: var(--space-4); align-items: flex-start; position: relative; overflow: hidden; }\n      .settlement-stage::before { content: \"\"; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #4f46e5 0%, #7c3aed 100%); }\n      .settlement-stage-num { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--text-15); color: #fff; flex-shrink: 0; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12); background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%); }\n      .settlement-stage-body { flex: 1; min-width: 0; }\n      .settlement-stage-title { font-weight: var(--font-weight-semibold); color: var(--color-dark); margin-bottom: var(--space-1); font-size: var(--text-15); }\n      .settlement-stage-desc { font-size: var(--text-13); color: var(--color-gray-mid); line-height: 1.55; }\n      .settlement-arrow { width: 2px; height: 24px; margin: var(--space-2) auto; background: linear-gradient(180deg, rgba(124, 58, 237, 0.45) 0%, rgba(124, 58, 237, 0.95) 100%); border-radius: 999px; position: relative; }\n      .settlement-arrow::after { content: \"\"; position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 7px solid rgba(124, 58, 237, 0.95); }\n\n      @media (max-width: 992px) {\n        .ps-kpi-grid { grid-template-columns: 1fr; gap: var(--space-8); }\n        .ps-kpi-card.is-l2 { margin-left: var(--space-4); }\n        .ps-kpi-card.is-l3 { margin-left: calc(var(--space-4) * 2); }\n        .ps-formula-row { grid-template-columns: 1fr; gap: var(--space-1); padding: var(--space-3) 0; }\n        .ps-formula-row .ps-formula-eq { display: none; }\n      }\n    <\/style>\n\n    <div class=\"ps-kpi-grid\">\n      <div class=\"ps-kpi-tree\">\n        <h4>From receipt to refund<\/h4>\n        <div class=\"settlement-flow\">\n          <div class=\"settlement-stage\">\n            <div class=\"settlement-stage-num\">1<\/div>\n            <div class=\"settlement-stage-body\">\n              <p class=\"settlement-stage-title\">Receipt arrives<\/p>\n              <p class=\"settlement-stage-desc\">Store, SKU, quantity, price, timestamp \u2014 pulled next-day by Trade Data Hub from the retailer\u2019s POS feed.<\/p>\n            <\/div>\n          <\/div>\n          <div class=\"settlement-arrow\" aria-hidden=\"true\"><\/div>\n          <div class=\"settlement-stage\">\n            <div class=\"settlement-stage-num\">2<\/div>\n            <div class=\"settlement-stage-body\">\n              <p class=\"settlement-stage-title\">Detection &#038; eligibility<\/p>\n              <p class=\"settlement-stage-desc\">The detector matches your SKUs (EAN, including \u201cshort EAN\u201d resolution) and checks the conditions of each active promotion in parallel.<\/p>\n            <\/div>\n          <\/div>\n          <div class=\"settlement-arrow\" aria-hidden=\"true\"><\/div>\n          <div class=\"settlement-stage\">\n            <div class=\"settlement-stage-num\">3<\/div>\n            <div class=\"settlement-stage-body\">\n              <p class=\"settlement-stage-title\">Eligible value &#038; refund per transaction<\/p>\n              <p class=\"settlement-stage-desc\">For each eligible transaction: eligible value = price \u00d7 quantity, then refund per transaction = eligible value \u00d7 rebate % or fixed amount.<\/p>\n            <\/div>\n          <\/div>\n          <div class=\"settlement-arrow\" aria-hidden=\"true\"><\/div>\n          <div class=\"settlement-stage\">\n            <div class=\"settlement-stage-num\">4<\/div>\n            <div class=\"settlement-stage-body\">\n              <p class=\"settlement-stage-title\">Aggregation &#038; settlement period close<\/p>\n              <p class=\"settlement-stage-desc\">Refund is summed per promotion, per store, per retailer and per settlement period \u2014 ready for export to ERP.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"ps-formula\">\n        <h4>How the refund is calculated<\/h4>\n        <div class=\"ps-formula-card\">\n          <div class=\"ps-formula-row\">\n            <span class=\"ps-formula-label\">SKU match<\/span>\n            <span class=\"ps-formula-eq\">=<\/span>\n            <span class=\"ps-formula-expr\">EAN \u2208 producer asortyment<\/span>\n          <\/div>\n          <div class=\"ps-formula-row\">\n            <span class=\"ps-formula-label\">Eligibility<\/span>\n            <span class=\"ps-formula-eq\">=<\/span>\n            <span class=\"ps-formula-expr\">SKU match AND mechanic conditions met<\/span>\n          <\/div>\n          <div class=\"ps-formula-row\">\n            <span class=\"ps-formula-label\">Eligible value <span class=\"ps-cap-tag\">per transaction<\/span><\/span>\n            <span class=\"ps-formula-eq\">=<\/span>\n            <span class=\"ps-formula-expr\">price \u00d7 quantity<\/span>\n          <\/div>\n          <div class=\"ps-formula-row\">\n            <span class=\"ps-formula-label\">Refund per transaction<\/span>\n            <span class=\"ps-formula-eq\">=<\/span>\n            <span class=\"ps-formula-expr\">eligible value \u00d7 rebate % \u00a0or\u00a0 fixed amount<\/span>\n          <\/div>\n          <div class=\"ps-formula-divider\"><\/div>\n          <div class=\"ps-formula-row ps-formula-total\">\n            <span class=\"ps-formula-label\">Refund due per period<\/span>\n            <span class=\"ps-formula-eq\">=<\/span>\n            <span class=\"ps-formula-expr\">\u03a3 refunds across eligible transactions<\/span>\n          <\/div>\n          <p class=\"ps-cap-note\"><strong>Aggregation:<\/strong> each transaction is checked independently against every active promotion. Aggregation runs per promotion, per store, per retailer and per settlement period \u2014 one transaction can be eligible for multiple promotions in parallel.<\/p>\n          <div class=\"ps-formula-section-divider\"><\/div>\n          <p class=\"ps-output-label\">Settlement report \u2014 output fields<\/p>\n          <table class=\"ps-output-table\">\n            <tr><td>Quantity<\/td><td>Units of SKU meeting promotion conditions<\/td><\/tr>\n            <tr><td>Value<\/td><td>Transaction value \u2014 price \u00d7 quantity<\/td><\/tr>\n            <tr><td>Stores<\/td><td>Number of stores with eligible sales<\/td><\/tr>\n            <tr><td>Receipts<\/td><td>Number of receipts with the mechanic triggered<\/td><\/tr>\n            <tr><td>Refund due<\/td><td>Computed bonus payable to the retailer<\/td><\/tr>\n            <tr><td>Format<\/td><td>XLSX \u00b7 PDF \u00b7 API to ERP<\/td><\/tr>\n          <\/table>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 5: Category Intelligence -->\n\n<section class=\"section bg-white\">\n  <style>\n    .cat-layers { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-bottom: var(--space-10); }\n    .cat-layer-card { background: var(--color-bg-light); padding: var(--space-8); border-radius: 12px; position: relative; overflow: hidden; }\n    .cat-layer-card::before { content: \"\"; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #4f46e5 0%, #7c3aed 100%); }\n    .cat-layer-eyebrow { font-size: var(--text-11); font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: #6c63ff; margin-bottom: var(--space-3); }\n    .cat-example { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 12px; padding: var(--space-6); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); max-width: 720px; margin: 0 auto var(--space-6); }\n    .cat-example-title { font-size: var(--text-12); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #475569; margin-bottom: var(--space-4); }\n    .cat-table { width: 100%; border-collapse: collapse; font-size: var(--text-13); }\n    .cat-table th { text-align: left; font-weight: 600; color: #94a3b8; font-size: var(--text-11); letter-spacing: 0.08em; text-transform: uppercase; padding: var(--space-2) 0; border-bottom: 1px solid #e2e8f0; }\n    .cat-table th:nth-child(n+2) { text-align: right; }\n    .cat-table td { padding: var(--space-3) 0; border-bottom: 1px dashed rgba(0, 0, 0, 0.06); color: #1f2937; }\n    .cat-table tr:last-child td { border-bottom: none; }\n    .cat-table td:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; }\n    .cat-table .cat-share { font-weight: 700; color: #15803d; }\n    @media (max-width: 992px) {\n      .cat-layers { grid-template-columns: 1fr; gap: var(--space-5); }\n    }\n  <\/style>\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Bonus layer<\/span>\n    <h3 style=\"margin-bottom:var(--space-6);\">Beyond your receipts \u2014 <span class=\"gradient-text\">your share of category, from the same feed.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:760px;margin-bottom:var(--space-12);\">Receipts cover your SKUs \u2014 what sold and which transactions were eligible for promotion. Many retailers also report category-level totals in the same data feed: total Beer, total Spirits, total Confectionery per network or store. One integration, three layers of intelligence.<\/p>\n\n    <div class=\"cat-layers\">\n      <div class=\"cat-layer-card\">\n        <p class=\"cat-layer-eyebrow\">Layer 1 \u00b7 receipts<\/p>\n        <h4 style=\"margin-bottom:var(--space-3);\">Your SKU sales<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-14);margin:0;\">Every transaction with your products \u2014 already extracted from receipts for promotion settlement. Quantity, value, store, timestamp, mechanic flag.<\/p>\n      <\/div>\n      <div class=\"cat-layer-card\">\n        <p class=\"cat-layer-eyebrow\">Layer 2 \u00b7 category totals<\/p>\n        <h4 style=\"margin-bottom:var(--space-3);\">Category sales from the retailer<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-14);margin:0;\">Total Beer, total Spirits, total Confectionery \u2014 aggregate values reported by the retailer at network or store level, in the same daily feed.<\/p>\n      <\/div>\n      <div class=\"cat-layer-card\">\n        <p class=\"cat-layer-eyebrow\">Layer 3 \u00b7 share of category<\/p>\n        <h4 style=\"margin-bottom:var(--space-3);\">Your sales vs competition<\/h4>\n        <p style=\"color:var(--color-gray-mid);font-size:var(--text-14);margin:0;\">Computed automatically: your sales \u00f7 category total. Compare share by retailer, channel, region and period \u2014 against the rest of the category.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cat-example\">\n      <p class=\"cat-example-title\">Example \u2014 share of category by retailer, month<\/p>\n      <table class=\"cat-table\">\n        <thead>\n          <tr><th>Category<\/th><th>Your sales<\/th><th>Total category<\/th><th>Your share<\/th><\/tr>\n        <\/thead>\n        <tbody>\n          <tr><td>Beer<\/td><td>4.20M<\/td><td>18.50M<\/td><td class=\"cat-share\">22.7%<\/td><\/tr>\n          <tr><td>Cider<\/td><td>1.10M<\/td><td>3.20M<\/td><td class=\"cat-share\">34.3%<\/td><\/tr>\n          <tr><td>Spirits<\/td><td>2.80M<\/td><td>14.00M<\/td><td class=\"cat-share\">20.0%<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n\n    <p style=\"font-size:var(--text-13);color:var(--color-gray-mid);font-style:italic;max-width:760px;line-height:1.6;margin:0;\">Category-level reporting is available when the retailer\u2019s data feed includes category totals. The exact scope is confirmed during data integration setup.<\/p>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 6: Customer Success Story -->\n\n<section class=\"section bg-dark\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\" style=\"color:var(--color-gray-light);\">Results<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);color:#fff;\">What changes when settlement runs on the receipt \u2014 <span class=\"gradient-text\">not on the retailer\u2019s report.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-light);max-width:720px;margin-bottom:var(--space-12);\">Three outcomes that consistently follow when trade promotion settlement moves from manual reconciliation of retailer declarations to receipt-level verification on POS data.<\/p>\n    <div style=\"display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-bottom:var(--space-12);\">\n      <div style=\"background:rgba(255,255,255,0.05);border-radius:12px;padding:var(--space-8);text-align:center;border:1px solid rgba(255,255,255,0.08);\">\n        <p style=\"font-size:var(--text-48);font-weight:var(--font-weight-bold);line-height:1.2;padding-top:0.1em;background:linear-gradient(135deg, #818cf8 0%, #c4b5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2);\">Days \u2192 Hours<\/p>\n        <p style=\"color:#fff;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);\">Settlement period close<\/p>\n        <p style=\"color:var(--color-gray-light);font-size:var(--text-13);\">From manual reconciliation of retailer declarations to an automated daily report \u2014 same data, computed end-to-end<\/p>\n      <\/div>\n      <div style=\"background:rgba(255,255,255,0.05);border-radius:12px;padding:var(--space-8);text-align:center;border:1px solid rgba(255,255,255,0.08);\">\n        <p style=\"font-size:var(--text-48);font-weight:var(--font-weight-bold);line-height:1.2;padding-top:0.1em;background:linear-gradient(135deg, #818cf8 0%, #c4b5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2);\">All campaigns<\/p>\n        <p style=\"color:#fff;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);\">Verified in parallel<\/p>\n        <p style=\"color:var(--color-gray-light);font-size:var(--text-13);\">Every receipt checked against every active promotion \u2014 no manual split between mechanics or retailers<\/p>\n      <\/div>\n      <div style=\"background:rgba(255,255,255,0.05);border-radius:12px;padding:var(--space-8);text-align:center;border:1px solid rgba(255,255,255,0.08);\">\n        <p style=\"font-size:var(--text-48);font-weight:var(--font-weight-bold);line-height:1.2;padding-top:0.1em;background:linear-gradient(135deg, #818cf8 0%, #c4b5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2);\">0<\/p>\n        <p style=\"color:#fff;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);\">Manual receipt sampling<\/p>\n        <p style=\"color:var(--color-gray-light);font-size:var(--text-13);\">Every transaction in the settlement period is verified \u2014 not a statistical sample, not a retailer declaration<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 7: Integration Ecosystem -->\n\n<section class=\"section bg-white\" id=\"implementation\" style=\"padding-bottom:var(--space-10);\">\n  <style>\n    .ps-process-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); position: relative; padding-top: var(--space-2); margin-bottom: var(--space-12); }\n    .ps-process-timeline::before { content: \"\"; position: absolute; top: calc(var(--space-2) + 28px); left: 10%; right: 10%; height: 3px; background: linear-gradient(90deg, #4f46e5 0%, #6366f1 25%, #7c3aed 50%, #a78bfa 100%); border-radius: 999px; z-index: 0; }\n    .ps-process-step { position: relative; z-index: 1; text-align: center; display: flex; flex-direction: column; align-items: center; padding: 0 var(--space-2); }\n    .ps-process-circle { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%); color: #fff; font-weight: 700; font-size: var(--text-18); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-4); box-shadow: 0 8px 20px rgba(99, 102, 241, 0.35); border: 4px solid #fff; flex-shrink: 0; }\n    .ps-process-step h5 { margin-bottom: var(--space-2); color: var(--color-dark); font-size: var(--text-15); }\n    .ps-process-step .ps-process-time { font-size: var(--text-12); font-weight: 600; color: #6c63ff; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-2); }\n    .ps-process-step p { font-size: var(--text-13); color: var(--color-gray-mid); line-height: 1.55; }\n    @media (max-width: 992px) {\n      .ps-process-timeline { grid-template-columns: 1fr; gap: var(--space-6); }\n      .ps-process-timeline::before { left: 50%; right: auto; top: 0; bottom: 0; height: auto; width: 3px; background: linear-gradient(180deg, #4f46e5 0%, #6366f1 25%, #7c3aed 50%, #a78bfa 100%); }\n      .ps-process-step { padding: 0; }\n    }\n  <\/style>\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Implementation<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);\">From retailer kick-off to first refund report: <span class=\"gradient-text\">up to 12 weeks per retailer.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:760px;margin-bottom:var(--space-12);\">Each retailer is a separate integration project \u2014 with its own ERP, its own data export logic and its own product coding conventions. Asseco runs the integration end-to-end with our own implementation team of <strong>160+ specialists<\/strong>, refined across <strong>170+ FMCG implementations<\/strong>.<\/p>\n    <div class=\"ps-process-timeline\">\n      <div class=\"ps-process-step\">\n        <div class=\"ps-process-circle\">01<\/div>\n        <h5>Retailer kick-off<\/h5>\n        <div class=\"ps-process-time\">1 week<\/div>\n        <p>Scope, formats, technical contact and sample data agreed with the retailer<\/p>\n      <\/div>\n      <div class=\"ps-process-step\">\n        <div class=\"ps-process-circle\">02<\/div>\n        <h5>POS interface build<\/h5>\n        <div class=\"ps-process-time\">4\u20136 weeks<\/div>\n        <p>Retailer prepares the receipt export interface on its side \u2014 typically the longest step, dependent on retailer IT priorities<\/p>\n      <\/div>\n      <div class=\"ps-process-step\">\n        <div class=\"ps-process-circle\">03<\/div>\n        <h5>SKU &#038; store mapping<\/h5>\n        <div class=\"ps-process-time\">1\u20132 weeks<\/div>\n        <p>Producer SKUs mapped to retailer codes, store hierarchy modeled, \u201cshort EAN\u201d resolved (in parallel with step 02)<\/p>\n      <\/div>\n      <div class=\"ps-process-step\">\n        <div class=\"ps-process-circle\">04<\/div>\n        <h5>Detector configuration<\/h5>\n        <div class=\"ps-process-time\">2\u20133 weeks<\/div>\n        <p>First promotions configured in the detector, tested on historical week of data, mapping corrections finalised<\/p>\n      <\/div>\n      <div class=\"ps-process-step\">\n        <div class=\"ps-process-circle\">05<\/div>\n        <h5>Go-live &#038; first cycle<\/h5>\n        <div class=\"ps-process-time\">1 settlement period<\/div>\n        <p>First refund report generated automatically, validated with producer finance, full production cycle running<\/p>\n      <\/div>\n    <\/div>\n    <p style=\"font-size:var(--text-13);color:var(--color-gray-mid);font-style:italic;max-width:760px;line-height:1.6;margin:0;\">Total per retailer: up to 12 weeks end-to-end, with steps 02 and 03 typically running in parallel. After the first retailer is integrated, subsequent retailers are faster \u2014 detector templates and store-mapping conventions are reused.<\/p>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 9: Industry Recognition -->\n\n<section class=\"section bg-white\" id=\"recognition\" style=\"padding-top:var(--space-10);\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Industry Recognition<\/span>\n    <h3 style=\"margin-bottom:var(--space-3);\">Which analysts and standards recognise Asseco Platform for trade execution?<\/h3>\n    <p style=\"max-width:42rem;margin-bottom:var(--space-12);\">Independent recognition to support your internal business case.<\/p>\n\n    <div class=\"columns columns--3\">\n\n      <div class=\"card animate-on-visible fade-in\" style=\"position:relative;overflow:hidden;\">\n        <div class=\"recognition-card__icon\">\n          <img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/gartner.svg\" alt=\"Gartner\" style=\"filter:none;\"\/>\n        <\/div>\n        <h4 style=\"margin-bottom:var(--space-2);\">Gartner Representative Vendor<\/h4>\n        <p style=\"font-size:var(--text-12);color:var(--color-blue-light);margin-bottom:var(--space-4);\">Market Guide for Retail Execution \u2013 2025<\/p>\n        <p style=\"margin-bottom:0;font-size:var(--text-14);\">Asseco Platform named as a Representative Vendor in the Gartner Market Guide for Retail Execution Management in FMCG \u2013 trade promotion execution and settlement are part of the platform\u2019s recognised retail execution capabilities.<\/p>\n      <\/div>\n\n      <div class=\"card animate-on-visible fade-in\" style=\"position:relative;overflow:hidden;\">\n        <div class=\"recognition-card__icon\">\n          <img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/poi.png\" alt=\"POI Best-in-Class\"\/>\n        <\/div>\n        <h4 style=\"margin-bottom:var(--space-2);\">POI Best-in-Class<\/h4>\n        <p style=\"font-size:var(--text-12);color:var(--color-blue-light);margin-bottom:var(--space-4);\">9 distinctions across Asseco Platform \u2013 2025<\/p>\n        <p style=\"margin-bottom:0;font-size:var(--text-14);\">Asseco Platform earned 9 POI Best-in-Class distinctions \u2013 the highest count of any vendor evaluated. Trade promotion settlement draws directly on distinctions in compliance, retail activity optimisation and trade execution.<\/p>\n      <\/div>\n\n      <div class=\"card animate-on-visible fade-in\" style=\"position:relative;overflow:hidden;\">\n        <div class=\"recognition-card__icon\">\n          <img decoding=\"async\" src=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/iso.svg\" alt=\"ISO\/IEC 27001:2022\"\/>\n        <\/div>\n        <h4 style=\"margin-bottom:var(--space-2);\">ISO\/IEC 27001:2022<\/h4>\n        <p style=\"font-size:var(--text-12);color:var(--color-blue-light);margin-bottom:var(--space-4);\">Certified<\/p>\n        <p style=\"margin-bottom:0;font-size:var(--text-14);\">Internationally recognised information security management certification. Critical for enterprise IT decision-makers when evaluating settlement engines and POS-data integrations.<\/p>\n      <\/div>\n\n    <\/div>\n\n    <div style=\"margin-top:var(--space-8);\">\n      <div class=\"wp-block-button is-style-arrow-right\"><a class=\"wp-block-button__link wp-element-button\" href=\"\/case-studies\/\">See all credentials &#038; client proofs<\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n\n<!-- TDH LP \u2014 Section 8: Why Asseco Platform -->\n\n<section class=\"section bg-white\" id=\"why-asseco\">\n  <style>\n    .ps-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }\n    .ps-why-card { background: #fff; border-radius: 16px; padding: var(--space-8); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0, 0, 0, 0.05); position: relative; overflow: hidden; transition: transform 0.25s ease, box-shadow 0.25s ease; }\n    .ps-why-card::before { content: \"\"; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #4f46e5 0%, #7c3aed 50%, #a78bfa 100%); }\n    .ps-why-card::after { content: \"\"; position: absolute; bottom: -60px; right: -60px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(124, 58, 237, 0.06) 0%, transparent 70%); pointer-events: none; }\n    .ps-why-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(99, 102, 241, 0.12); }\n    .ps-why-icon { width: 64px; height: 64px; border-radius: 16px; background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%); display: inline-flex; align-items: center; justify-content: center; margin-bottom: var(--space-5); box-shadow: 0 8px 20px rgba(99, 102, 241, 0.30); position: relative; z-index: 1; }\n    .ps-why-icon svg { width: 28px; height: 28px; color: #fff; stroke: #fff; }\n    .ps-why-card h4 { margin-bottom: var(--space-3); color: var(--color-dark); font-size: var(--text-18); position: relative; z-index: 1; }\n    .ps-why-card > p { font-size: var(--text-15); color: var(--color-gray-mid); margin-bottom: var(--space-5); line-height: 1.6; position: relative; z-index: 1; }\n    .ps-why-divider { height: 1px; background: linear-gradient(90deg, rgba(99, 102, 241, 0.2), transparent); margin-bottom: var(--space-4); position: relative; z-index: 1; }\n    .ps-why-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-3); position: relative; z-index: 1; }\n    .ps-why-card li { display: flex; gap: var(--space-2); font-size: var(--text-13); color: var(--color-gray-mid); line-height: 1.55; }\n    .ps-why-card li > span.arrow { color: #6c63ff; font-weight: 700; flex-shrink: 0; }\n    @media (max-width: 992px) {\n      .ps-why-grid { grid-template-columns: 1fr; }\n    }\n  <\/style>\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Why Asseco Platform<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);\">Settlement engineered around FMCG operations <span class=\"gradient-text\">\u2014 not assembled from generic trade-promo features.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:760px;margin-bottom:var(--space-12);\">Three things that set checkout-based settlement at Asseco apart from a horizontal trade-promo management tool with POS connectors bolted on the side.<\/p>\n    <div class=\"ps-why-grid\">\n      <div class=\"ps-why-card\">\n        <div class=\"ps-why-icon\">\n          <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n            <line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"><\/line>\n            <line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"><\/line>\n            <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"><\/line>\n            <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"><\/line>\n            <line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"><\/line>\n            <line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"><\/line>\n            <line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"><\/line>\n            <line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"><\/line>\n            <line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"><\/line>\n          <\/svg>\n        <\/div>\n        <h4>Integration depth \u2014 170+ FMCG implementations<\/h4>\n        <p>Asseco Platform has been integrating retail and distribution data for FMCG producers across the region for two decades. Retailer onboarding is not a generic ERP project \u2014 it is a methodology refined across <strong>170+ FMCG implementations<\/strong> and <strong>160+ implementation specialists<\/strong>.<\/p>\n        <div class=\"ps-why-divider\"><\/div>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>170+ FMCG implementations across CEE \u2014 producers, distributors, retailers<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Two decades of POS-data work \u2014 CSV, XML, fixed-width, proprietary feeds<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Same implementation team end-to-end \u2014 no handover to a third party mid-project<\/span><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"ps-why-card\">\n        <div class=\"ps-why-icon\">\n          <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n            <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"><\/path>\n            <line x1=\"8\" y1=\"9\" x2=\"16\" y2=\"9\"><\/line>\n            <line x1=\"8\" y1=\"13\" x2=\"13\" y2=\"13\"><\/line>\n          <\/svg>\n        <\/div>\n        <h4>FMCG-only focus<\/h4>\n        <p>Asseco Platform builds exclusively for FMCG. Every promotion mechanic supported, every retailer data feed integrated, every store dictionary structure modeled \u2014 all of it grounded in real FMCG operations, not in a horizontal feature catalog adapted to multiple industries.<\/p>\n        <div class=\"ps-why-divider\"><\/div>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>6 promotion mechanics from real FMCG campaigns \u2014 not a generic TPM template<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>\u201cShort EAN\u201d, retailer-specific codes, branch hierarchies \u2014 common ground, not edge cases<\/span><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"ps-why-card\">\n        <div class=\"ps-why-icon\">\n          <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n            <circle cx=\"12\" cy=\"12\" r=\"2.5\"><\/circle>\n            <circle cx=\"5\" cy=\"5\" r=\"2\"><\/circle>\n            <circle cx=\"19\" cy=\"5\" r=\"2\"><\/circle>\n            <circle cx=\"5\" cy=\"19\" r=\"2\"><\/circle>\n            <circle cx=\"19\" cy=\"19\" r=\"2\"><\/circle>\n            <line x1=\"6.5\" y1=\"6.5\" x2=\"10.5\" y2=\"10.5\"><\/line>\n            <line x1=\"17.5\" y1=\"6.5\" x2=\"13.5\" y2=\"10.5\"><\/line>\n            <line x1=\"6.5\" y1=\"17.5\" x2=\"10.5\" y2=\"13.5\"><\/line>\n            <line x1=\"17.5\" y1=\"17.5\" x2=\"13.5\" y2=\"13.5\"><\/line>\n          <\/svg>\n        <\/div>\n        <h4>Retailer onboarding as a service<\/h4>\n        <p>Each retailer has its own ERP, its own data export logic and its own product coding conventions. Asseco does not assume a clean feed exists \u2014 we agree the technical interface with the retailer\u2019s IT team, validate the data, and operate the feed end-to-end.<\/p>\n        <div class=\"ps-why-divider\"><\/div>\n        <ul>\n          <li><span class=\"arrow\">\u2192<\/span><span>Direct engagement with the retailer\u2019s IT team for the technical integration<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>SKU mapping and store dictionary built and maintained by Asseco<\/span><\/li>\n          <li><span class=\"arrow\">\u2192<\/span><span>Daily reconciliation and data-quality flags operated as a managed service<\/span><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 10: Platform Ecosystem -->\n\n<section class=\"section bg-gray\" id=\"ecosystem\">\n  <style>\n    .eco-2cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); margin-bottom: var(--space-8); }\n    .eco-card { background: #fff; border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow 0.25s ease; text-decoration: none; color: inherit; }\n    .eco-card { outline: none; }\n    .eco-card-title-link { color: inherit; text-decoration: none; }\n    .eco-card-title-link:hover { color: #6c63ff; text-decoration: underline; text-underline-offset: 3px; }\n    .eco-card-thumb { width: 100%; min-height: 120px; overflow: visible; background: #fff; position: relative; display: flex; align-items: stretch; padding: 10px 12px 0; }\n    .eco-card-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }\n    .eco-card-body { padding: var(--space-5) var(--space-6); flex: 1; display: flex; flex-direction: column; gap: var(--space-2); }\n    .eco-card-title { font-weight: var(--font-weight-semibold); color: var(--color-dark); font-size: var(--text-16); margin: 0; }\n    .eco-card-desc { font-size: var(--text-14); color: var(--color-gray-mid); line-height: 1.55; margin: 0; }\n    .eco-card-role { font-size: var(--text-11); font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: #6c63ff; margin-bottom: var(--space-1); }\n    .eco-footnote { font-size: var(--text-13); color: var(--color-gray-mid); font-style: italic; max-width: 720px; line-height: 1.6; margin: 0; }\n    \/* CHG-296: Eco card mini-diagrams matching How It Works step 1 visual language *\/\n    .eco-thumb-diagram {\n      background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%), linear-gradient(180deg, #1e293b 0%, #0f172a 100%);\n      padding: 10px 12px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18), inset 0 -1px 0 rgba(255,255,255,0.04);\n      width: 100%;\n      border-radius: 10px;\n    }\n    .eco-pipeline {\n      display: grid;\n      grid-template-columns: repeat(var(--steps, 3), 1fr);\n      gap: 6px;\n      position: relative;\n      padding-top: 2px;\n      width: 100%;\n      max-width: 100%;\n      font-family: 'Poppins', system-ui, sans-serif;\n    }\n    .eco-pipeline::before {\n      content: \"\";\n      position: absolute;\n      top: calc(2px + 14px);\n      left: 14%;\n      right: 14%;\n      height: 2px;\n      background: linear-gradient(90deg, #6366f1 0%, #7c3aed 50%, #a78bfa 100%);\n      border-radius: 999px;\n      z-index: 0;\n    }\n    .eco-step {\n      position: relative;\n      z-index: 1;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      gap: 5px;\n      text-align: center;\n      min-width: 0;\n    }\n    .eco-step-circle {\n      width: 28px;\n      height: 28px;\n      border-radius: 50%;\n      background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);\n      color: #fff;\n      font-weight: 700;\n      font-size: 11px;\n      display: inline-flex;\n      align-items: center;\n      justify-content: center;\n      box-shadow: 0 4px 10px rgba(99, 102, 241, 0.35);\n      border: 2px solid rgba(15, 23, 42, 0.85);\n      flex-shrink: 0;\n    }\n    .eco-step-label {\n      font-size: 10px;\n      font-weight: 700;\n      color: #fff;\n      line-height: 1.15;\n    }\n    .eco-step-sub {\n      font-size: 8.5px;\n      color: rgba(255,255,255,0.65);\n      line-height: 1.2;\n    }\n    .eco-mini-connector {\n      display: flex;\n      flex-direction: row;\n      align-items: center;\n      margin: 0 4px;\n      flex-shrink: 0;\n    }\n    .eco-mini-connector-line {\n      width: 10px;\n      height: 1.5px;\n      background: linear-gradient(90deg, rgba(124, 58, 237, 0.45) 0%, rgba(124, 58, 237, 0.95) 100%);\n      border-radius: 999px;\n    }\n    .eco-mini-connector-arrow {\n      width: 0; height: 0;\n      border-top: 4px solid transparent;\n      border-bottom: 4px solid transparent;\n      border-left: 5px solid rgba(124, 58, 237, 0.95);\n      border-right: 0;\n      margin-left: -1px;\n    }\n\n    @media (max-width: 768px) {\n      .eco-2cards { grid-template-columns: 1fr; }\n      \n    }\n  <\/style>\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">Required components<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);\">Checkout-Based Settlement runs on two products. <span class=\"gradient-text\">Trade Data Hub and Trade Terms &#038; Settlement.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:760px;margin-bottom:var(--space-10);\">No additional Asseco products are needed for settlement on POS receipts. Trade Data Hub handles data acquisition; Trade Terms &#038; Settlement hosts the promotion detector and refund formula.<\/p>\n\n    <div class=\"eco-2cards\">\n      <div class=\"eco-card\">\n        <div class=\"eco-card-thumb eco-thumb-diagram\" aria-hidden=\"true\">\n            <div class=\"eco-pipeline\" style=\"--steps:2;\">\n              <div class=\"eco-step\">\n                <div class=\"eco-step-circle\">1<\/div>\n                <div class=\"eco-step-label\">Retailer profiles<\/div>\n                <div class=\"eco-step-sub\">Different formats, scales<\/div>\n              <\/div>\n              <div class=\"eco-step\">\n                <div class=\"eco-step-circle\">2<\/div>\n                <div class=\"eco-step-label\">Unified receipt model<\/div>\n                <div class=\"eco-step-sub\">Normalised, deduplicated<\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <div class=\"eco-card-body\">\n          <span class=\"eco-card-role\">Data acquisition<\/span>\n          <p class=\"eco-card-title\"><a href=\"https:\/\/assecoplatform.com\/trade-data-hub\/\" class=\"eco-card-title-link\">Trade Data Hub<\/a><\/p>\n          <p class=\"eco-card-desc\">Connects to each retailer\u2019s POS feed, normalises the data, resolves SKU mapping and store hierarchy \u2014 the foundation under every settlement run.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"eco-card\">\n        <div class=\"eco-card-thumb eco-thumb-diagram\" aria-hidden=\"true\">\n            <div class=\"eco-pipeline\" style=\"--steps:3;\">\n              <div class=\"eco-step\">\n                <div class=\"eco-step-circle\">1<\/div>\n                <div class=\"eco-step-label\">Receipt<\/div>\n                <div class=\"eco-step-sub\">Store, SKU, qty, price<\/div>\n              <\/div>\n              <div class=\"eco-step\">\n                <div class=\"eco-step-circle\">2<\/div>\n                <div class=\"eco-step-label\">Detection<\/div>\n                <div class=\"eco-step-sub\">SKU + mechanic check<\/div>\n              <\/div>\n              <div class=\"eco-step\">\n                <div class=\"eco-step-circle\">3<\/div>\n                <div class=\"eco-step-label\">Refund<\/div>\n                <div class=\"eco-step-sub\">Per receipt, aggregated<\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <div class=\"eco-card-body\">\n          <span class=\"eco-card-role\">Refund mechanics<\/span>\n          <p class=\"eco-card-title\">Trade Terms &#038; Settlement<\/p>\n          <p class=\"eco-card-desc\">Settlement engine hosting the promotion detector and the refund formula. The parent product under which Checkout-Based Promotional Settlement runs as a module.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <p class=\"eco-footnote\">Part of the Trade Promotion Settlement category. Sister modules for distributor sell-out and voucher redemption mechanics are in development.<\/p>\n  <\/div>\n<\/section>\n\n\n<!-- TDH LP \u2014 Section 11: FAQ -->\n\n<section class=\"section bg-white\" id=\"faq\">\n  <div class=\"container-wide\">\n    <span class=\"section-badge\">FAQ<\/span>\n    <h3 style=\"margin-bottom:var(--space-4);\">Common questions about <span class=\"gradient-text\">checkout-based settlement and POS data feeds.<\/span><\/h3>\n    <p style=\"font-size:var(--text-18);color:var(--color-gray-mid);max-width:720px;margin-bottom:var(--space-12);\">Answers to the questions Sales Directors, Trade Marketing Managers and Finance Controllers ask most often before and during implementation.<\/p>\n    <div style=\"display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);\">\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">What is Checkout-Based Promotional Settlement?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">A module that automates trade promotion settlement between FMCG producers and retailers using POS receipt data. The producer no longer relies on the retailer\u2019s own monthly declaration as the basis for refund \u2014 every transaction is verified at the till, the mechanic is identified per receipt, and the refund report is built on transactional source data.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">How does it differ from distributor-based settlement?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">This module reads POS receipt data directly from retailers \u2014 the retail sell-out layer. For promotions executed through distributors (the distributor sell-out layer), a separate sister module is required: Distributor-Based Promotional Settlement. Talk to us if that is your scenario.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">Which retailers does it work with today?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Active integrations are in place across the Polish FMCG market today, with expansion planned across CEE. New retailers are onboarded individually \u2014 typical onboarding takes up to 12 weeks end-to-end, with the retailer\u2019s IT preparation usually the longest step.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">What about GDPR and personal data on receipts?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Receipt data is processed at transaction level, not at customer level. Loyalty-card identifiers and any personally identifiable information are excluded from the settlement feed. Data processing is governed by the producer\u2013retailer data sharing agreement, and the system runs on infrastructure certified to ISO\/IEC 27001:2022.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">What happens if a retailer sends inconsistent data?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Trade Data Hub includes data-quality checks, deduplication and reconciliation routines on every daily feed. Inconsistencies are flagged automatically and routed back to the retailer for correction. Settlement reports include data-quality metadata so finance teams know which numbers are settled and which are pending.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">Can it handle multiple promotions running in parallel?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Yes. Each transaction is verified independently against every active promotion. There is no limit on concurrent promotions \u2014 producers running campaigns across multiple retailers in parallel settle them in a single cycle, with no manual split between mechanics or retailers.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">What promotion mechanics does it support?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Six mechanics are supported out-of-the-box: price promotions, multi-buy and package mechanics, value thresholds, seasonal time and store windows, bundle gratis (e.g. 4+2), and voucher-redemption equivalents. The list of supported mechanics is extended as new promotion types appear in client portfolios.<\/p>\n      <\/div>\n      <div style=\"padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light);\">\n        <p style=\"font-weight:var(--font-weight-semibold);color:var(--color-dark);margin-bottom:var(--space-2);\">How does it integrate with our ERP and finance system?<\/p>\n        <p style=\"font-size:var(--text-14);color:var(--color-gray-mid);\">Settlement reports export as XLSX, PDF or push directly through API to the producer\u2019s ERP. The producer approves the report and routes it to finance through the existing accounts-payable workflow. Trade Terms &#038; Settlement integrates with major ERPs in use across FMCG.<\/p>\n      <\/div>\n    <\/div>\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n      {\n        \"@type\": \"Question\",\n        \"name\": \"What is Checkout-Based Promotional Settlement?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"A module that automates trade promotion settlement between FMCG producers and retailers using POS receipt data. The producer no longer relies on the retailer\u2019s own monthly declaration as the basis for refund \u2014 every transaction is verified at the till, the mechanic is identified per receipt, and the refund report is built on transactional source data.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"How does it differ from distributor-based settlement?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"This module reads POS receipt data directly from retailers \u2014 the retail sell-out layer. For promotions executed through distributors (the distributor sell-out layer), a separate sister module is required: Distributor-Based Promotional Settlement. Talk to us if that is your scenario.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"Which retailers does it work with today?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Active integrations are in place across the Polish FMCG market today, with expansion planned across CEE. New retailers are onboarded individually \u2014 typical onboarding takes up to 12 weeks end-to-end, with the retailer\u2019s IT preparation usually the longest step.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"What about GDPR and personal data on receipts?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Receipt data is processed at transaction level, not at customer level. Loyalty-card identifiers and any personally identifiable information are excluded from the settlement feed. Data processing is governed by the producer\u2013retailer data sharing agreement, and the system runs on infrastructure certified to ISO\/IEC 27001:2022.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"What happens if a retailer sends inconsistent data?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Trade Data Hub includes data-quality checks, deduplication and reconciliation routines on every daily feed. Inconsistencies are flagged automatically and routed back to the retailer for correction. Settlement reports include data-quality metadata so finance teams know which numbers are settled and which are pending.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"Can it handle multiple promotions running in parallel?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Yes. Each transaction is verified independently against every active promotion. There is no limit on concurrent promotions \u2014 producers running campaigns across multiple retailers in parallel settle them in a single cycle, with no manual split between mechanics or retailers.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"What promotion mechanics does it support?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Six mechanics are supported out-of-the-box: price promotions, multi-buy and package mechanics, value thresholds, seasonal time and store windows, bundle gratis (e.g. 4+2), and voucher-redemption equivalents. The list of supported mechanics is extended as new promotion types appear in client portfolios.\"\n        }\n      },\n      {\n        \"@type\": \"Question\",\n        \"name\": \"How does it integrate with our ERP and finance system?\",\n        \"acceptedAnswer\": {\n          \"@type\": \"Answer\",\n          \"text\": \"Settlement reports export as XLSX, PDF or push directly through API to the producer\u2019s ERP. The producer approves the report and routes it to finance through the existing accounts-payable workflow. Trade Terms & Settlement integrates with major ERPs in use across FMCG.\"\n        }\n      }\n    ]\n  }\n  <\/script>\n  <\/div>\n<\/section>\n\n\n<!-- Schema.org SoftwareApplication JSON-LD -->\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"SoftwareApplication\",\n  \"name\": \"Checkout-Based Promotional Settlement \u2014 a Trade Promotion Settlement Module of Asseco Platform\",\n  \"description\": \"Checkout-Based Promotional Settlement automates trade promotion refund calculation between FMCG producers and retailers on POS receipt data. live across Polish FMCG retailers, next-day cycle, 6 promotion mechanics detected at receipt level. Powered by Trade Data Hub and Trade Terms & Settlement.\",\n  \"url\": \"https:\/\/assecoplatform.com\/checkout-based-promotional-settlement\/\",\n  \"applicationCategory\": \"BusinessApplication\",\n  \"applicationSubCategory\": \"Trade Promotion Settlement\",\n  \"operatingSystem\": \"Cloud-based\",\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"availability\": \"https:\/\/schema.org\/InStock\",\n    \"description\": \"Enterprise pricing on request. Available as a settlement module within Trade Terms & Settlement, powered by Trade Data Hub.\"\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"Asseco Business Solutions\",\n    \"url\": \"https:\/\/assecoplatform.com\"\n  },\n  \"featureList\": [\n    \"POS receipt feed with daily next-day cycle across Polish FMCG retailers\",\n    \"SKU mapping including short-EAN resolution and retailer-specific product codes\",\n    \"Promotion detector supporting 6 mechanics: price, multi-buy, threshold, seasonal, bundle, voucher\",\n    \"All active promotions verified in parallel \u2014 every receipt checked against every campaign\",\n    \"Settlement formula with transaction-level audit trail per receipt\",\n    \"Refund report export: XLSX, PDF, API push to ERP\",\n    \"Retailer onboarding as a managed service: SKU mapping, store dictionary, data-quality flags\"\n  ],\n  \"audience\": {\n    \"@type\": \"BusinessAudience\",\n    \"audienceType\": \"FMCG Sales Director, Trade Marketing Manager, Finance Controller\"\n  }\n}\n<\/script>\n\n\n\n\n<section class=\"section bg-dark\">\n  <style>\n    .ps-cta-grid { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-12); align-items: center; text-align: left; margin-bottom: var(--space-10); }\n    .ps-cta-grid .ps-cta-image img { width: 100%; max-width: 820px; height: auto; display: block; margin: 0 auto; }\n    .ps-cta-grid .ps-cta-content .badge-row { margin-bottom: var(--space-3); display: inline-block; }\n    .ps-cta-grid .ps-cta-buttons { display: flex; gap: var(--space-4); flex-wrap: wrap; }\n    .ps-cta-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); max-width: 560px; margin: 0 auto; text-align: center; }\n    @media (max-width: 992px) {\n      .ps-cta-grid { grid-template-columns: 1fr; gap: var(--space-6); text-align: center; }\n      .ps-cta-grid .ps-cta-image { order: -1; }\n      .ps-cta-grid .ps-cta-buttons { justify-content: center; }\n    }\n  <\/style>\n  <div class=\"container-wide\">\n    <div class=\"ps-cta-grid\">\n      <div class=\"ps-cta-image\">\n        <div class=\"sd-dashboard\" aria-hidden=\"true\">\n          <div class=\"sd-header\">\n            <div class=\"sd-title-row\">\n              <span class=\"sd-title\">Settlement execution<\/span>\n              <span class=\"sd-info\" aria-hidden=\"true\">i<\/span>\n            <\/div>\n            <div class=\"sd-period\">\n              <span class=\"sd-period-label\">Period<\/span>\n              <span class=\"sd-period-value\">Apr 2026<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-kpis\">\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">4.85M<\/span>\n              <span class=\"sd-kpi-label\">Refund due (EUR)<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">287K<\/span>\n              <span class=\"sd-kpi-label\">Receipts processed<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">24<\/span>\n              <span class=\"sd-kpi-label\">Active promotions<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value\">8,650<\/span>\n              <span class=\"sd-kpi-label\">Stores covered<\/span>\n            <\/div>\n            <div class=\"sd-kpi\">\n              <span class=\"sd-kpi-value sd-kpi-value--good\">100%<\/span>\n              <span class=\"sd-kpi-label\">Verified<\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-panels\">\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Refund verification<\/span>\n              <div class=\"sd-gauge\">\n                <svg viewbox=\"0 0 100 60\" preserveaspectratio=\"xMidYMid meet\">\n                  <path d=\"M 12 50 A 38 38 0 0 1 88 50\" stroke=\"#e5e7eb\" stroke-width=\"8\" fill=\"none\" stroke-linecap=\"round\"><\/path>\n                  <path d=\"M 12 50 A 38 38 0 0 1 88 50\" stroke=\"#22c55e\" stroke-width=\"8\" fill=\"none\" stroke-linecap=\"round\"><\/path>\n                <\/svg>\n                <div class=\"sd-gauge-value\">100%<\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Refund by mechanic<\/span>\n              <div class=\"sd-bars\">\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Price<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:100%\"><\/div><\/div><span class=\"sd-bar-value\">42%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Multi-buy<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:62%\"><\/div><\/div><span class=\"sd-bar-value\">26%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Bundle<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:40%\"><\/div><\/div><span class=\"sd-bar-value\">17%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Threshold<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:22%\"><\/div><\/div><span class=\"sd-bar-value\">9%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Seasonal<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:12%\"><\/div><\/div><span class=\"sd-bar-value\">4%<\/span><\/div>\n                <div class=\"sd-bar-row\"><span class=\"sd-bar-name\">Voucher<\/span><div class=\"sd-bar-track\"><div class=\"sd-bar-fill\" style=\"width:6%\"><\/div><\/div><span class=\"sd-bar-value\">2%<\/span><\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"sd-panel\">\n              <span class=\"sd-panel-title\">Cumulative refund<\/span>\n              <svg class=\"sd-trend\" viewbox=\"0 0 100 50\" preserveaspectratio=\"none\">\n                <defs>\n                  <lineargradient id=\"sdTrendFill\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n                    <stop offset=\"0%\" stop-color=\"rgba(99, 102, 241, 0.30)\"><\/stop>\n                    <stop offset=\"100%\" stop-color=\"rgba(99, 102, 241, 0.02)\"><\/stop>\n                  <\/lineargradient>\n                <\/defs>\n                <path d=\"M 0 46 L 8 42 L 16 38 L 24 33 L 32 28 L 40 24 L 48 19 L 56 15 L 64 11 L 72 8 L 80 6 L 88 4 L 100 3 L 100 50 L 0 50 Z\" fill=\"url(#sdTrendFill)\"><\/path>\n                <path d=\"M 0 46 L 8 42 L 16 38 L 24 33 L 32 28 L 40 24 L 48 19 L 56 15 L 64 11 L 72 8 L 80 6 L 88 4 L 100 3\" stroke=\"#6366f1\" stroke-width=\"1.6\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n                <circle cx=\"100\" cy=\"3\" r=\"2.2\" fill=\"#6366f1\"><\/circle>\n              <\/svg>\n              <div class=\"sd-trend-axis\">\n                <span>Apr 01<\/span>\n                <span>Apr 30<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-table\">\n            <div class=\"sd-table-title\">Promotion-level refund<\/div>\n            <div class=\"sd-row sd-row--header\">\n              <span>Promotion<\/span>\n              <span>Mechanic<\/span>\n              <span>Refund<\/span>\n              <span><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Beer 4-pack \u2014 Apr promo<\/span>\n              <span class=\"sd-row-mech\">Multi-buy<\/span>\n              <span class=\"sd-row-value\">1.24M<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Cider 0.5l promo price<\/span>\n              <span class=\"sd-row-mech\">Price<\/span>\n              <span class=\"sd-row-value\">980K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Spirits 4+2 weekend<\/span>\n              <span class=\"sd-row-mech\">Bundle<\/span>\n              <span class=\"sd-row-value\">760K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Vodka multi-buy spring<\/span>\n              <span class=\"sd-row-mech\">Multi-buy<\/span>\n              <span class=\"sd-row-value\">540K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row\">\n              <span class=\"sd-row-name\">Wine pack threshold<\/span>\n              <span class=\"sd-row-mech\">Threshold<\/span>\n              <span class=\"sd-row-value\">390K<\/span>\n              <span class=\"sd-row-status sd-row-status--good\"><\/span>\n            <\/div>\n            <div class=\"sd-row sd-row--more\">\n              <span>+ 19 more promotions<\/span>\n              <span><\/span>\n              <span><\/span>\n              <span><\/span>\n            <\/div>\n          <\/div>\n\n          <div class=\"sd-footer\">\n            <span class=\"sd-export\">Export<\/span>\n            <span class=\"sd-export-formats\">XLSX \u00b7 PDF \u00b7 API to ERP<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ps-cta-content\">\n        <span class=\"section-badge badge-row\" style=\"color:var(--color-gray-light);\">Get Started<\/span>\n        <h3 style=\"color:#fff;margin-bottom:var(--space-4);\">Move trade promotion settlement <span class=\"gradient-text\">from a quarterly negotiation to a daily, audit-grade process.<\/span><\/h3>\n        <p style=\"font-size:var(--text-18);color:var(--color-gray-light);margin-bottom:var(--space-8);\">Book a conversation with an Asseco Platform specialist. We will walk you through a real receipt-level settlement, talk through the retailer onboarding methodology, and map your trade promo programme to the detector capabilities.<\/p>\n        <div class=\"ps-cta-buttons\">\n          <a href=\"https:\/\/assecoplatform.com\/contact-us-asseco-platform\/\" class=\"btn btn-primary btn-lg\">Book a demo<\/a>\n          <a href=\"https:\/\/assecoplatform.com\/contact-us-asseco-platform\/\" class=\"btn btn-outline-light btn-lg\">Contact us<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Checkout-Based Promotional Settlement by Asseco Platform: a settlement module powered by Trade Data Hub and Trade Terms &amp; Settlement \u2014 receipt-level verification of trade promotion execution between FMCG producers and retailers. REGIONAL COOPERATIVE #14 Store ID: RC-014 \u00b7 East Region FISCAL RECEIPT Beer 500ml bottle43.6914.76 Cider 0.4L bottle14.994.99 Bread loaf15.495.49 Cheese 250g28.9917.98 Beer 4-pack 500ml114.7614.76 [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wp-custom-template-page-with-dark-footer","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-7989","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Trade Promotion Management: rimborso dagli scontrini | Asseco<\/title>\n<meta name=\"description\" content=\"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trade Promotion Management: rimborso dagli scontrini | Asseco\" \/>\n<meta property=\"og:description\" content=\"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/\" \/>\n<meta property=\"og:site_name\" content=\"Asseco Platform\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-11T13:25:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/09\/perfect-store.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Checkout-Based Promotional Settlement\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/09\/perfect-store.png\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"15 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/\",\"name\":\"Trade Promotion Management: rimborso dagli scontrini | Asseco\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/nestle.svg\",\"datePublished\":\"2026-05-11T11:06:50+00:00\",\"dateModified\":\"2026-05-11T13:25:25+00:00\",\"description\":\"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/nestle.svg\",\"contentUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/nestle.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/checkout-based-promotional-settlement\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/homepage\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Checkout-Based Promotional Settlement\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/\",\"name\":\"Asseco Platform\",\"description\":\"Solutions for FMCG\",\"publisher\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#organization\",\"name\":\"Asseco Platform\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/asseco_platform.svg\",\"contentUrl\":\"https:\\\/\\\/assecoplatform.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/asseco_platform.svg\",\"caption\":\"Asseco Platform\"},\"image\":{\"@id\":\"https:\\\/\\\/assecoplatform.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Trade Promotion Management: rimborso dagli scontrini | Asseco","description":"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/","og_locale":"it_IT","og_type":"article","og_title":"Trade Promotion Management: rimborso dagli scontrini | Asseco","og_description":"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.","og_url":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/","og_site_name":"Asseco Platform","article_modified_time":"2026-05-11T13:25:25+00:00","og_image":[{"url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/09\/perfect-store.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_title":"Checkout-Based Promotional Settlement","twitter_image":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/09\/perfect-store.png","twitter_misc":{"Tempo di lettura stimato":"15 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/","url":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/","name":"Trade Promotion Management: rimborso dagli scontrini | Asseco","isPartOf":{"@id":"https:\/\/assecoplatform.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/#primaryimage"},"image":{"@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/#primaryimage"},"thumbnailUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/nestle.svg","datePublished":"2026-05-11T11:06:50+00:00","dateModified":"2026-05-11T13:25:25+00:00","description":"Trade Promotion Management sui dati POS \u2014 automazione dei rimborsi promozionali tra produttori FMCG e catene. Ciclo del giorno dopo, 6 meccaniche.","breadcrumb":{"@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/#primaryimage","url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/nestle.svg","contentUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2026\/04\/nestle.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/assecoplatform.com\/it\/checkout-based-promotional-settlement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/assecoplatform.com\/it\/homepage\/"},{"@type":"ListItem","position":2,"name":"Checkout-Based Promotional Settlement"}]},{"@type":"WebSite","@id":"https:\/\/assecoplatform.com\/it\/#website","url":"https:\/\/assecoplatform.com\/it\/","name":"Asseco Platform","description":"Solutions for FMCG","publisher":{"@id":"https:\/\/assecoplatform.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/assecoplatform.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/assecoplatform.com\/it\/#organization","name":"Asseco Platform","url":"https:\/\/assecoplatform.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/assecoplatform.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/07\/asseco_platform.svg","contentUrl":"https:\/\/assecoplatform.com\/wp-content\/uploads\/2024\/07\/asseco_platform.svg","caption":"Asseco Platform"},"image":{"@id":"https:\/\/assecoplatform.com\/it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/7989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/comments?post=7989"}],"version-history":[{"count":4,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/7989\/revisions"}],"predecessor-version":[{"id":7995,"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/pages\/7989\/revisions\/7995"}],"wp:attachment":[{"href":"https:\/\/assecoplatform.com\/it\/wp-json\/wp\/v2\/media?parent=7989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}