{"id":17056,"date":"2026-04-18T17:39:47","date_gmt":"2026-04-18T15:39:47","guid":{"rendered":"https:\/\/etriplesoft.com\/odoo-dashboard-insights\/"},"modified":"2026-04-18T17:39:47","modified_gmt":"2026-04-18T15:39:47","slug":"odoo-dashboard-insights","status":"publish","type":"post","link":"https:\/\/etriplesoft.com\/ar\/odoo-dashboard-insights\/","title":{"rendered":"Odoo Dashboard &amp; Insights"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"17056\" class=\"elementor elementor-17056\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dacfa27 e-flex e-con-boxed e-con e-parent\" data-id=\"dacfa27\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fcb8c28 elementor-widget elementor-widget-heading\" data-id=\"fcb8c28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\"><span style=\"font-family: Outfit, sans-serif;font-size: 54.4px;letter-spacing: -0.544px;white-space: normal\">Odoo Dashboard &amp; Insights<\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b1017ba e-con-full e-flex e-con e-parent\" data-id=\"b1017ba\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d1b9615 elementor-widget elementor-widget-html\" data-id=\"d1b9615\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap\" rel=\"stylesheet\">\r\n\r\n  <style>\r\n    \/* ----- Design system: light + blue gradient (matches Etriplesoft blog) ----- *\/\r\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n    :root {\r\n      --bg: #071020;\r\n      --bg-alt: #0A1628;\r\n      --bg-dark: #071020;\r\n      --bg-dark-card: #0F1E35;\r\n      --surface: #0F1E35;\r\n      --surface-alt: #0A1628;\r\n      --border: #1A3050;\r\n      --border-light: #1A3050;\r\n      --text: #E8F0FF;\r\n      --text-secondary: #7A9DC8;\r\n      --text-muted: #4A6FA0;\r\n      --brand-primary: #1B6FE4;\r\n      --brand-secondary: #00C4CC;\r\n      --brand-accent: #00C4CC;\r\n      --brand-light: rgba(27,111,228,.18);\r\n      --brand-gradient: linear-gradient(135deg, #1B6FE4 0%, #00C4CC 100%);\r\n      --green: #22C55E;\r\n      --green-light: rgba(34,197,94,.15);\r\n      --amber: #FB923C;\r\n      --amber-light: rgba(251,146,60,.15);\r\n      --rose: #F87171;\r\n      --rose-light: rgba(248,113,113,.15);\r\n      --purple: #875A7B;\r\n      --purple-light: rgba(135,90,123,.15);\r\n      --teal: #00C4CC;\r\n      --teal-light: rgba(0,196,204,.12);\r\n      --orange: #FB923C;\r\n      --radius: 12px;\r\n      --radius-lg: 18px;\r\n      --radius-sm: 8px;\r\n      --shadow-sm: 0 2px 20px rgba(0,0,0,.40);\r\n      --shadow: 0 4px 28px rgba(0,0,0,.45);\r\n      --shadow-lg: 0 8px 40px rgba(0,0,0,.50);\r\n      --max-w: 820px;\r\n      --max-w-wide: 1160px;\r\n    }\r\n\r\n    html { scroll-behavior: smooth; font-size: 16px; -webkit-font-smoothing: antialiased; }\r\n    body { font-family: 'Inter', 'Plus Jakarta Sans', sans-serif; background: var(--bg); color: var(--text); line-height: 1.75; letter-spacing: 0.015em; }\r\n    ::selection { background: var(--brand-secondary); color: #fff; }\r\n    strong { color: #E8F0FF; }\r\n    a { color: var(--brand-primary); text-decoration: none; transition: 0.2s; }\r\n    a:hover { color: var(--brand-secondary); text-decoration: underline; }\r\n    h1, h2, h3, h4 { font-family: 'Inter', 'Plus Jakarta Sans', sans-serif; font-weight: 700; color: #E8F0FF; line-height: 1.2; }\r\n    h2 { font-size: 2rem; margin-bottom: 1.5rem; letter-spacing: -0.01em; }\r\n    p { color: #7A9DC8; margin-bottom: 1.3rem; letter-spacing: 0.015em; }\r\n    code { font-family: 'JetBrains Mono', monospace; background: #112B4E; padding: 2px 8px; border-radius: 4px; font-size: 0.88em; color: #00C4CC; }\r\n\r\n    .container { max-width: var(--max-w-wide); margin: 0 auto; padding: 0 24px; }\r\n\r\n    \/* ----- Hero (dark) ----- *\/\r\n    .hero {\r\n      background: linear-gradient(135deg,#071020 0%,#0D2240 45%,#1A3A5C 80%,#1B5FC4 100%);\r\n      color: #fff;\r\n      position: relative;\r\n      overflow: hidden;\r\n      padding: 0;\r\n      margin-bottom: 0;\r\n      border-radius: 0;\r\n    }\r\n    .hero::before {\r\n      content: '';\r\n      position: absolute;\r\n      top: -40%; right: -20%;\r\n      width: 700px; height: 700px;\r\n      background: radial-gradient(circle, rgba(27,111,228,.25) 0%, transparent 70%);\r\n      pointer-events: none;\r\n    }\r\n    .hero::after {\r\n      content: '';\r\n      position: absolute;\r\n      bottom: -30%; left: -10%;\r\n      width: 500px; height: 500px;\r\n      background: radial-gradient(circle, rgba(0,196,204,.15) 0%, transparent 70%);\r\n      pointer-events: none;\r\n    }\r\n    .hero .container { position: relative; z-index: 2; padding-top: 80px; padding-bottom: 72px; }\r\n    .breadcrumb {\r\n      font-size: .82rem;\r\n      color: rgba(255,255,255,.5);\r\n      margin-bottom: 28px;\r\n      font-weight: 500;\r\n      display: flex;\r\n      gap: 0.5rem;\r\n      flex-wrap: wrap;\r\n    }\r\n    .breadcrumb a { color: rgba(255,255,255,.6); }\r\n    .breadcrumb a:hover { color: #fff; text-decoration: none; }\r\n    .breadcrumb strong { color: rgba(255,255,255,.8); font-weight: 600; }\r\n    .subtitle {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      background: rgba(0,196,204,.12);\r\n      border: 1px solid rgba(0,196,204,.3);\r\n      border-radius: 100px;\r\n      padding: 6px 18px 6px 12px;\r\n      font-size: .78rem;\r\n      font-weight: 600;\r\n      color: #00C4CC;\r\n      margin-bottom: 28px;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n    }\r\n    h1 {\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: clamp(2.2rem, 5vw, 3.4rem);\r\n      font-weight: 800;\r\n      line-height: 1.15;\r\n      margin-bottom: 20px;\r\n      letter-spacing: -0.01em;\r\n      color: #ffffff;\r\n    }\r\n    .hero-desc {\r\n      font-size: 1.15rem;\r\n      color: #8AAFD8;\r\n      max-width: 680px;\r\n      line-height: 1.7;\r\n      margin-bottom: 36px;\r\n    }\r\n    .cta-group { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 56px; }\r\n    .btn {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      padding: 14px 28px;\r\n      border-radius: 10px;\r\n      font-weight: 700;\r\n      font-size: .92rem;\r\n      border: none;\r\n      cursor: pointer;\r\n      transition: all .25s;\r\n      text-decoration: none;\r\n      font-family: inherit;\r\n    }\r\n    .btn-primary {\r\n      background: var(--brand-gradient);\r\n      color: #fff;\r\n      box-shadow: 0 4px 16px rgba(27,111,228,.3);\r\n    }\r\n    .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(27,111,228,.4); text-decoration: none; }\r\n    .btn-secondary {\r\n      background: transparent;\r\n      color: #fff;\r\n      border: 1.5px solid rgba(255,255,255,.25);\r\n    }\r\n    .btn-secondary:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); text-decoration: none; }\r\n\r\n    \/* Hero Stats *\/\r\n    .stats {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\r\n      gap: 20px;\r\n      max-width: 720px;\r\n      margin: 2.2rem 0;\r\n    }\r\n    .stat-card {\r\n      text-align: center;\r\n      padding: 20px 12px;\r\n      background: rgba(255,255,255,.04);\r\n      border: 1px solid rgba(255,255,255,.08);\r\n      border-radius: var(--radius);\r\n      backdrop-filter: blur(8px);\r\n    }\r\n    .stat-card strong {\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: 1.8rem;\r\n      font-weight: 800;\r\n      color: #00C4CC;\r\n      display: block;\r\n      line-height: 1.2;\r\n    }\r\n    .stat-card span { font-size: .78rem; color: rgba(255,255,255,.5); font-weight: 500; margin-top: 4px; display: block; letter-spacing: 0.025em; }\r\n    .meta {\r\n      display: flex;\r\n      gap: 2rem;\r\n      flex-wrap: wrap;\r\n      color: rgba(255,255,255,.5);\r\n      font-size: 0.9rem;\r\n      margin-bottom: 0;\r\n      padding-bottom: 0;\r\n      border-bottom: none;\r\n    }\r\n\r\n    \/* ----- Main grid (TOC + content) ----- *\/\r\n    .main-grid { display: grid; grid-template-columns: 200px 1fr; gap: 2.5rem; align-items: start; margin-top: 64px; }\r\n    @media (max-width: 950px) { .main-grid { grid-template-columns: 1fr; } }\r\n    \/* TOC *\/\r\n    .toc {\r\n      position: sticky;\r\n      top: 24px;\r\n      z-index: 100;\r\n      background: var(--surface-alt);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      padding: 22px 16px;\r\n      margin-bottom: 3rem;\r\n      box-shadow: var(--shadow);\r\n      max-height: calc(100vh - 48px);\r\n      overflow-y: auto;\r\n      margin-left: -32px;\r\n    }\r\n    .toc::-webkit-scrollbar { width: 3px; }\r\n    .toc::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }\r\n    .toc h3 {\r\n      font-family: 'Inter', sans-serif;\r\n      font-weight: 800;\r\n      font-size: 1rem;\r\n      margin-bottom: 16px;\r\n      color: #C8DEFF;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      text-transform: none;\r\n      letter-spacing: normal;\r\n    }\r\n    .toc ul { list-style: none; padding-left: 0; }\r\n    .toc li {\r\n      margin-bottom: 0.8rem;\r\n      border-left: 2px solid var(--border);\r\n      padding-left: 1rem;\r\n      transition: 0.2s;\r\n    }\r\n    .toc li:hover { border-left-color: var(--brand-secondary); }\r\n    .toc a { color: var(--text-muted); font-size: 0.9rem; font-weight: 500; letter-spacing: 0.015em; }\r\n    .toc a:hover { color: var(--brand-secondary); text-decoration: none; }\r\n\r\n    \/* Sections *\/\r\n    section { margin-bottom: 5rem; scroll-margin-top: 2.5rem; }\r\n    h2 {\r\n      font-size: 2rem;\r\n      margin-bottom: 1.5rem;\r\n      position: relative;\r\n      display: inline-block;\r\n      letter-spacing: 0.01em;\r\n      color: #E8F0FF;\r\n    }\r\n    h2::after {\r\n      content: '';\r\n      position: absolute;\r\n      bottom: -10px;\r\n      left: 0;\r\n      width: 45px;\r\n      height: 4px;\r\n      background: var(--brand-secondary);\r\n      border-radius: 2px;\r\n    }\r\n    h3 { font-size: 1.5rem; margin: 2.2rem 0 1.2rem; color: #E8F0FF; letter-spacing: 0.012em; }\r\n\r\n    \/* Card grids *\/\r\n    .card-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));\r\n      gap: 20px;\r\n      margin-top: 1.8rem;\r\n    }\r\n    .card {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      padding: 28px 24px;\r\n      transition: all .3s;\r\n      box-shadow: var(--shadow-sm);\r\n    }\r\n    .card:hover {\r\n      border-color: var(--brand-accent);\r\n      box-shadow: var(--shadow-lg);\r\n      transform: translateY(-4px);\r\n    }\r\n    .card-icon { font-size: 2rem; margin-bottom: 0.8rem; display: block; }\r\n    .card h3 { margin-top: 0; font-size: 1.2rem; margin-bottom: 0.5rem; color: #E8F0FF; letter-spacing: 0.015em; }\r\n\r\n    \/* Workflow Phases *\/\r\n    .workflow { position: relative; }\r\n    .phase {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      padding: 1.8rem;\r\n      margin-bottom: 1.2rem;\r\n      border-left: 6px solid var(--brand-secondary);\r\n      box-shadow: var(--shadow-sm);\r\n    }\r\n    .phase-header {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      margin-bottom: 0.8rem;\r\n      flex-wrap: wrap;\r\n      gap: 0.8rem;\r\n    }\r\n    .phase-header strong { font-size: 1.2rem; color: #E8F0FF; font-family: 'Inter', sans-serif; letter-spacing: 0.015em; }\r\n    .phase-num {\r\n      background: rgba(27,111,228,.18);\r\n      color: #00C4CC;\r\n      padding: 0.4rem 1rem;\r\n      border-radius: 40px;\r\n      font-weight: 600;\r\n      font-size: 0.85rem;\r\n      border: 1px solid var(--border);\r\n      letter-spacing: 0.025em;\r\n    }\r\n    .phase p { color: #7A9DC8; }\r\n\r\n    \/* Modules Bento *\/\r\n    .bento-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));\r\n      gap: 24px;\r\n    }\r\n    .module-card {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      padding: 32px;\r\n      transition: all .3s;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .module-card:hover {\r\n      border-color: var(--brand-accent);\r\n      box-shadow: var(--shadow-lg);\r\n      transform: translateY(-4px);\r\n    }\r\n    .module-card h3 {\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: 1.2rem;\r\n      font-weight: 700;\r\n      margin: 0 0 10px;\r\n      color: #E8F0FF;\r\n      letter-spacing: 0.015em;\r\n      font-size: 1rem;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      flex-wrap: nowrap;\r\n    }\r\n    .module-card ul { margin: 1.2rem 0 0 1.4rem; color: #7A9DC8; }\r\n    .module-card li { margin-bottom: 0.7rem; font-size: 0.92rem; color: #7A9DC8; letter-spacing: 0.015em; }\r\n\r\n    \/* Charts showcase grid *\/\r\n    .charts-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));\r\n      gap: 14px;\r\n      margin-top: 1.8rem;\r\n    }\r\n    .chart-tile {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      padding: 20px 14px;\r\n      text-align: center;\r\n      transition: all .25s;\r\n      box-shadow: var(--shadow-sm);\r\n    }\r\n    .chart-tile:hover {\r\n      border-color: var(--brand-accent);\r\n      transform: translateY(-3px);\r\n      box-shadow: var(--shadow);\r\n    }\r\n    .chart-tile .ico { font-size: 1.8rem; display: block; margin-bottom: 6px; }\r\n    .chart-tile strong { font-size: 0.9rem; color: #E8F0FF; font-family: 'Inter', sans-serif; display: block; letter-spacing: 0.02em; }\r\n    .chart-tile span { font-size: 0.78rem; color: #4A6FA0; display: block; margin-top: 4px; letter-spacing: 0.025em; }\r\n\r\n    \/* Access layers matrix *\/\r\n    .matrix-wrap {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      padding: 2rem;\r\n      margin-top: 1.8rem;\r\n      box-shadow: var(--shadow-sm);\r\n      overflow-x: auto;\r\n    }\r\n    .layer-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n      gap: 10px;\r\n    }\r\n    .layer-cell {\r\n      padding: 14px 12px;\r\n      border-radius: var(--radius-sm);\r\n      font-weight: 600;\r\n      font-size: 0.88rem;\r\n      border: 1px solid var(--border);\r\n      background: #0A1628;\r\n      color: #E8F0FF;\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      letter-spacing: 0.02em;\r\n      font-size: 0.9rem;\r\n    }\r\n    .layer-cell .dot {\r\n      width: 8px; height: 8px; border-radius: 50%; background: #1B6FE4; flex-shrink: 0;\r\n    }\r\n    .layer-cell.accent .dot { background: var(--brand-accent); }\r\n    .layer-cell.green .dot { background: var(--green); }\r\n    .layer-cell.amber .dot { background: var(--amber); }\r\n    .layer-cell.rose  .dot { background: var(--rose); }\r\n    .layer-cell.purple .dot { background: var(--purple); }\r\n\r\n    \/* Pipeline *\/\r\n    .pipeline {\r\n      display: flex;\r\n      align-items: center;\r\n      gap: 8px;\r\n      flex-wrap: wrap;\r\n      padding: 1.4rem;\r\n      background: var(--surface-alt);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      margin: 1.5rem 0;\r\n    }\r\n    .pipe-stage {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      padding: 8px 14px;\r\n      border-radius: 8px;\r\n      font-size: 0.85rem;\r\n      font-weight: 600;\r\n      color: var(--text);\r\n      letter-spacing: 0.02em;\r\n    }\r\n    .pipe-stage.start { border-color: var(--brand-secondary); color: var(--brand-secondary); }\r\n    .pipe-stage.hold { background: rgba(251,146,60,.15); border-color: #FB923C; color: #FB923C; }\r\n    .pipe-stage.done { background: rgba(34,197,94,.15); border-color: #22C55E; color: #22C55E; }\r\n    .pipe-stage.purple { background: rgba(135,90,123,.15); border-color: #C084FC; color: #C084FC; }\r\n    .pipe-arrow { color: var(--text-muted); font-weight: 700; }\r\n\r\n    \/* Compliance \/ trust grid *\/\r\n    .compliance-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\r\n      gap: 20px;\r\n      margin-top: 2rem;\r\n    }\r\n    .country-card {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      padding: 28px 20px;\r\n      text-align: center;\r\n      transition: all .3s;\r\n    }\r\n    .country-card:hover { border-color: var(--brand-accent); box-shadow: var(--shadow); }\r\n    .flag { font-size: 2rem; margin-bottom: 12px; display: block; }\r\n    .country-card h3 { font-size: 1rem; margin: 0 0 8px; color: #E8F0FF; letter-spacing: 0.015em; }\r\n    .country-card p { font-size: 0.85rem; color: #4A6FA0; letter-spacing: 0.015em; }\r\n\r\n    \/* Testimonials *\/\r\n    .testimonial-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n      gap: 1.8rem;\r\n      margin-top: 2rem;\r\n    }\r\n    .testimonial {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      padding: 2rem;\r\n    }\r\n    .testimonial p { font-style: italic; font-size: 1.05rem; color: #7A9DC8; letter-spacing: 0.015em; }\r\n    .testimonial-author { margin-top: 1.2rem; color: var(--brand-secondary); font-weight: 600; letter-spacing: 0.015em; }\r\n\r\n    \/* Results *\/\r\n    .results-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\r\n      gap: 20px;\r\n      margin-top: 2rem;\r\n    }\r\n    .result-item {\r\n      text-align: center;\r\n      padding: 32px 20px;\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius-lg);\r\n      transition: all .3s;\r\n    }\r\n    .result-item:hover { border-color: var(--brand-accent); box-shadow: var(--shadow); }\r\n    .result-item strong {\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: 2.4rem;\r\n      font-weight: 900;\r\n      color: #00C4CC;\r\n      display: block;\r\n      margin-bottom: 8px;\r\n    }\r\n    .result-item p { font-weight: 700; color: #E8F0FF; margin-bottom: 6px; letter-spacing: 0.015em; }\r\n\r\n    \/* FAQ *\/\r\n    .faq-item {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      margin-bottom: 1rem;\r\n      overflow: hidden;\r\n      transition: all .3s;\r\n    }\r\n    .faq-item:hover { border-color: var(--brand-secondary); background: #0F1E35; }\r\n    .faq-q {\r\n      padding: 20px 24px;\r\n      cursor: pointer;\r\n      font-weight: 700;\r\n      display: flex;\r\n      justify-content: space-between;\r\n      align-items: center;\r\n      color: #C8DEFF;\r\n      font-size: 1rem;\r\n      user-select: none;\r\n      letter-spacing: 0.015em;\r\n    }\r\n    .faq-q::after {\r\n      content: '+';\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: 1.4rem;\r\n      font-weight: 300;\r\n      color: var(--brand-secondary);\r\n      transition: transform .3s;\r\n    }\r\n    .faq-a {\r\n      max-height: 0;\r\n      overflow: hidden;\r\n      transition: max-height .4s ease, padding .3s ease;\r\n      padding: 0 24px;\r\n      color: #7A9DC8;\r\n      letter-spacing: 0.015em;\r\n    }\r\n    .faq-item.active .faq-a {\r\n      max-height: 500px;\r\n      padding-bottom: 20px;\r\n    }\r\n    .faq-item.active .faq-q::after { content: '\u2212'; }\r\n\r\n    \/* CTA Section *\/\r\n    .cta-section {\r\n      background: var(--brand-gradient);\r\n      border-radius: var(--radius-lg);\r\n      padding: 48px 40px;\r\n      text-align: center;\r\n      color: #fff;\r\n      margin: 56px 0;\r\n      position: relative;\r\n      overflow: hidden;\r\n    }\r\n    .cta-section::before {\r\n      content: '';\r\n      position: absolute;\r\n      top: -50%; right: -20%;\r\n      width: 400px; height: 400px;\r\n      background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 70%);\r\n      pointer-events: none;\r\n    }\r\n    .cta-section h2 {\r\n      font-family: 'Inter', sans-serif;\r\n      font-size: 1.8rem;\r\n      font-weight: 800;\r\n      margin-bottom: 12px;\r\n      color: #fff;\r\n    }\r\n    .cta-section h2::after { display: none; }\r\n    .cta-section p { color: rgba(255,255,255,.9); margin-bottom: 28px; font-size: 1.1rem; }\r\n    .cta-section .btn {\r\n      background: #fff;\r\n      color: var(--brand-primary);\r\n      font-weight: 700;\r\n      padding: 1.1rem 2.5rem;\r\n    }\r\n    .cta-section .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.15); }\r\n\r\n    \/* Case highlight *\/\r\n    .case-highlight {\r\n      background: var(--surface-alt);\r\n      border-radius: var(--radius);\r\n      padding: 2.2rem;\r\n      border: 1px solid var(--border);\r\n      margin: 2.5rem 0;\r\n    }\r\n    .case-highlight h3 { margin-top: 0; color: var(--brand-secondary); }\r\n\r\n    \/* RTL badge row *\/\r\n    .badge-row {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n      margin-top: 1.4rem;\r\n    }\r\n    .badge-pill {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 6px;\r\n      background: rgba(27,111,228,.18);\r\n      color: #60A5FA;\r\n      padding: 8px 16px;\r\n      border-radius: 100px;\r\n      font-size: 0.85rem;\r\n      font-weight: 600;\r\n      border: 1px solid rgba(27,111,228,.3);\r\n      letter-spacing: 0.02em;\r\n    }\r\n    .badge-pill.accent { background: rgba(0,196,204,.12); color: #00C4CC; border-color: rgba(0,196,204,.3); }\r\n    .badge-pill.green { background: rgba(34,197,94,.15); color: #22C55E; border-color: rgba(34,197,94,.3); }\r\n    .badge-pill.amber { background: rgba(251,146,60,.15); color: #FB923C; border-color: rgba(251,146,60,.3); }\r\n    .badge-pill.purple { background: rgba(135,90,123,.15); color: #C084FC; border-color: rgba(135,90,123,.3); }\r\n\r\n    \/* Arabic sample text block *\/\r\n    .arabic-demo {\r\n      background: var(--surface);\r\n      border: 1px solid var(--border);\r\n      border-radius: var(--radius);\r\n      padding: 2rem;\r\n      margin-top: 1.8rem;\r\n      direction: rtl;\r\n      text-align: right;\r\n      font-family: 'Plus Jakarta Sans', sans-serif;\r\n    }\r\n    .arabic-demo h4 {\r\n      font-family: 'Inter', sans-serif;\r\n      color: var(--brand-secondary);\r\n      margin-bottom: 0.8rem;\r\n      font-size: 1.1rem;\r\n    }\r\n    .arabic-demo p { margin-bottom: 0.6rem; color: #7A9DC8; font-size: 0.95rem; letter-spacing: 0.015em; }\r\n\r\n    footer {\r\n      text-align: center;\r\n      padding: 3rem 0;\r\n      border-top: 1px solid var(--border);\r\n      margin-top: 4rem;\r\n      color: #4A6FA0;\r\n      background: var(--bg);\r\n    }\r\n    footer a { color: var(--brand-secondary); }\r\n    .share-links {\r\n      text-align: center;\r\n      margin-top: 2.5rem;\r\n      color: #4A6FA0;\r\n      font-size: 0.95rem;\r\n    }\r\n    .share-links a { margin: 0 0.5rem; }\r\n\r\n    @media (max-width: 600px) {\r\n      .hero .container { padding-top: 48px; padding-bottom: 48px; }\r\n      h1 { font-size: 2rem; }\r\n      .stats { grid-template-columns: 1fr 1fr; }\r\n      .toc { position: relative; top: 0; margin-bottom: 2rem; }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n  <div class=\"hero\">\r\n    <div class=\"container\">\r\n      <nav class=\"breadcrumb\" aria-label=\"Breadcrumb\">\r\n        <a href=\"https:\/\/etriplesoft.com\/\">Home<\/a> \u203a\r\n        <a href=\"https:\/\/etriplesoft.com\/blog\/\">Blog<\/a> \u203a\r\n        <strong>Odoo Dashboard &amp; Insights Suite<\/strong>\r\n      <\/nav>\r\n      <div class=\"subtitle\">Odoo Dashboard &amp; Insights \u00b7 Odoo 17 \u00b7 18 \u00b7 19 Ready \u00b7 Arabic &amp; RTL Enabled<\/div>\r\n      <h2 style=\"font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1.15;margin-bottom:20px;letter-spacing:-0.01em;color:#fff;\">Odoo Dashboard &amp; Insights Suite \u2014 AI-Powered KPI Dashboard with Access Management for Odoo 17, 18 &amp; 19<\/h2>\r\n      <p class=\"hero-desc\">Two enterprise-grade Odoo apps, one governance story. The <strong>Odoo Dashboard &amp; Insights<\/strong> module turns your entire ERP into live, AI-generated visuals \u2014 while <strong>Odoo Customised Access Management<\/strong> decides exactly who sees what, edits what, exports what, and clicks what. Together: total visibility with total control.<\/p>\r\n      <div class=\"cta-group\">\r\n        <a href=\"https:\/\/etriple.odoo.com\/appointment\/3\" class=\"btn btn-primary\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Book Your Free Demo \u2192<\/a>\r\n        <a href=\"#overview\" class=\"btn btn-secondary\">\u25b6 Explore the Suite<\/a>\r\n      <\/div>\r\n\r\n      <!-- Trust indicators \/ stats -->\r\n      <div class=\"stats\">\r\n        <div class=\"stat-card\"><strong>17<\/strong><span>Chart Types<\/span><\/div>\r\n        <div class=\"stat-card\"><strong>27+<\/strong><span>Access Controls<\/span><\/div>\r\n        <div class=\"stat-card\"><strong>AI<\/strong><span>Built-In<\/span><\/div>\r\n        <div class=\"stat-card\"><strong>RTL<\/strong><span>Arabic Ready<\/span><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"meta\">\r\n        <span>\u2714 Odoo Gold Partner \u00b7 Egypt, UAE &amp; Saudi Arabia<\/span>\r\n        <span>\u2714 Works on <strong>Odoo 17, 18, and 19<\/strong> Enterprise &amp; Community<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"main-grid\">\r\n      <aside class=\"toc\">\r\n        <h3>\ud83d\udcd1 In This Guide<\/h3>\r\n        <ul>\r\n          <li><a href=\"#why\">Why Insight &amp; Control Together<\/a><\/li>\r\n          <li><a href=\"#overview\">The Suite at a Glance<\/a><\/li>\r\n          <li><a href=\"#ai-dashboard\">AI Dashboard \u2014 Deep Dive<\/a><\/li>\r\n          <li><a href=\"#charts\">17 Chart Types<\/a><\/li>\r\n          <li><a href=\"#ai-features\">AI Superpowers<\/a><\/li>\r\n          <li><a href=\"#access\">Customised Access Management<\/a><\/li>\r\n          <li><a href=\"#access-layers\">9 Layers of Access Control<\/a><\/li>\r\n          <li><a href=\"#advanced-governance\">Advanced Governance Controls<\/a><\/li>\r\n          <li><a href=\"#scenarios\">Real-World Scenarios<\/a><\/li>\r\n          <li><a href=\"#arabic\">Arabic &amp; RTL Support<\/a><\/li>\r\n          <li><a href=\"#versions\">Odoo 17 \/ 18 \/ 19 Ready<\/a><\/li>\r\n          <li><a href=\"#results\">Measurable Outcomes<\/a><\/li>\r\n          <li><a href=\"#who\">Who Benefits Most<\/a><\/li>\r\n          <li><a href=\"#testimonials\">Client Voices<\/a><\/li>\r\n          <li><a href=\"#process\">Implementation Process<\/a><\/li>\r\n          <li><a href=\"#faq\">FAQs<\/a><\/li>\r\n        <\/ul>\r\n      <\/aside>\r\n\r\n      <main>\r\n        <!-- Why Section -->\r\n        <section id=\"why\">\r\n          <h2>Why Modern Odoo Needs Both \u2014 Odoo Insight and Control<\/h2>\r\n          <p>Every growing business hits the same wall twice. The <strong>Odoo Insight and Control<\/strong> suite solves both problems. First, the CEO asks <em>\"Why can't I see our numbers in one screen?\"<\/em> \u2014 and the team scrambles through ten menus, six pivot tables, and a handful of exported spreadsheets. Then, the CFO asks <em>\"Why can every salesperson see margins, cost prices, and every customer's private data?\"<\/em> \u2014 and suddenly there's a governance problem nobody budgeted for.<\/p>\r\n          <p>Native Odoo is powerful, but it ships with a flat permission model and static reports. You either give users full access to a module or none. You either look at Odoo's built-in graphs or you build custom reports by hand. That's where the <strong>Odoo Insight and Control Suite<\/strong> comes in \u2014 a single, combined <strong>Odoo dashboard module<\/strong> that makes Odoo speak in live, AI-generated dashboards <em>and<\/em> respect surgical, field-by-field access rules at the same time.<\/p>\r\n          <div class=\"card-grid\">\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83d\udd0d<\/span><h3>Reports Take Too Long<\/h3><p>By the time you compile last week's sales numbers in Excel, they're already stale. Leadership makes decisions on gut feel instead of live data \u2014 the <strong>Odoo Insight and Control<\/strong> suite changes that.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83d\udeab<\/span><h3>Everyone Sees Everything<\/h3><p>Sales reps see cost prices. Interns see supplier contracts. Clerks see bank accounts. One flat permission layer is a compliance nightmare \u2014 <strong>Odoo Insight and Control<\/strong> solves it permanently.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\u2699\ufe0f<\/span><h3>Customisation Is Expensive<\/h3><p>Want to hide one button from one user group? That used to mean a developer, Odoo Studio, or a new custom module \u2014 not with <strong>Odoo Insight and Control<\/strong>.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83d\udcc9<\/span><h3>Insights Get Lost<\/h3><p>Odoo holds millions of records. Without AI-driven analysis, 90% of that data never informs a single decision. Without an <strong>Odoo dashboard<\/strong>, your ERP becomes a storage bin.<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"overview\">\r\n          <h2>The Odoo Insight and Control Suite \u2014 One Pack, Two Power Apps<\/h2>\r\n          <p>The <strong>Odoo Dashboard &amp; Insights<\/strong> suite bundles two independent but perfectly complementary Odoo Enterprise modules. Install them together to give every user in your organisation the <em>exact<\/em> data view they need \u2014 and nothing more.<\/p>\r\n          <div class=\"case-highlight\">\r\n            <h3>\u26a1 Visibility Meets Governance<\/h3>\r\n            <p>Picture an <strong>Odoo KPI dashboard<\/strong> that shows live pipeline, conversion, and revenue \u2014 but where the sales team sees only their region, the manager sees the whole team, and the intern sees pipeline count without any monetary values. That's a single <strong>Odoo dashboard &amp; insights<\/strong> view respecting three different permission rules. That's the Suite.<\/p>\r\n          <\/div>\r\n          <div class=\"bento-grid\">\r\n            <div class=\"module-card\">\r\n              <h3>\ud83d\udcca Odoo Dashboard &amp; Insights \u2014 AI Dashboard<\/h3>\r\n              <p style=\"margin:0.4rem 0 0;\">An intelligent <strong>Odoo dashboard module<\/strong> that consolidates every Odoo module \u2014 Sales, CRM, Inventory, Accounting, HR, Project, Manufacturing \u2014 into one interactive, real-time, AI-powered visual layer on <strong>Odoo 17, 18, and 19<\/strong>. Generate complete dashboards from a single keyword, extract chart insights with one click, and collaborate via built-in chat on every tile.<\/p>\r\n              <div class=\"badge-row\">\r\n                <span class=\"badge-pill\">17 Chart Types<\/span>\r\n                <span class=\"badge-pill green\">AI Generation<\/span>\r\n                <span class=\"badge-pill amber\">Real-Time<\/span>\r\n                <span class=\"badge-pill purple\">RTL Ready<\/span>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"module-card\">\r\n              <h3>\ud83d\udee1\ufe0f Odoo Customised Access Management<\/h3>\r\n              <p style=\"margin:0.4rem 0 0;\">A complete governance layer for <strong>Odoo 17, 18, and 19<\/strong> that lets you hide, restrict, or make read-only any menu, model, field, button, tab, filter, report, or action \u2014 per user, per company, per condition. No code. No Studio. No custom modules. Just checkboxes and domain rules that work across every Odoo app instantly.<\/p>\r\n              <div class=\"badge-row\">\r\n                <span class=\"badge-pill\">27+ Access Layers<\/span>\r\n                <span class=\"badge-pill green\">No-Code<\/span>\r\n                <span class=\"badge-pill amber\">Per-User \/ Per-Company<\/span>\r\n                <span class=\"badge-pill purple\">RTL Ready<\/span>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"ai-dashboard\">\r\n          <h2>Odoo Dashboard &amp; Insights \u2014 Turn Every Module into a Live Visual<\/h2>\r\n          <p>Forget static PDF reports and manual Excel exports. The <strong>Odoo Dashboard &amp; Insights<\/strong> module sits directly on top of your live Odoo database, pulling data from any model \u2014 native or custom \u2014 and rendering it into stunning, responsive, drillable dashboards that update in real time. Whether you're a CFO who wants a 360\u00b0 financial cockpit, a Sales Director who needs pipeline velocity at a glance, or a Warehouse Manager tracking stock health across branches, the dashboard adapts to you in minutes, not weeks.<\/p>\r\n          <div class=\"workflow\">\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>01 \u00b7 Pick a Model<\/strong><span class=\"phase-num\">Any Odoo object<\/span><\/div><p>Sales Orders, Purchase Orders, Invoices, Leads, Manufacturing Orders, Stock Moves, Timesheets, Project Tasks \u2014 point the <strong>Odoo dashboard module<\/strong> at any model. Even your custom modules (construction IPCs, school fees, service tickets, whatever you've built) are immediately available.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>02 \u00b7 Let AI Build It<\/strong><span class=\"phase-num\">Type a keyword<\/span><\/div><p>Type \"<em>Q3 Sales Performance<\/em>\" or \"<em>Warehouse Stock Aging<\/em>\" \u2014 the <strong>Odoo dashboard &amp; insights<\/strong> AI generates an entire set of relevant charts, tiles, and KPIs in seconds. No field picking, no chart configuration, no design skill required.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>03 \u00b7 Refine &amp; Personalise<\/strong><span class=\"phase-num\">Drag. Drop. Done.<\/span><\/div><p>Resize tiles, swap chart types with one click, change colour themes, add filters, pin your favourite <strong>Odoo dashboard &amp; insights<\/strong> views to the top menu. Your layout, saved per user.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>04 \u00b7 Extract Insights<\/strong><span class=\"phase-num\">AI explains the data<\/span><\/div><p>Click the AI icon on any chart in your <strong>Odoo dashboard &amp; insights<\/strong> view \u2014 the system writes a natural-language summary highlighting trends, outliers, and anomalies. Managers stop asking <em>\"what does this graph mean?\"<\/em> and start acting on it.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>05 \u00b7 Share &amp; Collaborate<\/strong><span class=\"phase-num\">Chat &amp; export<\/span><\/div><p>Every tile in the <strong>Odoo dashboard module<\/strong> has a built-in chat channel. Export any chart as Excel, CSV, PDF, or PNG. Export the whole <strong>Odoo dashboard &amp; insights<\/strong> view and import it into another Odoo instance \u2014 perfect for multi-company groups with standardised reporting.<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"charts\">\r\n          <h2>17 Chart Types for Your Odoo Dashboard \u2014 A Visual Vocabulary for Every Question<\/h2>\r\n          <p>Different business questions demand different visual answers. A KPI tile for revenue, a funnel for conversion, a pie for category share, a map for geographic distribution, a radar for multi-KPI balance. The <strong>Odoo KPI dashboard<\/strong> offers seventeen chart types out of the box, and lets you switch between them with one click while keeping the underlying data intact.<\/p>\r\n          <div class=\"charts-grid\">\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udd32<\/span><strong>Tiles (KPI)<\/strong><span>Big numbers at a glance<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udcc8<\/span><strong>Line Chart<\/strong><span>Trends over time<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udcca<\/span><strong>Bar Chart<\/strong><span>Compare categories<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udcc9<\/span><strong>Horizontal Bar<\/strong><span>Long-label friendly<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83c\udf0a<\/span><strong>Area Chart<\/strong><span>Cumulative volume<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83e\udd67<\/span><strong>Pie Chart<\/strong><span>Share of whole<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83c\udf69<\/span><strong>Doughnut<\/strong><span>Modern pie variant<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83c\udfaf<\/span><strong>Polar Area<\/strong><span>Cyclical data<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83c\udf38<\/span><strong>Flower Chart<\/strong><span>Multivariate petals<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udd3b<\/span><strong>Funnel Chart<\/strong><span>Conversion stages<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\u2b55<\/span><strong>Radial Chart<\/strong><span>Concentric KPIs<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83c\udfaf<\/span><strong>Bullet Chart<\/strong><span>Target vs actual<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udccd<\/span><strong>Scatter Chart<\/strong><span>Two-variable relation<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udd78\ufe0f<\/span><strong>Radar Chart<\/strong><span>Multi-axis balance<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\uddfa\ufe0f<\/span><strong>Map View<\/strong><span>Geographic data<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\ud83d\udccb<\/span><strong>List View<\/strong><span>Tabular detail<\/span><\/div>\r\n            <div class=\"chart-tile\"><span class=\"ico\">\u2705<\/span><strong>To-Do Item<\/strong><span>Actionable checklist<\/span><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"ai-features\">\r\n          <h2>AI Superpowers \u2014 Beyond Static Charts<\/h2>\r\n          <p>Artificial intelligence isn't a gimmick here \u2014 it's woven into the <strong>Odoo dashboard &amp; insights<\/strong> DNA. The AI doesn't just \"generate a graph\"; it understands your data schema, analyses patterns, surfaces insights, and writes explanations in plain English or Arabic. Here's exactly what AI does for you inside the Suite:<\/p>\r\n          <div class=\"bento-grid\">\r\n            <div class=\"module-card\"><h3>\ud83e\udd16 Generate Complete Odoo Dashboards<\/h3><ul><li>Point the <strong>Odoo dashboard &amp; insights<\/strong> AI at any model \u2014 Sales, CRM, Inventory, custom modules<\/li><li>In seconds it assembles a full dashboard: tiles, trends, breakdowns<\/li><li>Saves days of manual configuration work<\/li><li>You tweak; you don't build from scratch<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83c\udfaf <strong>Odoo KPI Dashboard<\/strong> Items<\/h3><ul><li>Type \"top 10 customers this quarter\" \u2014 get the right chart on your <strong>Odoo dashboard<\/strong> instantly<\/li><li>Type \"aged receivables over 60 days\" \u2014 get a filtered list<\/li><li>The AI picks the correct chart type automatically<\/li><li>Perfect for ad-hoc executive questions<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd0d Extract Odoo KPI Dashboard Insights<\/h3><ul><li>One click on any chart in your <strong>Odoo KPI dashboard<\/strong> \u2014 AI writes a narrative summary<\/li><li>Highlights trends, spikes, dips, and outliers<\/li><li>Translates raw data into managerial language<\/li><li>Great for board decks and executive briefings<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\u26a1 Real-Time Streaming<\/h3><ul><li><strong>Odoo dashboard &amp; insights<\/strong> data refreshes live \u2014 no manual reload, no page refresh<\/li><li>Perfect for control rooms, ops centres, trading desks<\/li><li>Set custom refresh intervals per dashboard<\/li><li>Your team reacts in minutes, not hours<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udcc5 Advanced Date Filters<\/h3><ul><li>20+ pre-built filters for your <strong>Odoo dashboard &amp; insights<\/strong>: Today, This Week, Last Quarter, YTD\u2026<\/li><li>Custom date ranges with precise day-level control<\/li><li>Filter any dashboard globally or per-tile<\/li><li>Define your own date-filter presets<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udcc2 Data from Excel \/ CSV<\/h3><ul><li>Upload external Excel or CSV files directly into your <strong>Odoo KPI dashboard<\/strong><\/li><li>System auto-syncs and builds charts from the data<\/li><li>Combine Odoo data with external data in one view<\/li><li>No ETL. No middleware. No consultants \u2014 available on <strong>Odoo 17, 18, and 19<\/strong>.<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udce5 Export &amp; Import<\/h3><ul><li>Export your <strong>Odoo dashboard module<\/strong> (or any single item) as a portable file<\/li><li>Import into another Odoo instance in seconds<\/li><li>Standardise reporting across subsidiaries<\/li><li>Download any chart as Excel, CSV, PDF, or PNG<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udcac Internal Chat on Tiles<\/h3><ul><li>Every <strong>Odoo dashboard module<\/strong> item has its own chat channel<\/li><li>Discuss a metric without leaving the dashboard<\/li><li>All channels roll up into a unified inbox<\/li><li>Collaboration happens where the data lives<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83e\uddee Multi-Source Charts &amp; Custom Formulas<\/h3><ul><li>Combine multiple data sources on a single chart<\/li><li>Define your own formulas based on chart measures<\/li><li>Build ratios, growth rates, and blended KPIs without code<\/li><li>Perfect for margin % , AR days, inventory turns, and similar derived metrics<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\u2699\ufe0f Odoo Dashboard Personalisation<\/h3><ul><li>Configure the <strong>Odoo dashboard &amp; insights<\/strong> menu location and display sequence<\/li><li>Scope each dashboard to specific security groups<\/li><li>Instant Edit Mode \u2014 tweak any tile without opening the full form<\/li><li>5 ready-made dashboards for Sales, CRM, Accounting, Inventory, POS<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd10 Three-Tier Dashboard Access<\/h3><ul><li>Built-in 3-level permission model for your <strong>Odoo KPI dashboard<\/strong> \u2014 Admin, Full-View, Chart-Specific<\/li><li>Admins configure and manage every dashboard<\/li><li>Viewers see all charts but can't edit configuration<\/li><li>Restricted users see <em>only<\/em> the charts you assign to them \u2014 pairs perfectly with Customised Access Management<\/li><\/ul><\/div>\r\n          <\/div>\r\n\r\n          <h3 style=\"margin-top:2.8rem;\">Plus Everything You Expect From Enterprise BI<\/h3>\r\n          <div class=\"layer-grid\" style=\"margin-top:1.2rem;\">\r\n            <div class=\"layer-cell\"><span class=\"dot\"><\/span>Drill Down \/ Drill Up<\/div>\r\n            <div class=\"layer-cell accent\"><span class=\"dot\"><\/span>Bookmark Dashboards<\/div>\r\n            <div class=\"layer-cell green\"><span class=\"dot\"><\/span>Multi-Color Themes<\/div>\r\n            <div class=\"layer-cell amber\"><span class=\"dot\"><\/span>Responsive on Mobile &amp; Tablet<\/div>\r\n            <div class=\"layer-cell purple\"><span class=\"dot\"><\/span>Set Targets per Tile<\/div>\r\n            <div class=\"layer-cell\"><span class=\"dot\"><\/span>Multi-Company Filter<\/div>\r\n            <div class=\"layer-cell accent\"><span class=\"dot\"><\/span>Unique User ID (%UID)<\/div>\r\n            <div class=\"layer-cell green\"><span class=\"dot\"><\/span>Multi-Currency Support<\/div>\r\n            <div class=\"layer-cell amber\"><span class=\"dot\"><\/span>Duplicate \/ Move Items<\/div>\r\n            <div class=\"layer-cell purple\"><span class=\"dot\"><\/span>Bookmarkable URLs<\/div>\r\n            <div class=\"layer-cell\"><span class=\"dot\"><\/span>Pre-Built Sales \/ CRM \/ Inventory Dashboards<\/div>\r\n            <div class=\"layer-cell accent\"><span class=\"dot\"><\/span>Set as Home Action<\/div>\r\n            <div class=\"layer-cell green\"><span class=\"dot\"><\/span>Custom Number Systems<\/div>\r\n            <div class=\"layer-cell amber\"><span class=\"dot\"><\/span>Custom Monetary Units<\/div>\r\n            <div class=\"layer-cell purple\"><span class=\"dot\"><\/span>Show \/ Hide Data Values<\/div>\r\n            <div class=\"layer-cell\"><span class=\"dot\"><\/span>Two List-View Styles (Grouped \/ Flat)<\/div>\r\n            <div class=\"layer-cell accent\"><span class=\"dot\"><\/span>Customisable Tile Icons &amp; Layouts<\/div>\r\n            <div class=\"layer-cell green\"><span class=\"dot\"><\/span>User-Defined Date-Filter Presets<\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"access\">\r\n          <h2>Odoo Customised Access Management \u2014 Governance Without a Developer<\/h2>\r\n          <p>Here's the problem native Odoo never solved elegantly: granular, per-user, per-field, per-record, per-button access control. Historically, every restriction request \u2014 <em>\"hide the cost price field from sales\"<\/em>, <em>\"make the customer's bank account read-only for junior finance staff\"<\/em>, <em>\"block this specific button for the night-shift team\"<\/em> \u2014 ended with a developer, a Studio subscription, or a custom module.<\/p>\r\n          <p><strong>Odoo Customised Access Management<\/strong> replaces all of that with a single settings-friendly app. Pick the user (or group of users), pick the model, pick what to hide or restrict \u2014 save. The changes apply instantly, cleanly, and reversibly. No XML, no Python, no database migrations.<\/p>\r\n          <div class=\"case-highlight\">\r\n            <h3>\ud83d\udd10 The \"Save 80% of Customisation Time\" Promise<\/h3>\r\n            <p>Most Odoo implementations lose weeks to \"small permission tweaks.\" <strong>Odoo Customised Access Management<\/strong> collapses those weeks into minutes. Every access rule that used to need a developer \u2014 invisible fields, required fields, read-only modules, hidden menus, restricted exports \u2014 is now a checkbox.<\/p>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"access-layers\">\r\n          <h2>9 Layers of Access Control for Your Odoo Dashboard &amp; Insights \u2014 Surgical, Not Blunt<\/h2>\r\n          <p>Real-world permission needs don't fit into three roles. They're layered: a user can see a menu, but only some records within it, with some fields hidden, certain buttons disabled, and no export allowed. <strong>Odoo Customised Access Management<\/strong> handles each of those layers independently \u2014 so you compose precise policies from simple, composable rules.<\/p>\r\n          <div class=\"bento-grid\">\r\n            <div class=\"module-card\"><h3>\ud83d\uddc2\ufe0f 1. Menu &amp; Sub-Menu Access Control<\/h3><ul><li>Hide any main app menu (Sales, Purchase, Inventory, etc.)<\/li><li>Hide specific sub-menus while keeping the parent visible<\/li><li>Apply per-user or per-group<\/li><li>Reverse with a single checkbox \u2014 never destructive<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udce6 2. Model-Level Rights<\/h3><ul><li>Control Create \/ Edit \/ Delete \/ Views \/ Actions<\/li><li>Hide Archive, Duplicate, Export, Import, Spreadsheet buttons<\/li><li>Hide entire model views \u2014 form, list, kanban, pivot<\/li><li>Hide any action or any report attached to a model<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd24 3. Field-Level Access<\/h3><ul><li>Make any field Invisible, Read-Only, or Required per user<\/li><li>Invisible fields hide from form, list, filter, kanban, group-by, pivot, and export<\/li><li>Remove the \"external link\" (open in new tab) button on any field<\/li><li>Protect sensitive fields without touching the underlying model<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83c\udfaf 4. Domain &amp; Conditional Access<\/h3><ul><li>Restrict Create \/ Edit \/ Delete based on a record's field values<\/li><li>Make entire models read-only for specific user groups<\/li><li>Apply custom domain filters per user \u2014 show only \"my\" records<\/li><li>Date-based restrictions: \"Today\", \"This Week\", \"Last Month\"<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd18 5. Button &amp; Tab Access<\/h3><ul><li>Hide any button on any form view from specified users<\/li><li>Hide any tab\/page within a form \u2014 keeping the rest visible<\/li><li>Hide Kanban card links selectively<\/li><li>Clean interface \u2014 users see only buttons they can actually use<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd0e 6. Search Panel Control<\/h3><ul><li>Hide filters per user or per group<\/li><li>Hide group-by options on specific models<\/li><li>Keep reporting consistent across large teams<\/li><li>No more \"where did that filter go?\" tickets<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udcac 7. Chatter Access Control<\/h3><ul><li>Hide the entire chatter widget on any model<\/li><li>Hide individually: Send Message, Log Notes, Schedule Activity<\/li><li>Prevent accidental internal info from leaking to customer-facing messages<\/li><li>Apply per-model or globally<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83c\udf10 8. Global Restrictions<\/h3><ul><li>Hide \"Add Property\" site-wide for selected users<\/li><li>Disable Import \/ Export globally per user<\/li><li>Disable login entirely \u2014 instant account suspension<\/li><li>Hide Spreadsheet button across the whole database<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd12 9. Read-Only &amp; Dev-Mode<\/h3><ul><li><strong>Odoo Customised Access Management<\/strong> makes a user fully Read-Only across the whole database with one checkbox<\/li><li>Disable Developer Mode \u2014 prevent URL-based bypassing<\/li><li>Block Script \/ XMLRPC access for external automation safety<\/li><li>Block install \/ uninstall \/ update of any module<\/li><\/ul><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"advanced-governance\">\r\n          <h2>Advanced Governance Controls \u2014 When Rules Get Real<\/h2>\r\n          <p>The nine layers above handle 95% of real-world access scenarios. The final 5% \u2014 complex multi-level organisations, regulated industries, and highly sensitive data \u2014 calls for a more sophisticated rule engine. <strong>Odoo Insight and Control<\/strong> extends into these advanced governance patterns without requiring a single line of custom code.<\/p>\r\n          <div class=\"bento-grid\">\r\n            <div class=\"module-card\"><h3>\ud83c\udfe2 Hierarchy-Based Access<\/h3><ul><li>Managers automatically see every record owned by users below them<\/li><li>Follows your existing Odoo employee org chart \u2014 no duplicate setup<\/li><li>Multi-level hierarchies supported (Director \u2192 Manager \u2192 Team Lead \u2192 Staff)<\/li><li>Ideal for sales territories, project portfolios, and regional holdings<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83c\udf9a\ufe0f Conditional Field Visibility<\/h3><ul><li>Show or hide any field based on another field's value<\/li><li>Example: \"Show <code>approved_amount<\/code> only when <code>state == 'approved'<\/code>\"<\/li><li>Apply attribute-based rules (invisible \/ readonly \/ required) conditionally<\/li><li>Apply full domain conditions for complex visibility logic<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83e\udeb6 Soft Restrictions<\/h3><ul><li>Records remain <em>visible<\/em> but become non-editable for specific users<\/li><li>Different from \"hide\" \u2014 users can see context but cannot mutate<\/li><li>Perfect for audit-review scenarios where visibility is required but changes are not<\/li><li>Keeps transparency without sacrificing control<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd17 Relational Field Filtering<\/h3><ul><li>Filter records based on <em>related<\/em> records' field values<\/li><li>Example: \"Show only invoices whose customer is tagged as 'VIP'\"<\/li><li>Works across Many2one, One2many, and Many2many relationships<\/li><li>Power-user filtering without writing Python domain expressions<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udd18 Conditional Button &amp; Tab Access<\/h3><ul><li>Hide a button only when specific conditions are met on the record<\/li><li>Example: \"Hide <code>Validate<\/code> button when <code>amount &gt; 100,000<\/code> and user is not a manager\"<\/li><li>Apply the same logic to tabs\/pages and Kanban card links<\/li><li>Clean UX: users never see controls they can't use in the current context<\/li><\/ul><\/div>\r\n            <div class=\"module-card\"><h3>\ud83d\udee1\ufe0f API &amp; Automation Lockdown<\/h3><ul><li>Block Script access so users can't execute server actions directly<\/li><li>Block XML-RPC and JSON-RPC per user \u2014 critical for integrations<\/li><li>Prevent module install, uninstall, or update at the user level<\/li><li>Fully compatible with Odoo's native audit log for compliance trails<\/li><\/ul><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"scenarios\">\r\n          <h2>Real-World Odoo Dashboard &amp; Insights Scenarios \u2014 What This Looks Like in Your Business<\/h2>\r\n          <p>Features are abstract; business problems are concrete. Here are six real scenarios from our implementations across construction, retail, automotive, education, and IT services \u2014 each solved by the <strong>Odoo Dashboard &amp; Insights<\/strong> suite and <strong>Odoo Customised Access Management<\/strong> without a single line of custom code.<\/p>\r\n          <div class=\"workflow\">\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83d\udcbc Sales Team Sees Pipeline, Not Margins<\/strong><span class=\"phase-num\">Field-level + Dashboard<\/span><\/div><p>Sales reps get a live <strong>Odoo KPI dashboard<\/strong> showing their own leads, conversion rate, and activity targets. The <code>margin<\/code>, <code>cost_price<\/code>, and <code>supplier_id<\/code> fields are hidden from them at the field-access level \u2014 both in the forms and in the dashboard tiles. One team, two truths, zero risk of leakage.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfd7\ufe0f Project Managers See Only Their Projects<\/strong><span class=\"phase-num\">Domain access + Filtered dashboards<\/span><\/div><p>A domain rule restricts each project manager to records where <code>user_id == current_user<\/code>. The AI Dashboard reads the same rule automatically \u2014 so each manager's project dashboard shows <em>only their own<\/em> KPIs. No manager accidentally sees another's budget variance.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfed Warehouse Staff Can't Edit Stock Quants<\/strong><span class=\"phase-num\">Read-only model<\/span><\/div><p>Stock Operators are made read-only on <code>stock.quant<\/code> with a single checkbox. They can view and pick, but never \"adjust\" quantities \u2014 that power stays with the Inventory Manager. Zero risk of \"accidental\" stock adjustments at month-end.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfe6 Finance Interns See Numbers, Not Accounts<\/strong><span class=\"phase-num\">Field invisibility<\/span><\/div><p>The <code>bank_account_ids<\/code> field on partners becomes invisible for the Finance Intern group. Interns can still reconcile invoices and view customer records, but banking details are simply not visible anywhere \u2014 forms, lists, exports, pivots. GDPR-friendly from day one.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfec Multi-Branch Retailer Gets Branch Dashboards<\/strong><span class=\"phase-num\">Per-company filtering<\/span><\/div><p>A retail group with 12 branches installs one <strong>Odoo dashboard module<\/strong>, filtered by <code>company_id<\/code>. Each branch manager opens the exact same menu and sees only their own branch's sales, staff, and stock. Headquarters sees the consolidated view. One dashboard, twelve realities.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udf93 School Accountants See Fees, Not Medical Records<\/strong><span class=\"phase-num\">Cross-module restriction<\/span><\/div><p>On Odoo Education deployments, accountants are hidden from the <code>medical_records<\/code> menu entirely, and the <code>medical_notes<\/code> field is made invisible on the student record \u2014 while they retain full access to fees, discounts, and receipts. One ERP, multiple privacy zones.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfe2 Regional Managers Auto-See Their Entire Territory<\/strong><span class=\"phase-num\">Hierarchy access<\/span><\/div><p>A multi-country holding group maps its org chart into Odoo once. From that day on, every regional manager automatically sees every sales order, every opportunity, and every dashboard filtered to the users reporting to them \u2014 without a single domain rule being written. New hires inherit the correct scope the moment they're added to the hierarchy.<\/p><\/div>\r\n            <div class=\"phase\"><div class=\"phase-header\"><strong>\ud83c\udfe6 Bank Reveals Sensitive Fields Only Post-Approval<\/strong><span class=\"phase-num\">Conditional field visibility<\/span><\/div><p>A bank's loan-application model has fields like <code>disbursed_amount<\/code>, <code>account_credited<\/code>, and <code>reference_number<\/code>. These stay invisible to everyone until the record reaches state <code>approved<\/code> \u2014 at which point they become visible to finance officers only. Before approval, even the loan officer can't see them. One rule, three access levels, zero code.<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"arabic\">\r\n          <h2>Arabic &amp; RTL \u2014 First-Class, Not Bolted On<\/h2>\r\n          <p>Most \"multi-language\" Odoo modules treat Arabic as an afterthought \u2014 a half-translated label here, a broken dropdown there. Both components of the <strong>Odoo Insight and Control<\/strong> suite are built with full Right-to-Left (RTL) support, meaning charts flip correctly, filters align to the right, buttons reverse layout, and labels render in Arabic typography without cut-offs or overlaps. The <strong>Odoo dashboard &amp; insights<\/strong> module and access settings are equally readable in <strong>\u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/strong>, <strong>English<\/strong>, or any other Odoo-supported language.<\/p>\r\n          <div class=\"arabic-demo\">\r\n            <h4>\ud83c\udf0d \u0648\u0627\u062c\u0647\u0629 \u0639\u0631\u0628\u064a\u0629 \u0643\u0627\u0645\u0644\u0629 \u2014 \u0645\u0646 \u0623\u0648\u0644 \u0634\u0627\u0634\u0629<\/h4>\r\n            <p>\u0644\u0648\u062d\u0627\u062a \u062a\u062d\u0643\u0645 \u0630\u0643\u064a\u0629 \u062a\u0639\u0645\u0644 \u0628\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a\u060c \u0645\u0639 \u062f\u0639\u0645 \u0643\u0627\u0645\u0644 \u0644\u0644\u063a\u0629 \u0627\u0644\u0639\u0631\u0628\u064a\u0629 \u0648\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0643\u062a\u0627\u0628\u0629 \u0645\u0646 \u0627\u0644\u064a\u0645\u064a\u0646 \u0644\u0644\u064a\u0633\u0627\u0631. \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0627\u0644\u0639\u0631\u0628 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0648\u0627\u0644\u0631\u0633\u0648\u0645 \u0627\u0644\u0628\u064a\u0627\u0646\u064a\u0629 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0628\u0646\u0641\u0633 \u0627\u0644\u0633\u0631\u0639\u0629 \u0648\u0627\u0644\u0633\u0644\u0627\u0633\u0629 \u0645\u062b\u0644 \u0623\u064a \u0644\u063a\u0629 \u0623\u062e\u0631\u0649.<\/p>\r\n            <p>\u0625\u062f\u0627\u0631\u0629 \u0635\u0644\u0627\u062d\u064a\u0627\u062a \u0645\u062e\u0635\u0635\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u2014 \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0642\u0648\u0627\u0626\u0645\u060c \u062a\u0642\u064a\u064a\u062f \u0627\u0644\u062d\u0642\u0648\u0644\u060c \u0645\u0646\u0639 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u060c \u0648\u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u062f\u0642\u064a\u0642 \u0641\u064a \u0645\u0627 \u064a\u0631\u0627\u0647 \u0643\u0644 \u0645\u0633\u062a\u062e\u062f\u0645\u060c \u0643\u0644 \u0630\u0644\u0643 \u0645\u0646 \u0648\u0627\u062c\u0647\u0629 \u0639\u0631\u0628\u064a\u0629 \u0646\u0638\u064a\u0641\u0629 \u062f\u0648\u0646 \u0627\u0644\u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u0623\u064a \u0645\u0639\u0631\u0641\u0629 \u0628\u0631\u0645\u062c\u064a\u0629.<\/p>\r\n          <\/div>\r\n          <div class=\"badge-row\" style=\"margin-top:1.8rem;\">\r\n            <span class=\"badge-pill\">\ud83c\uddf8\ud83c\udde6 \u0627\u0644\u0639\u0631\u0628\u064a\u0629<\/span>\r\n            <span class=\"badge-pill accent\">\ud83c\uddec\ud83c\udde7 English<\/span>\r\n            <span class=\"badge-pill green\">\ud83c\uddeb\ud83c\uddf7 Fran\u00e7ais<\/span>\r\n            <span class=\"badge-pill amber\">\ud83c\uddea\ud83c\uddf8 Espa\u00f1ol<\/span>\r\n            <span class=\"badge-pill purple\">\ud83c\udde9\ud83c\uddea Deutsch<\/span>\r\n            <span class=\"badge-pill\">\ud83c\udde8\ud83c\uddf3 \u4e2d\u6587<\/span>\r\n          <\/div>\r\n          <p style=\"margin-top:1.4rem;\">Translations are available out of the box for the full <strong>Odoo Insight and Control<\/strong> suite, and Etriplesoft can extend, localise, or correct any translation for your <strong>Odoo dashboard &amp; insights<\/strong> based on your regional dialect \u2014 especially important for finance and HR terminology across Egypt, KSA, UAE, and the wider Arab world.<\/p>\r\n        <\/section>\r\n\r\n        <section id=\"versions\">\r\n          <h2>Odoo 17, 18, and 19 Enterprise Ready<\/h2>\r\n          <p>The <strong>Odoo Dashboard &amp; Insights<\/strong> suite is compatible with all current production versions \u2014 including the latest Odoo 19. Whether you're running a stable <strong>Odoo 17<\/strong> deployment, in the middle of an <strong>Odoo 18<\/strong> rollout, or already on the bleeding edge with <strong>Odoo 19<\/strong>, the <strong>Odoo dashboard module<\/strong> installs cleanly and works identically. Version migrations carry your <strong>Odoo dashboard &amp; insights<\/strong> configurations and <strong>Odoo Customised Access Management<\/strong> rules forward without rebuilding.<\/p>\r\n          <div class=\"pipeline\">\r\n            <span class=\"pipe-stage start\"><strong>Odoo 17<\/strong> \u2713<\/span>\r\n            <span class=\"pipe-arrow\">\u2192<\/span>\r\n            <span class=\"pipe-stage start\"><strong>Odoo 18<\/strong> \u2713<\/span>\r\n            <span class=\"pipe-arrow\">\u2192<\/span>\r\n            <span class=\"pipe-stage done\"><strong>Odoo 19<\/strong> \u2713<\/span>\r\n            <span class=\"pipe-arrow\">\u2192<\/span>\r\n            <span class=\"pipe-stage purple\">Enterprise &amp; Community<\/span>\r\n            <span class=\"pipe-arrow\">\u2192<\/span>\r\n            <span class=\"pipe-stage\">Online \/ Odoo.sh \/ On-Premise<\/span>\r\n          <\/div>\r\n          <div class=\"card-grid\" style=\"margin-top:1.8rem;\">\r\n            <div class=\"card\"><span class=\"card-icon\">\u2601\ufe0f<\/span><h3>Odoo Online<\/h3><p>The <strong>Odoo dashboard &amp; insights<\/strong> suite works natively on Odoo's SaaS hosting. Upload through the Apps menu and configure in minutes.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83d\ude80<\/span><h3>Odoo.sh<\/h3><p>The <strong>Odoo dashboard &amp; insights<\/strong> suite deploys as a standard custom app via Git or ZIP upload. Fully supported on staging and production branches.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83c\udfe0<\/span><h3>On-Premise<\/h3><p>Drop the <strong>Odoo dashboard module<\/strong> into your addons path. No external services required \u2014 everything runs inside your own database.<\/p><\/div>\r\n            <div class=\"card\"><span class=\"card-icon\">\ud83c\udfe2<\/span><h3>Community &amp; Enterprise<\/h3><p>Works on both <strong>Odoo 17, 18, and 19<\/strong> Community and Enterprise editions. All core features available regardless of licensing tier.<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"results\">\r\n          <h2>Measurable Outcomes from Our Deployments<\/h2>\r\n          <p>Across our rollouts in Egypt, UAE, and Saudi Arabia \u2014 spanning construction, retail, automotive dealerships, education, ICT services, and media \u2014 clients using the <strong>Odoo Dashboard &amp; Insights<\/strong> suite consistently report the same kinds of improvements within the first quarter of deployment.<\/p>\r\n          <div class=\"results-grid\">\r\n            <div class=\"result-item\"><strong>80%<\/strong><p>Less Time on Report Prep<\/p><\/div>\r\n            <div class=\"result-item\"><strong>60%<\/strong><p>Reduction in Custom Dev<\/p><\/div>\r\n            <div class=\"result-item\"><strong>100%<\/strong><p>Field-Level Data Privacy<\/p><\/div>\r\n            <div class=\"result-item\"><strong>0<\/strong><p>Lines of Code Required<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"who\">\r\n          <h2>Who Benefits Most?<\/h2>\r\n          <p>The <strong>Odoo Dashboard &amp; Insights<\/strong> suite is industry-agnostic by design \u2014 any organisation that uses Odoo and cares about either \"seeing data faster\" or \"protecting data better\" gets value from day one. Here are the profiles we work with most often in the region:<\/p>\r\n          <div class=\"card-grid\">\r\n            <div class=\"card\">\ud83c\udfd7\ufe0f Construction &amp; Contracting \u2014 <strong>Odoo Dashboard &amp; Insights<\/strong><\/div>\r\n            <div class=\"card\">\ud83c\udfec Retail &amp; Multi-Branch Groups \u2014 <strong>Odoo KPI Dashboard<\/strong><\/div>\r\n            <div class=\"card\">\ud83d\ude97 Automotive Dealerships<\/div>\r\n            <div class=\"card\">\ud83c\udf93 Schools &amp; Universities \u2014 <strong>Odoo Dashboard Module<\/strong><\/div>\r\n            <div class=\"card\">\ud83c\udfe5 Hospitals &amp; Clinics<\/div>\r\n            <div class=\"card\">\ud83d\udcfa Media &amp; Broadcasting<\/div>\r\n            <div class=\"card\">\ud83c\udfed Manufacturing &amp; Factories<\/div>\r\n            <div class=\"card\">\ud83d\udcbb ICT &amp; Systems Integrators<\/div>\r\n            <div class=\"card\">\ud83c\udfe6 Banks &amp; Financial Services \u2014 <strong>Odoo Dashboard &amp; Insights<\/strong><\/div>\r\n            <div class=\"card\">\ud83c\udfe2 Holding Groups &amp; Multi-Company<\/div>\r\n            <div class=\"card\">\ud83d\udef0\ufe0f Telecom &amp; ISP Operators<\/div>\r\n            <div class=\"card\">\ud83d\udce6 Logistics &amp; Distribution<\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"testimonials\">\r\n          <h2>What Clients Tell Us About Odoo Insight and Control<\/h2>\r\n          <div class=\"testimonial-grid\">\r\n            <div class=\"testimonial\"><p>\"We stopped producing weekly PDF reports the day we deployed the <strong>Odoo Insight and Control<\/strong> suite. My leadership team now opens one tab, sees live data, and acts through the <strong>Odoo dashboard &amp; insights<\/strong> module. Decisions that took three days now take thirty minutes.\"<\/p><div class=\"testimonial-author\">\u2014 Director of Operations, Retail Group (Egypt)<\/div><\/div>\r\n            <div class=\"testimonial\"><p>\"The <strong>Odoo Customised Access Management<\/strong> side alone was worth the investment. We went from 'everyone sees everything' to surgical field-level control in one week. Our external auditor literally said 'this is the cleanest Odoo permission setup I've ever seen.'\"<\/p><div class=\"testimonial-author\">\u2014 Finance Controller, Construction (UAE)<\/div><\/div>\r\n            <div class=\"testimonial\"><p>\"Arabic RTL that actually works. Our team in Riyadh uses the <strong>Odoo KPI dashboard<\/strong> in Arabic, our team in Dubai in English \u2014 same file, same data, zero layout bugs. Finally.\"<\/p><div class=\"testimonial-author\">\u2014 CIO, Multi-Country Holding (KSA)<\/div><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"process\">\r\n          <h2>Our 5-Step Rollout \u2014 No Disruption, No Downtime<\/h2>\r\n          <p>We've streamlined deployment of the <strong>Odoo Dashboard &amp; Insights<\/strong> suite into a single, repeatable process. Most clients are fully live within two to four weeks, with the <strong>Odoo dashboard module<\/strong> populated and <strong>Odoo Customised Access Management<\/strong> rules enforced from day one.<\/p>\r\n          <div class=\"card-grid\">\r\n            <div class=\"card\"><h3>01 \ud83d\udd0d Discovery<\/h3><p>We map the <strong>Odoo dashboard &amp; insights<\/strong> reports you actually need, the people who need them, and the data each person should (and shouldn't) see.<\/p><\/div>\r\n            <div class=\"card\"><h3>02 \ud83d\uddfa\ufe0f Design<\/h3><p>We design the <strong>Odoo dashboard &amp; insights<\/strong> library and the <strong>Odoo Customised Access Management<\/strong> rule matrix on paper first \u2014 so no one is surprised once we switch things on.<\/p><\/div>\r\n            <div class=\"card\"><h3>03 \u2699\ufe0f Configure<\/h3><p>Both apps installed. <strong>Odoo KPI dashboard<\/strong> tiles refined. <strong>Odoo Customised Access Management<\/strong> rules per user group applied. Arabic translations reviewed.<\/p><\/div>\r\n            <div class=\"card\"><h3>04 \ud83c\udf93 Training<\/h3><p>Two short sessions \u2014 one for admins who will maintain the <strong>Odoo Insight and Control<\/strong> rules, one for end-users who will live in the dashboards.<\/p><\/div>\r\n            <div class=\"card\"><h3>05 \ud83d\ude80 Go-Live &amp; Support<\/h3><p>We run a hypercare week with <strong>Odoo Insight and Control<\/strong> dashboards reviewed daily and access tweaks applied in real time as feedback comes in.<\/p><\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <section id=\"faq\">\r\n          <h2>Frequently Asked Questions<\/h2>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Do I need both apps or can I buy one?<\/div><div class=\"faq-a\">You can install and use each independently \u2014 the <strong>Odoo dashboard module<\/strong> works with or without <strong>Odoo Customised Access Management<\/strong>, and vice versa. But the real magic happens when they're combined: every <strong>Odoo KPI dashboard<\/strong> automatically respects every access rule, so a single dashboard naturally shows the right data to the right person. We recommend deploying both for any organisation over twenty users running <strong>Odoo 17, 18, and 19<\/strong>.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Does the Odoo Insight and Control AI send my business data to external servers?<\/div><div class=\"faq-a\">No. Only the data <em>schema<\/em> (field names, model structure) is sent to the AI service to help it generate the right charts. Your actual records \u2014 customer names, amounts, invoices, contracts \u2014 never leave your Odoo database. Ideal for organisations with strict data-residency or privacy requirements.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Will this work on our existing Odoo 17, 18, and 19 deployment?<\/div><div class=\"faq-a\">Yes. The <strong>Odoo Dashboard &amp; Insights<\/strong> suite and <strong>Odoo Customised Access Management<\/strong> are officially maintained on <strong>Odoo 17, 18, and 19<\/strong> \u2014 Enterprise and Community, Online, Odoo.sh, and On-Premise. Your existing <strong>Odoo 17, 18, and 19<\/strong> custom modules, views, and automations remain untouched. The <strong>Odoo Insight and Control<\/strong> installation is non-destructive and fully reversible.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Is Arabic truly supported in the Odoo dashboard &amp; insights module?<\/div><div class=\"faq-a\">Fully. Both the <strong>Odoo dashboard &amp; insights<\/strong> interface and the <strong>Odoo Customised Access Management<\/strong> configuration screens render correctly in Arabic with right-to-left (RTL) layout. Charts flip, labels align to the right, and Arabic typography renders without truncation. We also localise finance and HR terminology to regional conventions (Egypt, KSA, UAE) on request.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Can I hide a field for one user and show it for another \u2014 in the same database?<\/div><div class=\"faq-a\">Yes. That's exactly the kind of rule Customised Access Management was built for. You create an access profile, link it to the users or groups it applies to, tick \"invisible\" next to the field name, and save. The field disappears from forms, lists, filters, kanban cards, group-by, pivot views, and exports \u2014 for those users only.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Do these apps require Odoo Studio or any paid add-on on Odoo 17, 18, and 19?<\/div><div class=\"faq-a\">No. Both apps in the <strong>Odoo Insight and Control<\/strong> suite are fully standalone. They don't depend on Odoo Studio, they don't require the Enterprise subscription (though both work beautifully on Enterprise), and they don't pull in any paid third-party bundles. Standard Odoo dependencies only.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">How long before we're fully live?<\/div><div class=\"faq-a\">For most mid-sized deployments (20\u2013150 users, 3\u20136 Odoo apps in scope), the full rollout \u2014 including discovery, dashboard design, access-rule configuration, Arabic localisation, and training \u2014 is 2 to 4 weeks. Very small deployments can be live in under a week.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">What about <strong>Odoo 17, 18, and 19<\/strong> version upgrades? Do the rules break?<\/div><div class=\"faq-a\">No. Both apps in the <strong>Odoo Insight and Control<\/strong> suite are version-aware and officially maintained on <strong>Odoo 17, 18, and 19<\/strong>. Your dashboard configurations and access rules migrate forward cleanly \u2014 you don't rebuild them when you upgrade. Etriplesoft handles the upgrade and re-certifies the Suite on your new version as part of the standard migration service.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Can Odoo Customised Access Management rules be audited? Who changed what, and when?<\/div><div class=\"faq-a\">Yes. Every change to an <strong>Odoo Customised Access Management<\/strong> profile is logged in the record's chatter with the user, timestamp, and the specific field or rule modified. Combined with Odoo's native audit log, you get a complete trail \u2014 perfect for ISO, SOC 2, and regional data-protection audits.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Does the hierarchy access automatically follow our org chart?<\/div><div class=\"faq-a\">Yes. It reads directly from Odoo's native employee <code>parent_id<\/code> (manager) relationships \u2014 the same hierarchy you already maintain for leave approvals, timesheets, and expense validations. When you add a new employee under a manager, that manager instantly sees every record owned by the new employee \u2014 no rule edits, no re-configuration.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">What's the difference between \"hide field\" and \"soft restrict\"?<\/div><div class=\"faq-a\">Hiding a field makes it completely invisible \u2014 the user never knows it exists. Soft restriction makes the field (or record) visible but locked for editing \u2014 the user can read the context but cannot change it. Both have legitimate uses: hide when the information itself is confidential (like bank account numbers), soft-restrict when visibility matters for context but changes must go through an approver.<\/div><\/div>\r\n          <div class=\"faq-item\"><div class=\"faq-q\">Can the Odoo dashboard &amp; insights view be set as a user's home screen?<\/div><div class=\"faq-a\">Yes. After you build your <strong>Odoo KPI dashboard<\/strong>, you can assign it as the default landing page per user via Preferences \u2192 Home Action. So your sales team logs in and immediately sees their sales dashboard; finance sees their P&amp;L cockpit; the CEO sees the consolidated group view \u2014 each tailored to their role and access level.<\/div><\/div>\r\n        <\/section>\r\n\r\n        <section class=\"cta-section\">\r\n          <h2 style=\"letter-spacing:0.05em;\">Stop Guessing. Stop Leaking. Start Running Odoo the Way It Should Be Run.<\/h2>\r\n          <p>Book a 30-minute personalised demo. We'll show the Suite against your real data, your real users, and your real governance pain points \u2014 in Arabic or English, your choice.<\/p>\r\n          <a href=\"https:\/\/etriple.odoo.com\/appointment\/3\" class=\"btn\" target=\"_blank\" rel=\"noopener\">\ud83d\ude80 Request Your Personalized Demo<\/a>\r\n          <p style=\"margin-top:1.5rem; font-size:0.9rem; opacity:0.9;\">\ud83d\udcde Or call: <strong>+20 100 210 6952<\/strong> \u00b7 \u2709\ufe0f <strong>info@etriplesoft.com<\/strong><\/p>\r\n        <\/section>\r\n\r\n        <!-- Internal Links Section -->\r\n        <section style=\"margin-bottom:3rem;\">\r\n          <div style=\"background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 36px;\">\r\n            <div style=\"display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--brand-secondary);background:rgba(0,196,204,.12);padding:5px 14px;border-radius:100px;margin-bottom:14px;\">Related Solutions<\/div>\r\n            <h3 style=\"font-size:1rem;margin-bottom:6px;letter-spacing:0.04em;color:#E8F0FF;\">Explore Other Odoo Solutions by Etriplesoft<\/h3>\r\n            <p style=\"font-size:13px;margin-bottom:0;color:var(--text-muted);\">The Odoo Dashboard & Insights Suite connects natively to every Odoo module. Explore the full platform:<\/p>\r\n            <div style=\"display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;\">\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-implementation-process-by-etriplesoft\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83d\udd0d Odoo Implementation Process<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-hr-software\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83d\udc65 Odoo for HR<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-for-accounting\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83d\udcb0 Odoo for Accounting<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-for-restaurants\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83c\udf7d\ufe0f Odoo for Restaurants<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-for-real-estate\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83c\udfe0 Odoo for Real Estate<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-for-facility-management\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83c\udfe2 Odoo for Facility Management<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/odoo-for-construction\/\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83c\udfd7\ufe0f Odoo for Construction<\/a>\r\n              <a href=\"https:\/\/etriplesoft.com\/blog\/odoo-itsm-helpdesk-itil-service-management\" style=\"display:inline-flex;align-items:center;gap:6px;background:#112B4E;border:1px solid var(--border);border-radius:100px;padding:8px 18px;font-size:13px;font-weight:500;color:#60A5FA;text-decoration:none;transition:all .2s;\" onmouseover=\"this.style.background=&#039;var(--brand-primary)&#039;;this.style.color=&#039;#fff&#039;\" onmouseout=\"this.style.background=&#039;#112B4E&#039;;this.style.color=&#039;#60A5FA&#039;\">\ud83c\udfab Odoo ITSM Helpdesk<\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/section>\r\n\r\n        <div class=\"share-links\">\r\n          Share this guide: <a href=\"#\">LinkedIn<\/a> \u00b7 <a href=\"#\">Facebook<\/a> \u00b7 <a href=\"#\">X<\/a>\r\n        <\/div>\r\n      <\/main>\r\n    <\/div>\r\n\r\n    <footer>\r\n      <p><a href=\"https:\/\/etriplesoft.com\/\">Etriplesoft<\/a> \u2014 Odoo Gold Partner \u00b7 Egypt \u00b7 UAE \u00b7 Saudi Arabia<\/p>\r\n      <p>\u00a9 Etriplesoft 2026. All rights reserved. | <a href=\"#\">Privacy<\/a> | <a href=\"#\">Odoo Dashboard &amp; Insights Suite<\/a><\/p>\r\n    <\/footer>\r\n  <\/div>\r\n\r\n  <script>\r\n    document.querySelectorAll('.faq-q').forEach(q => {\r\n      q.addEventListener('click', () => {\r\n        q.parentElement.classList.toggle('active');\r\n      });\r\n    });\r\n  <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Odoo Dashboard &amp; Insights Home \u203a Blog \u203a Odoo Dashboard &amp; Insights Suite Odoo Dashboard &amp; Insights \u00b7 Odoo 17 \u00b7 18 \u00b7 19 Ready \u00b7 Arabic &amp; RTL Enabled Odoo Dashboard &amp; Insights Suite \u2014 AI-Powered KPI Dashboard with Access Management for Odoo 17, 18 &amp; 19 Two enterprise-grade Odoo apps, one governance story. [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":16883,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-17056","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/posts\/17056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/comments?post=17056"}],"version-history":[{"count":0,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/posts\/17056\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/media\/16883"}],"wp:attachment":[{"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/media?parent=17056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/categories?post=17056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/etriplesoft.com\/ar\/wp-json\/wp\/v2\/tags?post=17056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}