Skip to product information
1 of 23

DoliSmart Premium administration theme for Dolibarr ERP/CRM

Regular price €299,00
Regular price Sale price €299,00
Sold out

7 people are viewing this right now

View full product details

1. Executive Summary

DoliSmart is a premium administration theme for Dolibarr ERP/CRM. It replaces the standard back-office appearance with a calm, dense and highly readable interface built around a white full-height sidebar, a flat white top bar carrying a global search, a near-white canvas and white cards separated by a hairline border rather than by heavy shadow. A vivid orange accent and a petrol blue carry the interactive and structural meaning; the remaining hues form a status palette used by the KPI icon discs, the badges and the gauges.

DoliSmart is delivered as a Dolibarr module rather than as a CSS theme. A stylesheet alone can only recolour the markup Dolibarr already emits; it cannot build a structured navigation rail, a global search bar or a KPI dashboard. Shipping as a module gives DoliSmart access to the official extension points - module_parts for assets, the menu-manager constants for the sidebar, and hooks for the home page and the document head - while leaving every Dolibarr core file untouched.

The centrepiece is an administrator dashboard reproducing a complete operations cockpit: eight KPI tiles, a staff distribution chart, a workforce status bar, a half-donut attendance gauge, a clock-in/out list, a recruitment panel, a people directory, a to-do list, a twelve-month sales chart, an invoice list, a projects table, a task-statistics gauge, a schedule panel, an activity timeline and a birthday panel. Every figure is read from real Dolibarr tables. No value on the dashboard is simulated.

2. Theme Overview

Property

Value

Commercial name

DoliSmart

Technical name

theme_dolismart

Module folder

dolismart

Module class

modDoliSmart

Module number

10000600

Version

1.0.0

Family

Interface

Editor

DoliResources

Licence

GNU GPL v3 or later

Minimum Dolibarr

16.0

Minimum PHP

7.0 (PHP 8.x supported)

Languages

English, French, Spanish, Italian, German, Dutch, Portuguese (BR)

External dependencies

None (the web font is optional and can be disabled)

 

DoliSmart ships one carefully tuned design. Earlier theme products in this range offered several interchangeable demos; experience showed that a single design taken to a high level of finish serves customers better than several half-finished ones, and the configuration screen still exposes ten colour palettes, seven sidebar modes, six top-bar styles and five layouts on top of it.

3. Design Objectives

·       Reproduce the visual identity of the reference design faithfully: white sidebar, white top bar, near-white canvas, compact white cards, orange accent, petrol blue, coloured icon discs, status badges and a grid layout.

·       Stay a GENERAL-PURPOSE ERP theme. The reference design is HR-flavoured, but DoliSmart must serve a distributor, a consultancy and a workshop equally well.

·       Show only real data. Every widget reads a Dolibarr table; a widget with no source hides itself rather than display a placeholder.

·       Remain dense but readable, suitable for a full working day in front of the screen.

·       Change nothing in the Dolibarr core, so upgrades stay routine.

·       Be fully configurable, so a customer can match the theme to their own brand without editing a single file.

4. UI/UX Philosophy

Colour carries meaning, never decoration

The interface is deliberately quiet. Orange marks what the user can act on - primary buttons, the active menu entry, progress fills, the links under each KPI. Petrol blue marks structure. The status palette (green, amber, red, blue, pink, purple) is reserved for state: paid versus overdue, on time versus late, completed versus pending. Nothing is coloured to be pretty.

Never rely on colour alone

The active sidebar entry is marked by a coloured left bar as well as by its tint. Status badges carry a word, not just a hue. Variation chips carry an arrow as well as a colour.

State the truth, including when it is inconvenient

Two rules govern every figure. First, both sides of a ratio must span the same population. Second, a value computed on an unrepresentative slice of the data is not a small truth but a wrong headline: the gross-margin tile therefore refuses to quote a figure when fewer than five per cent of the period's invoiced lines carry a cost price, and says so instead.

5. Dashboard Overview

The dashboard is laid out top to bottom as follows.

Band

Content

Page head

Title, breadcrumb, export button, week/month/year period selector

Welcome banner

Avatar, greeting, pending approvals and leave requests (both clickable), Add schedule and New request actions

KPI band

Eight KPI tiles plus the staff distribution chart

Workforce band

Workforce status, attendance gauge, clock-in/out

People band

Recruitment, people directory, to-do list

Commercial band

Twelve-month sales chart, recent invoices

Delivery band

Projects table, task-statistics gauge

Activity band

Schedules, activity timeline, birthdays

 

The period selector drives every dated figure on the page and is carried into the list links, so clicking a tile lands on a Dolibarr list filtered to exactly the same scope - the list total then matches the figure that was clicked.

6. KPI Cards

Each tile carries an icon disc, a label, a main value, an optional variation or rate chip, and a link to the underlying Dolibarr list.

Tile

Meaning

Source

Attendance today

Present vs total workforce, with today's rate

llx_events (connection log), llx_user

Open projects

Open vs total projects

llx_projet

Active customers

Customers invoiced in the period vs all customers

llx_facture, llx_societe

Tasks completed

Completed vs total tasks

llx_projet_task

Turnover

Invoiced over the period, with period-over-period variation

llx_facture

Gross margin

Sales minus cost on lines carrying a cost price

llx_facturedet

Applicants

Candidates recorded

llx_recruitment_recruitmentcandidature

New hires

Hired this month vs this year

llx_user.dateemployment

 

A variation chip is only shown when a comparable previous period exists. When the previous period is empty the chip is omitted altogether rather than printing a meaningless plus one hundred per cent. A rate - such as today's attendance - is rendered in a neutral chip with no arrow, because a rate is not a trend.

7. HR Dashboard Features

Dolibarr is a general ERP and records no organisational department, no contract type and no time clock. Rather than invent those concepts, DoliSmart maps each HR widget onto the native column that carries the equivalent business meaning, and names the widget after what it actually measures.

Reference widget

DoliSmart widget

Native source

Employees by department

Staff by job title

llx_user.job

Employee status

Workforce status

llx_user.dateemployment / dateemploymentend / fk_soc

Attendance overview

Attendance overview

llx_events (USER_LOGIN)

Clock-in/out

Clock-in / clock-out

llx_events

Jobs applicants

Recruitment

llx_recruitment_* (native module)

Birthdays

Birthdays

llx_user.birth

 

When too few users carry a job title for the distribution chart to mean anything, the widget falls back to turnover by salesperson and changes its own title and footnote accordingly, so it can never mislabel what it is showing.

8. Attendance Features

Dolibarr has no time clock, but it records every authentication in llx_events - which is exactly a clock-in. The attendance gauge splits the workforce into four mutually exclusive buckets that sum to the total, so the percentages add up to one hundred and the attendance rate is meaningful.

Bucket

Definition

On time

First login of the day at or before the reference start hour

Late

First login after it (configurable, default 09:30)

On leave

An approved holiday covering the day, for someone who did not log in

Absent

The rest of the workforce

 

Someone who worked is counted present whatever their calendar says, which is why the leave bucket explicitly excludes anyone who authenticated that day.

9. Employee Management Widgets

Workforce status

A stacked distribution bar plus four figures with their percentages, over four mutually exclusive buckets: Permanent, Fixed term, Onboarding (hired within ninety days) and External (users attached to a third party). A Top performer card names the salesperson with the highest invoiced turnover and states their share of the company total - not their share of the best performer's turnover, which would be one hundred per cent by construction.

People directory

A compact list of the workforce, most recently active first, with avatar, name, e-mail and a colour-coded job title, each row linking to the user card. Real user photographs are used when present; otherwise initials are drawn on a plate whose hue is derived from the name, so a colleague always keeps the same colour.

10. Recruitment Widgets

The recruitment panel reads Dolibarr's native recruitment module. It offers two tabs - Openings and Applicants - and counts candidates by status (new, interview, hired, refused). Open positions show the number of posts to fill, the planned date and the suggested remuneration; candidates show their target position and a status badge.

When the recruitment module is not enabled the whole panel is omitted from the page, and the Applicants KPI tile states that the module is disabled rather than showing a zero that would read as "no candidates".

11. Project Management Widgets

The projects table lists open projects with their reference, title, team, hours, deadline and priority.

·       Team - the project's internal contacts, drawn as stacked avatars with a +N overflow marker. Dolibarr has no owner column on a project: the responsible user is an internal contact of type PROJECTLEADER, with the project creator as fallback.

·       Hours - consumed against planned, from the sum of the tasks' planned workload and effective duration, with a thin progress bar underneath.

·       Deadline - the project end date; a project without one is given no false date.

·       Priority - derived from the time remaining: overdue or within a week is high, within a month is medium, beyond that is low.

12. Task Management Widgets

Task statistics gauge

An open donut over four mutually exclusive buckets that cover every task: Completed, Overdue, Ongoing and Not started. A dark strip beneath states the hours booked over the last seven days against the planned workload. Those hours come from the time sheets (llx_projet_task_time), not from the tasks' own duration field, so they reflect what was actually recorded.

To-do list

Unfinished agenda events assigned to the current user or to nobody in particular, soonest first, with overdue items highlighted. The panel is backed by llx_actioncomm, so completing an item here is the same action as completing it in the agenda - there is no parallel, private task store to fall out of sync.

13. Sales and Finance Widgets

The sales chart shows twelve monthly pairs: invoiced income and supplier-invoiced expenses. The window always covers the last twelve months ending on the current one, never January to December of the current year - otherwise the chart is nearly empty every January and a reader mistakes it for missing data.

The turnover basis is configurable: amounts excluding or including tax, and whether abandoned invoices count. The same definition drives the turnover tile, the chart and the top-performer ranking, so the three can never disagree.

Gross margin is computed only over invoice lines that carry a cost price. A missing cost is unknown, not zero: including those lines would report a margin close to one hundred per cent. The tile states what share of the turnover its figure covers, and refuses to quote a margin at all below five per cent coverage.

14. Invoice Widgets

The invoice panel lists the most recent customer invoices with the customer, reference, date, amount and a status badge.

Badge

Condition

Paid

The invoice is settled

Overdue

Open and past its due date (date_lim_reglement)

Unpaid

Open and not yet due

Draft

Not validated

Abandoned

Closed as abandoned

 

Lateness is decided on the DUE date, not on the invoice date, and only for invoices that are genuinely still open.

15. Sidebar Features

The sidebar is a Dolibarr menu manager, not a static list. It is filled from the native menu tree, so it automatically reflects the modules that are enabled, the user's permissions, the entity restrictions and any menu entry added by another module.

·       Brand row with the DoliSmart mark, replaced by the customer's square logo as soon as one is configured

·       Menu filter box, to jump to an entry by typing

·       Uppercase section captions and per-entry icons

·       Foldable sub-menus (accordion), with the open branch remembered

·       Active entry marked by both a tint and a coloured left bar

·       Favourites, with one-click add of the current page

·       Recently opened pages, stored in the browser only

·       Collapsible mini rail, remembered across reloads and applied before first paint

·       Internal scrolling, so a long menu never pushes the page

·       Off-canvas drawer with a backdrop below 760 pixels

16. Topbar Features

A flat white bar, fixed to the top of the viewport, carrying the sidebar toggle, the global search field with its keyboard-shortcut chip, the dark-mode toggle and Dolibarr's own login block - the entity selector, print, help and user menu are preserved rather than reimplemented, so multi-entity installs and future Dolibarr additions keep working untouched. The bar can be set to light, dark, gradient, coloured or transparent from the configuration screen.

17. Global Search

The search field is focused with Ctrl+K or Ctrl+/ from anywhere in the application. Results are grouped by object type and rendered with an icon, the type, the reference, the label and a direct link, with the search term highlighted. The search spans third parties, contacts, products and services, proposals, orders, invoices, projects and users, honouring the current user's read permissions on each object type.

18. Widgets Configuration

The dashboard composition is driven by the modules that are enabled and by the configuration screen. Panels whose source module is disabled disappear entirely; the quick-action row, the favourites section and the recently-opened section can each be switched off; the KPI card style, the turnover basis and the number of remembered pages are configurable. Dolibarr's own native widgets can be shown or hidden on the theme's home page.

19. Charts and Data Visualization

Every chart is drawn as inline SVG or as CSS boxes. No charting library is loaded: the entire theme adds no JavaScript dependency at all, which keeps the page weight low and removes a class of version-conflict problems with other modules.

·       Half-donut attendance gauge, with a title element per segment for hover detail and an ARIA label summarising the whole

·       Open donut for task statistics, with the legend in the gap

·       Horizontal bar chart for the staff distribution

·       Twelve-month grouped column chart for income against expenses, scrolling inside its own card on narrow screens

·       Stacked distribution bar for the workforce split

·       Thin progress bars for project hours

20. Tables and Lists

Dolibarr's native lists are restyled rather than replaced, so filtering, sorting, pagination, multi-selection, mass actions, the column selector and export all keep working exactly as the user already knows them. The theme supplies clear uppercase headers, compact rows, a hover state, coloured status badges, avatars and a hairline separator, and wraps wide tables in their own horizontal scroller so the page itself never scrolls sideways.

21. Forms

Text, numeric, search, date, time and monetary fields, select lists, checkboxes, radio buttons, switches, autocompletes, file attachments and text areas are restyled consistently, with a clear focus ring and readable error and success messages. The markup is Dolibarr's own, so native validation, mandatory-field marking and the select2 widgets keep behaving as before.

22. Login Pages

The login screen is restyled into a split layout: a branded panel carrying the DoliSmart mark, a headline and a gradient illustration on one side, and the sign-in card on the other. Identifier, password, remember-me, forgotten password, the language selector and error messages are all Dolibarr's own fields, only restyled. The dark variant applies the same treatment on a dark surface.

23. Responsive Design

Breakpoint

Behaviour

Above 1400 px

Four KPI tiles per row, three-column widget bands

1200 - 1400 px

Two KPI tiles per row

900 - 1200 px

Widget bands drop to two columns

760 - 900 px

Widget bands stack to one column

Below 760 px

Sidebar becomes an off-canvas drawer, top-bar search hides, actions go full width

Below 460 px

One KPI tile per row

 

Every grid track is declared as minmax(0, 1fr). A track declared with a pixel minimum cannot shrink below it, which is the usual cause of a page that scrolls sideways on a phone even though each card looks correct. Wide content - tables and the twelve-month chart - scrolls inside its own card.

24. Dark Mode

Dark mode is a genuine dark surface family, not the light theme with a filter over it. A warm hue at low opacity over a dark navy turns brown, so in dark mode the soft tints are dropped: the colour moves into the icon disc and the figure, and the tile keeps the plain card surface.

It covers the sidebar, the top bar, the canvas, cards, widgets, tables, forms, dropdowns, modals, notifications and the login page. It can be toggled from the top bar - the choice is stored per browser and applied before the first paint, so a reload never flashes the wrong theme - set as the default in the configuration screen, or left to follow the operating system.

25. Theme Configuration

The configuration screen is reached from Home, Setup, Modules, DoliSmart, Configure. Settings are grouped into Design, Colours, Layout, Sidebar and top bar, and Dashboard.

Group

Settings

Design

The active design, dark mode by default

Colours

Ten palettes plus a custom primary/accent pair; success, warning and danger colours; an optional custom gradient

Layout

Card radius, font family, base font size, web-font loading, shadows, borders, animations, content layout (five options)

Sidebar and top bar

Sidebar mode (seven options), sidebar width, top-bar style (six options)

Dashboard

KPI card style, quick-action row, favourites, recently-opened and its size, turnover basis, abandoned invoices, native widgets, home-page redirect

 

A Restore defaults button resets every setting. Values are stored as Dolibarr constants scoped to the current entity, so a multi-entity install can give each entity its own appearance.

26. User Preferences

Three preferences belong to the person rather than to the installation and are therefore stored in the browser, not in the database: the light/dark choice, whether the sidebar is folded, and the list of recently opened pages. They are applied by a small script in the document head before the first paint, so a reload lands directly in the right state with no visible flash. An administrator default applies only when the user has expressed no preference.

27. Accessibility

·       A visible focus ring on every interactive surface, including the chart columns

·       Full keyboard navigation; the search field has a documented shortcut

·       ARIA labels on the gauges, the navigation and the period selector; aria-current on the active period

·       The active menu entry marked by a coloured bar as well as by colour, so the state does not depend on colour perception

·       Status badges carry a word, not only a hue

·       Touch targets sized for a finger on small screens

·       prefers-reduced-motion honoured: all animation and smooth scrolling are disabled

·       The search submit button is hidden visually but kept in the accessibility tree, so screen-reader and keyboard users retain a submit control

Contrast was designed against WCAG 2.1 AA for body text, headings and badges. A full automated audit across every Dolibarr page was not performed - see Limitations.

28. Performance Optimization

·       No JavaScript library and no charting library: charts are inline SVG and CSS boxes

·       One stylesheet and one script, both generated by PHP and served with a cache header; a version change bumps Dolibarr's asset revision so users pick up the new files on a normal reload rather than a hard refresh

·       The brand mark is a 1 KB SVG; no bitmap is shipped

·       The web font is optional and can be switched off, after which no remote asset is requested at all

·       Every dashboard query is a single aggregate; nested queries inside an open cursor are avoided, and the team and participant lookups run after the main cursor is freed

·       Widgets belonging to a disabled module are never queried

29. Security Considerations

·       Every dashboard link points at a native Dolibarr page, which applies its own permission check; the theme grants no access of its own

·       All output is escaped with dol_escape_htmltag()

·       Configuration values that reach a CSS declaration are validated against a strict character whitelist rather than merely escaped, so a stray brace cannot close the rule and inject arbitrary CSS

·       Forms use Dolibarr's own token mechanism, validated by main.inc.php

·       Request parameters are read through GETPOST with an explicit type

·       No secret, credential or API key is stored in the module

·       No Dolibarr core file is modified, and no file outside the module folder is written

·       The demo seeder runs only on a platform explicitly flagged as a demo

30. Dolibarr Integration

Extension point

Purpose

module_parts['css'] / ['js']

Inject the stylesheet and script on every page

MAIN_MENU_*_FORCED constants

Install the sidebar menu manager

Hook main (setContentSecurityPolicy)

Redirect the home page to the dashboard

Hook addHtmlHeader

Pre-paint script, print view

config_page_url

The configuration screen

langfiles

The seven translation files

 

The sidebar is populated by calling Dolibarr's own menu generation, so every module's entries, every permission rule and every entity restriction are honoured without the theme knowing anything about them. Disabling the module clears only the constants that still point at DoliSmart's own menu manager, so it can never strip the menu from another theme that has taken over in the meantime.

31. Dolibarr Compatibility

The descriptor declares compatibility from Dolibarr 16.0 upward. Development and verification were carried out on Dolibarr 17.0.3 with PHP 8. The theme uses only long-standing extension points and no API introduced after version 16.

The brief asked for Dolibarr 20 and 21. Those versions were not available on the build machine and compatibility with them has NOT been verified - see Limitations for the manual procedure to confirm it.

Multi-entity installs are supported: every setting is stored per entity and every query filters on getEntity(). Right-to-left languages inherit Dolibarr's own RTL handling; this was not separately verified.

32. Browser Compatibility

The stylesheet uses flexbox, CSS grid, custom properties and inline SVG, all supported by every current browser. The one modern feature used - color-mix() for the badge tints - is guarded by an @supports fallback, so a browser without it still renders a legible badge on a neutral background.

Verification was performed on Chromium 148. Firefox, Edge and Safari were NOT tested on this machine - see Limitations.

33. Technical Architecture

One source of truth for the design

core/dolismart_presets.php resolves the complete design - palette, surfaces, sidebar and top-bar treatment, radius, font - into a single array, applying the administrator's overrides on top of the shipped defaults. The stylesheet, the dashboard, the sidebar renderer and the configuration screen all read that same array, so the configuration screen's defaults and the stylesheet's defaults are the same values by construction and cannot drift apart.

One function per widget

core/dolismart_dashdata.php holds one function per widget. It never prints and never bootstraps Dolibarr, so it can be included from the dashboard and from the dynamic assets alike. Every function guards its divisions, tests isModEnabled() before touching a module's tables, and logs a failed query with dol_syslog() before returning an empty set - so an empty panel is never silently confused with an absence of data.

34. Folder Structure

Path

Contents

admin/setup.php

Configuration screen

class/actions_dolismart.class.php

Hooks: home redirect, document head, print view

class/dolismart_demo.class.php

Demo dataset seeder and purge

core/dolismart_presets.php

Design tokens - single source of truth

core/dolismart_dashdata.php

Dashboard data layer, one function per widget

core/menus/standard/

Sidebar menu manager

core/modules/modDoliSmart.class.php

Module descriptor

css/dolismart.css.php

Dynamic stylesheet: tokens, native restyle, components

js/dolismart.js.php

Dynamic script: chrome injection, theme, search, favourites

img/dolismart-mark.svg

Original brand mark

langs/

Seven translation files

index.php

Administrator dashboard

search.php

Global search results

 

35. Installation Guide

·       Check the prerequisites: Dolibarr 16.0 or later, PHP 7.0 or later.

·       Install module_dolismart-1.0.zip from Home, Setup, Modules, Deploy an external module - or copy the dolismart folder into htdocs/custom/.

·       Enable DoliSmart in the module list, family Interface.

·       The sidebar, top bar and dashboard apply immediately; no theme selection step is needed, because DoliSmart is a module and not a theme folder.

·       Open Home, Setup, Modules, DoliSmart, Configure to adjust the palette, layout and dashboard options.

·       Optional: upload a square company logo in Home, Setup, Company, so the sidebar shows the customer's brand instead of the DoliSmart mark.

36. Upgrade Guide

·       Back up the database and the htdocs/custom/dolismart folder.

·       Deploy the new archive over the existing folder, or replace the folder.

·       Disable and re-enable the module so the descriptor runs again.

·       Re-enabling bumps Dolibarr's asset revision, so users load the new stylesheet and script on a normal reload; no hard refresh and no cache clearing is required.

·       Configuration constants are preserved across an upgrade; nothing needs to be reconfigured.

37. Customization Guide

Most customisation is done from the configuration screen and needs no code. To go further:

·       Colours, radius, fonts and surfaces: edit the single preset array in core/dolismart_presets.php. Every consumer reads from there.

·       A new dashboard widget: add one function to core/dolismart_dashdata.php following the conventions documented at the top of that file, then render it in index.php.

·       Component styling: the component section of css/dolismart.css.php is organised by widget and uses only the design tokens, never literal colours.

·       Never edit the generated language files: edit gen_lang.py and regenerate, so a wording fix cannot land in one language and rot in the other six.

38. Translation System

Every user-visible string goes through Dolibarr's translation system. The theme ships seven language files - English, French, Spanish, Italian, German, Dutch and Brazilian Portuguese - each holding 255 keys.

All keys are prefixed DoliSmart. Dolibarr merges every active module's translations into a single table where the last loaded value wins, so an unprefixed generic key silently renders another module's wording. The files are generated from one table by gen_lang.py, which refuses to build if a key is unprefixed, a value is empty, a value contains a literal percent sign (which would make Dolibarr's sprintf-based translator raise a fatal error), or the placeholder count differs between languages.

Adding a language is a matter of adding one column to that table and one entry to the language list.

39. Screenshots Description

The Screenshots folder of this package contains the captures listed below, produced against a live Dolibarr 17.0.3 install carrying the demonstration dataset. All figures visible in them are real values read from the database.

File

Contents

Dashboard/01_dashboard.png

The administrator dashboard, light mode

Dashboard/02_dashboard_week.png

The same dashboard on the weekly period

Dashboard/03_setup.png

The configuration screen

CRM/04_thirdparties.png

Third-party list

Finance/05_invoices.png

Customer invoice list

Projects/06_projects.png

Project list

Projects/07_tasks.png

Task list

HR/08_users.png

User list

HR/13_recruitment.png, 14_candidates.png

Job positions and candidates

Dark/20_dark_dashboard.png

The dashboard in dark mode

Tablet/30_tablet_dashboard.png

Tablet layout, 1024 px

Mobile/31_mobile_dashboard.png

Phone layout, 414 px

 

40. Advantages

·       A complete operations cockpit on the home page, fed entirely from real Dolibarr data

·       No Dolibarr core file modified, so upgrades stay routine

·       No JavaScript or PHP dependency; the only remote asset is an optional font

·       Deep configurability without touching a file: palettes, layouts, sidebar and top-bar modes, typography, card treatment

·       A genuine dark mode, designed as its own surface family

·       Seven languages, with a generator that makes a partial translation impossible to ship

·       Native lists, forms and permissions preserved, so users keep the behaviour they know

·       Widgets that hide themselves rather than display an invented figure

41. Limitations

The following points were NOT verified during this build. Each is listed with the reason and the procedure to confirm it manually.

Item

Reason

How to verify manually

Dolibarr 20 and 21 compatibility

Only Dolibarr 17.0.3 was available on the build machine

Install the module on a 20.x and a 21.x instance, enable it, and open the dashboard, a list, a card and the configuration screen

Firefox, Edge and Safari

Only Chromium 148 is installed on the build machine

Open the dashboard, a list and the configuration screen in each browser, in light and dark mode

Windows, Android and iOS

The build machine runs macOS only

Open the dashboard on each platform and check the drawer and touch targets

Automated WCAG audit

No audit tool is installed on the build machine

Run axe DevTools or Lighthouse on the dashboard, a list and the login page

Right-to-left languages

No RTL language file is shipped with the theme

Switch Dolibarr to Arabic or Hebrew and check the sidebar and card alignment

The additional dashboards listed in the brief

One administrator dashboard was built to the required level of finish; the further per-domain dashboards are not in this release

Not applicable - see Future Enhancements

Widget drag-and-drop and layout saving

Not implemented in this release; widget visibility is configurable, their order is not

Not applicable - see Future Enhancements

Configuration import/export as JSON

Not implemented in this release; a Restore defaults action is provided

Not applicable - see Future Enhancements

 

42. Future Enhancements

·       Per-domain dashboards (commercial, finance, projects, stock, support) reusing the existing widget library

·       Drag-and-drop widget arrangement with a per-user saved layout

·       Configuration export and import as JSON, and duplication between entities

·       A per-user override of the palette and density, on top of the entity default

·       Right-to-left stylesheet variant

·       Optional native time-clock integration when a punch-clock module is present, replacing the connection-log approximation used by the attendance widgets

43. Support and Maintenance

DoliSmart is published and maintained by DoliResources.

·       Website: https://www.doliresources.com

·       Licence: GNU General Public License v3 or later

·       Copyright: 2026 DoliResources - all development rights belong exclusively to DoliResources

Bug reports should state the Dolibarr version, the PHP version, the browser, the list of enabled modules and the exact steps to reproduce. Dolibarr's own log (Home, Setup, Security, Logs) usually carries the decisive line, because every failed query in the dashboard data layer is written there with the originating function name.

The theme bundles no third-party code, image, icon or illustration. The brand mark was drawn for this theme and belongs to DoliResources. Icons come from Font Awesome 5 Free, already shipped with Dolibarr itself. The reference screenshot used during design was neither redistributed nor traced, and no asset from any commercial template is present in this package.