{"product_id":"business-intelligence-enterprise-enterprise-bi-analytics-data-visualization-platform-dolibarr","title":"Business Intelligence Enterprise - Enterprise BI, Analytics \u0026 Data Visualization Platform - Dolibarr","description":"\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e1. Complete Functional Overview\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eBusiness Intelligence Enterprise turns Dolibarr into a full enterprise decision-support platform — an integrated alternative to Microsoft Power BI, Tableau, Qlik Sense, SAP Analytics Cloud, IBM Cognos, Oracle Analytics, Looker, Metabase, Apache Superset, Grafana, Pentaho and Sisense — without leaving the ERP.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe module covers the entire Business Intelligence lifecycle:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"color: #1d4ed8;\"\u003eCollection → Centralisation → Transformation (ETL) → Modeling → Multidimensional analysis (OLAP) → Dashboarding → Data visualization → Reporting → Forecasting → Alerting → Decision AI.\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe executive cockpit above aggregates the whole platform on a single page: 16 premium KPI cards, RAG target-achievement bullets per business domain, revenue trend against target, forecasts, active alerts, AI insights, ESG indicators, a 12-month activity heatmap, geographic breakdown, ETL pipeline health and an audited event timeline.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e1.1 Steering scope\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoListBulletCxSpFirst\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eStrategic steering — revenue, result, margin, profitability, forecasts, strategic KPIs.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eOperational steering — sales, purchasing, inventory, production, logistics, quality, maintenance, projects.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eFinancial steering — cash, accounting, receivables, payables, cash flow, budget.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eSales \u0026amp; CRM analysis — targets, conversion, pipeline, customer 360, rep performance.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eHR analysis — headcount, leave, recruitment, training, performance.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpLast\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eESG \/ CSR analysis — CO2 scopes 1\/2\/3, energy, water, waste, safety, diversity.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e2. Architecture\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe module follows native Dolibarr architecture end to end: CommonObject-based business classes, a descriptor-driven module definition, standard permissions, MultiCompany\/MultiEntity awareness through getEntity(), and the native translation system.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e2.1 Layers\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eLayer\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eRole\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eObjects\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eData sources\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eConnect native and external systems\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebiedatasource\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eData sets\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eScope an analytical perimeter and its fields\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ebiedataset, biedatasetfield\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eData Warehouse\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePersist facts, dimensions and aggregates\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebiewarehouse\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eETL\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eExtract, transform and load into the warehouse\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ebieetljob, bieetlstep\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eSemantic model\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eRelate data sets; define dimensions and measures\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebiemodel, bierelation, biedimension, biemeasure\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eKPI engine\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eDefine, target, threshold and historise indicators\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ebiekpi, biekpivalue\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 7;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eVisualization\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eCompose dashboards, widgets and charts\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebiedashboard, biewidget, biechart\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 8;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eAnalysis\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eOLAP pivot and data discovery\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ebieanalysis, bieexploration\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 9;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePredictive \u0026amp; AI\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eForecast, detect anomalies, recommend\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebieforecast, bieaiinsight\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 10;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eDelivery\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eAlert, report, schedule, share\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ebiealert, biereport, bieschedule, bieshare\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 11; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"121\" valign=\"top\" style=\"width: 90.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eGovernance\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"227\" valign=\"top\" style=\"width: 6.0cm; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eAudit trail and programmatic access\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"272\" valign=\"top\" style=\"width: 204.1pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebieaudit, bieapikey\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 4.0pt;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e2.2 Physical model\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoListBulletCxSpFirst\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e25 tables prefixed llx_bie_*, each carrying entity, status, date_creation, tms, fk_user_creat, fk_user_modif and import_key.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eEvery foreign key is indexed; index names are kept short to stay under the 64-character limit.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eA schema self-heal (bieEnsureSchema) runs at activation and ALTERs in any column added by a later version — Dolibarr only ever runs CREATE TABLE, never ALTER.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpLast\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003etable_element carries no llx_ prefix; the SQL files keep the literal llx_bie_* names.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e3. Features\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e3.1 Data sources\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eNative: Dolibarr database, MultiCompany, MultiEntity. External (architecture in place): MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, CSV, Excel, REST API, JSON, XML, Google Sheets. Each source declares its connection, authentication, refresh mode (real-time, hourly, daily, weekly, monthly, manual), cron expression, sync history and owner.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e3.2 Data Warehouse and ETL\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe warehouse layer persists fact tables, dimension tables and aggregates with grain, partition key, retention, size, index count and incremental mode. The ETL engine runs Extract → Transform → Load with ordered, typed steps (cleansing, deduplication, mapping, normalisation, calculations) and tracks rows in \/ out \/ rejected, duration, run count, error count and last-run status.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e3.3 Semantic modeling\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eStar and snowflake models relate data sets through typed relations (cardinality, join type). Dimensions carry drill hierarchies (e.g. Year \u0026gt; Quarter \u0026gt; Month \u0026gt; Day); measures carry aggregation, formula, unit, format and additivity.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e4. Dashboard Designer\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe builder composes dashboards by drag \u0026amp; drop on a 12-column grid. Widgets can be resized, duplicated, deleted and bound to a KPI; the layout is persisted as bie_widget rows.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e4.1 Widget catalogue (22 types)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eKPI Card · Gauge · Thermometer · Donut · Pie · Bar · Line · Area · Radar · Waterfall · Funnel · Sankey · Treemap · Heatmap · Scatter · Bubble · Geographic map · Timeline · Data table · Pivot table · Calendar · LED indicator.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e4.2 Chart catalogue (20 families)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eLine · Bar · Donut · Radar · Treemap · Sankey · Waterfall · Funnel · Heatmap · Scatter · Bubble · Analytical Gantt · KPI card · Bullet graph · Pareto · Sunburst · Gauge · Timeline · World map · Regional map. All charts are interactive, zoomable, filterable and exportable.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eRendering is native by default (no external dependency). The architecture also accepts Apache ECharts, Chart.js, Highcharts and D3.js, selectable in the setup page.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e5. KPI Engine\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe module ships a library of 284 ready-to-use indicators across 12 business domains. Each KPI carries a name, description, category, formula, unit, target, minimum and maximum thresholds, owner, calculation frequency, current and previous value, variation, achievement rate and an improvement direction that drives all RAG colouring.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eDomain\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eKPIs\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eExamples\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eFinancial\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e35\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eRevenue, gross\/net margin, EBITDA, cash flow, working capital, ROE, DSO, budget variance\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eSales\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e30\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConversion rate, average order value, new customers, retention, churn, LTV, CAC\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eCRM\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e27\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eOpportunities, pipeline value, win rate, sales cycle, satisfaction, NPS\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eHuman resources\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e27\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eHeadcount, FTE, turnover, absenteeism, payroll, training hours, time to hire\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePurchasing\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e20\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePurchase amount, supplier lead time, on-time delivery, savings, dependency\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eInventory\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e22\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eStock value, turnover, days of inventory, stockout rate, service level, shrinkage\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 7;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eProduction\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e22\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eOEE, availability, performance, quality rate, scrap, cycle time, capacity\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 8;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eQuality\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e20\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConformity, non-conformities, cost of poor quality, DPMO, Cpk, audits\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 9;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eLogistics\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e20\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eShipments, OTIF, delivery lead time, transport cost, picking productivity\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 10;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eMaintenance\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e18\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eMTTR, MTBF, MTTF, availability, preventive ratio, downtime, backlog\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 11;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eESG \/ CSR\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e21\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eCO2 scopes 1\/2\/3, carbon intensity, energy, water, waste recovery, safety, pay gap\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 12; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eProjects\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"60\" valign=\"top\" style=\"width: 45.35pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e22\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"431\" valign=\"top\" style=\"width: 323.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eCompletion, budget variance, margin, CPI, SPI, earned value, resource utilisation\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 4.0pt;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e6. Multidimensional Analysis (OLAP)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe OLAP page builds a cube from the KPI value history joined to the KPI dimensions, and exposes the five canonical operations.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eOperation\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eBehaviour\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDrill down\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eWalks down the declared hierarchy (Year \u0026gt; Quarter \u0026gt; Month)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eDrill up\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eWalks back up to the parent level\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eSlice\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eRestricts the cube to one category\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eDice\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eRestricts the row dimension with a free filter\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"129\" valign=\"top\" style=\"width: 96.4pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePivot\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"491\" valign=\"top\" style=\"width: 368.5pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eSwaps the row and column axes instantly\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 4.0pt;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eCells are shaded proportionally to their value, so the pivot reads as a heat map; row totals, column totals and the grand total are computed in the same single grouped query. The whole table exports to CSV exactly as displayed.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\"\u003eSecurity: row\/column dimensions, measures and aggregations are resolved through a server-side whitelist — no user input ever reaches the SQL string.\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e7. Predictive Analytics\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe forecasting engine projects any indicator forward over a configurable horizon.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eProperty\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eDescription\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eAlgorithms\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eLinear regression, moving average, Holt-Winters\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eHorizon\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConfigurable in months (3, 6, 12 …)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eHistory\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eNumber of historical periods used to fit\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eSeasonality\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eNone or monthly\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eTrend slope\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eFitted slope of the series\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eR squared\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eCoefficient of determination — goodness of fit\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 7;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eMAPE\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eMean absolute percentage error\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 8; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConfidence\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConfidence percentage and lower\/upper bounds\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin: 6.0pt 0cm 10.0pt 0cm;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eForecast targets include revenue, sales, cash, orders, expenses, margin, production, payroll, purchases and stock value.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e8. AI Assistant\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe decision AI explains indicators, detects anomalies, identifies trends, compares periods, summarises performance and suggests actions — for example answering \"Why did sales drop this month?\".\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e8.1 Local statistical engine\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe analysis is computed by a deterministic statistical engine — least-squares linear trend plus Z-score anomaly detection — so the page is fully functional with NO external AI provider configured. Every finding and every recommendation is derived from a figure the module actually computes and displays: mean, standard deviation, Z-score, R squared, period-over-period variation and target achievement. The module never states a number it cannot establish.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e8.2 Provider architecture\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eWhen a provider is configured (OpenAI, Ollama local, Azure OpenAI, Anthropic, Mistral), the same computed findings are what would be handed to it as grounding context. Stored insights record provider, model, question, finding, recommendation, confidence, estimated impact and token usage.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e9. Reporting Engine\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe reporting page presents the KPI scorecard and drives the report engine.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpFirst\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eScorecard — reference, label, category, current value, target, variation, RAG achievement bar and an inline SVG sparkline per indicator.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eCategory filter — instantly yields the dashboard of a given direction (finance, sales, HR, inventory, production, ESG …).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eCSV export of the whole scorecard, formula included.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eReport designer — custom reports, templates, filters, parameters, calculations, charts and groupings.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eOutput formats — PDF, Excel, CSV, Word, PowerPoint, HTML.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpLast\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eScheduling — automatic delivery (daily, weekly, monthly, quarterly) to a recipient list.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003ci style=\"mso-bidi-font-style: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"color: #64748b;\"\u003ePerformance note: the scorecard loads the full KPI history in a single grouped query and buckets it in memory, so 284 sparklines cost one query rather than 284.\u003c\/span\u003e\u003c\/i\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e10. API Integration\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe BI API exposes the platform to external consumers.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eProperty\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eDescription\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eScope\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eRestricted scope per key, e.g. kpi:read,dashboard:read\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eRate limit\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ePer-key call quota\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eAllowed IPs\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eOptional IP restriction\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eExpiry\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eKey expiry date\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eUsage\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eCall counter and last-call timestamp\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eCapabilities\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eExport KPIs and dashboards, read reports, feed data in\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 4.0pt;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e10.1 Dolibarr integration\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe module reads the native Dolibarr modules through its data sets: CRM, third parties, products, stock, warehouses, purchasing, sales, quotations, orders, invoices, accounting, bank, HR, projects, interventions, production, and integrates alongside the DoliResources GMAO, Facility Management, QHSE, ESG, OCR, e-signature, API Manager, Workflow, GED and AI Assistant modules.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e11. Security\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eControl\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eImplementation\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePermissions\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e45 granular rights across 14 functional groups plus audit, reporting and administration\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eBI roles\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eRead \/ write \/ delete per group; read and write granted by default, delete and admin withheld\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eAudit trail\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDate, event type, object, user, IP, severity, row count, duration\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eTraceability\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eConfigurable retention (365 days by default) for GDPR compliance\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eSQL safety\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eOLAP dimensions, measures and aggregations resolved via server-side whitelist\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eInput safety\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eWidget types revalidated against a whitelist on save; all values escaped via the DB layer\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 7;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDashboard access\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePrivate \/ shared \/ public-token sharing with fine-grained permissions and expiry\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 8; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"144\" valign=\"top\" style=\"width: 107.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eSecrets\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"476\" valign=\"top\" style=\"width: 357.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eAI and source credentials stored server-side, rendered as password fields\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin: 6.0pt 0cm 10.0pt 0cm;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 10.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; font-family: 'Calibri',sans-serif; mso-fareast-font-family: 'MS Mincho'; mso-fareast-theme-font: minor-fareast; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;\"\u003e\u003cbr clear=\"all\" style=\"mso-special-character: line-break; page-break-before: always;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"mso-element: para-border-div; border: none; border-bottom: solid #1D4ED8 1.5pt; padding: 0cm 0cm 4.0pt 0cm;\"\u003e\n\u003ch1 style=\"border: none; mso-border-bottom-alt: solid #1D4ED8 1.5pt; padding: 0cm; mso-padding-alt: 0cm 0cm 4.0pt 0cm; margin: 16.0pt 0cm 8.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"font-size: 17.0pt; mso-bidi-font-size: 14.0pt; line-height: 115%; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #0f172a;\"\u003e12. Technical Architecture\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003c\/div\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ctable class=\"MsoTableGrid\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"mso-yfti-irow: 0; mso-yfti-firstrow: yes;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eItem\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border: solid windowtext 1.0pt; border-left: none; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #0F172A; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cb style=\"mso-bidi-font-weight: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: white;\"\u003eValue\u003c\/span\u003e\u003c\/b\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 1;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eModule name\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ebusinessintelligence\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 2;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eDescriptor\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003emodBusinessIntelligence\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 3;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eModule numero\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e517100 (rights 517101-517145)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 4;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eVersion\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e1.0.0\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 5;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003ePublisher\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDoliResources — www.doliresources.com\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 6;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eLicence\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eGPL v3 or later\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 7;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDolibarr\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e16.0 and above (validated on 17.0.3)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 8;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ePHP\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e7.1 → 8.x\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 9;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eDatabase\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eMySQL \/ MariaDB; PostgreSQL-compatible architecture\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 10;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eBusiness objects\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e25\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 11;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eTables\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e25 (llx_bie_*)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 12;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003ePermissions\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e45\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 13;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eMenu entries\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e1 top + 25 left\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 14;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eKPI library\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e284 across 12 domains\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 15;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eWidget types\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003e22\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 16;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eChart families\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003e20\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 17;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eLanguages\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eFrench, English, Spanish, Italian, German (531 keys each)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 18;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eChart engines\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; background: #F8FAFC; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; color: black; mso-color-alt: windowtext;\"\u003eNative (default); ECharts, Chart.js, Highcharts, D3.js architecture\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"mso-yfti-irow: 19; mso-yfti-lastrow: yes;\"\u003e\n\u003ctd width=\"166\" valign=\"top\" style=\"width: 124.7pt; border: solid windowtext 1.0pt; border-top: none; mso-border-top-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eAI providers\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd width=\"454\" valign=\"top\" style=\"width: 340.15pt; border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; mso-border-top-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt;\"\u003e\n\u003cp class=\"MsoNormal\" style=\"line-height: normal;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt;\"\u003eOpenAI, Ollama, Azure, Anthropic, Mistral (all optional)\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"MsoNormal\" style=\"margin-bottom: 4.0pt;\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e12.1 Engineering standards\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoListBulletCxSpFirst\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eObject-oriented, CommonObject-derived classes with fetch\/fetchAll\/create\/update\/delete and getNomUrl.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eMultiCompany \/ MultiEntity: every query filters through getEntity().\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eMulti-language via the native Dolibarr translation system; the module re-asserts its own labels at render time so that, on an instance running many modules, a shared translation key can never surface another module's wording on a BI screen.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eMulti-currency through the native price() formatter.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eResponsive design; CSS served through a module_parts stylesheet.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eIntelligent caching: configurable dataset cache TTL.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eSQL optimisation: grouped single-pass queries for the pivot, the heatmap and the scorecard sparklines (no N+1).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpMiddle\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eInteractive JavaScript is guarded against double-binding (Dolibarr may inject module JS more than once).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoListBulletCxSpLast\" style=\"mso-add-space: auto; text-indent: -18.0pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt; margin: 0cm 0cm 3.0pt 18.0pt;\"\u003e\u003c!-- [if !supportLists]--\u003e\u003cspan lang=\"EN-US\" style=\"font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;\"\u003e\u003cspan style=\"mso-list: Ignore;\"\u003e·\u003cspan style=\"font: 7.0pt 'Times New Roman';\"\u003e       \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c!--[endif]--\u003e\u003cspan dir=\"LTR\"\u003e\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003eDocumented code: file, class and method docblocks throughout.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2 style=\"margin: 12.0pt 0cm 5.0pt 0cm;\"\u003e\n\u003cspan lang=\"EN-US\" style=\"mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; color: #1d4ed8;\"\u003e12.2 Extensibility\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003eThe architecture is designed to accept future Big Data connectors, external Data Lake \/ Data Warehouse targets, advanced machine learning and third-party BI platform integration (including Power BI export), without disturbing the existing model.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\"\u003e\u003cspan lang=\"EN-US\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"MsoNormal\" align=\"center\" style=\"text-align: center;\"\u003e\u003cspan lang=\"EN-US\" style=\"font-size: 9.5pt; mso-bidi-font-size: 11.0pt; line-height: 115%; color: #64748b;\"\u003e© 2026 DoliResources — www.doliresources.com\u003c\/span\u003e\u003cspan lang=\"EN-US\"\u003e\u003c\/span\u003e\u003c\/p\u003e","brand":"Dolibarr Resources","offers":[{"title":"Default Title","offer_id":53918549901630,"sku":null,"price":299.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/4174\/0094\/files\/RefinedVectorLogoforDoliCRMPro_0e9b2ef8-0bdc-47e1-a887-ed1eb8f76d52.png?v=1784208453","url":"https:\/\/doliresources.com\/products\/business-intelligence-enterprise-enterprise-bi-analytics-data-visualization-platform-dolibarr","provider":"DoliResources","version":"1.0","type":"link"}