Skip to product information
1 of 44

ADNIX Premium Theme for Dolibarr ERP/CRM

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

1. Executive Summary

Adnix is a Premium theme-module for Dolibarr ERP/CRM. It replaces the standard Dolibarr interface with a modern SaaS-style environment — a dark vertical rail,...

8 people are viewing this right now

View full product details

1. Executive Summary

Adnix is a Premium theme-module for Dolibarr ERP/CRM. It replaces the standard Dolibarr interface with a modern SaaS-style environment — a dark vertical rail, a light top bar and a near-white content canvas — while leaving every business feature of the ERP untouched.

The theme ships five complete, interchangeable dashboards. Switching between them repaints the palette, the KPI style, the chart family and the dashboard layout in a single request, with no re-installation, no file editing and no data loss.

Every figure the dashboards display is read from the customer's own Dolibarr data. Where a module is not enabled, the corresponding widget states so explicitly instead of rendering a zero that could be mistaken for a business result. Nothing is simulated.

·       Installable — a single ZIP through the Dolibarr module manager

·       Non-invasive — no file under /htdocs/core/ is modified, added or replaced

·       Configurable — 45 settings across six groups, plus JSON export/import

·       Multilingual — seven language files, five of them fully translated

·       Responsive — verified with no horizontal overflow down to a 390 px viewport

·       Dark mode — a complete second surface set, not a filter

2. Theme Overview

Property

Value

Commercial name

Adnix

Technical name

theme_adnix

Folder

adnix

Module class

modAdnix

Module number

10000840

Version

1.0.0

Package

module_adnix-1.0.zip

Licence

GPL-3.0-or-later

Editor / Publisher

DoliResources

 

The package contains 11 PHP files, one dynamic stylesheet, one dynamic script, seven language files and the brand artwork — 11,691 lines in total. There are no third-party libraries, no build step and no compiled assets: every chart is server-rendered SVG.

3. Product Positioning

Adnix targets organisations that use Dolibarr as their operational system of record and want an interface that reads like a modern analytics product. The five demos let one package serve several audiences from the same installation:

Demo

Audience

Answers

Sales Analysis

Sales management

What did we bill, who sells, where is capacity?

Account & Revenue

Administration, finance

Who am I, is the account secure, what are the tax details?

Hospital

Care and service organisations

What is in progress, who is available, what closed?

CRM Analytics

Marketing and CRM

How does the base convert, how is it segmented?

Executive Analytics

Management

Income against expense, collection, yearly synthesis

 

4. Design Objectives

·       Faithfulness — reproduce the structure, proportions, colour families and component vocabulary of the five visual references

·       Truthfulness — never print a figure the data does not support; a missing module produces a sentence, not a zero

·       Originality — all artwork, code and branding are new; no commercial theme code, logo or protected illustration is reused

·       Continuity — native Dolibarr pages, forms, permissions and hooks continue to behave exactly as before

·       Reversibility — disabling the module restores the standard interface immediately

5. UI/UX Philosophy

Three rules govern the interface:

·       One shell, five identities — the five references share a single application shell. That shell is declared once in the preset engine, so a demo cannot drift on a surface the references have in common; only the accent family and the dashboard composition differ.

·       Colour never carries meaning alone — every status badge pairs its colour with a text label, and status colours follow Dolibarr's own semantics rather than a decorative palette.

·       A number must be readable and true — ratios use the same population on both sides, every variation belongs to the tile that prints it, and chart axes are always labelled so magnitude never depends on a tooltip.

6. Visual Identity

The Adnix mark is original artwork: a hexagonal shell enclosing a stylised A, with a turquoise accent node. It is inlined as SVG in the sidebar and as a data URI on the login card, so it costs no request and cannot break if the folder is renamed.

Token

Value

Role

Adnix Navy

#1F2A44

Titles, primary ink

Adnix Purple

#8B5CF6

Primary of CRM and Executive

Adnix Blue

#6C8AF5

Primary of Sales and Account

Adnix Cyan

#2BC9B4

Accent, positive states

Adnix Red

#F9506B

Danger, overdue

Adnix Orange

#FFA800

Warning, outstanding

Adnix Green

#2BC9B4

Success

Adnix Gray

#6B7280

Secondary text

Adnix White

#FFFFFF

Card surface

 

The rail is #262C3F, the top bar #FFFFFF and the canvas #F5F6F8 across all five demos. The primary colour can be replaced by any of nine palettes or by a fully custom pair.

7. Adnix Sales Analysis Demo

Commercial dashboard built around invoiced turnover.

·       Turnover card — yearly invoiced amount on the configured base (HT or TTC), with its own year-on-year variation and a link to the filtered invoice list

·       Clients card — total customer count, the number billed this year, and the new-customer variation

·       Top agent — ranked on value actually invoiced by the authoring user over the running year, with invoice, order and won-proposal counts and a link to the user card

·       Profit — step-line chart with Month / Week / Day granularity, labelled Y ticks and a dot on every plateau

·       Time available — circular gauge fed by real logged time from the Projects module; capacity uses the same population as consumption (active internal users over elapsed business days)

·       Trends — best-selling products read from invoice lines

·       Project progress — the active project closest to its deadline, its task completion and its team

·       Sales stats — ordered value and order count with a sparkline

·       User activity — the latest real objects created across invoices, orders, proposals and third parties

8. Adnix Account & Revenue Demo

Account area reporting on records Dolibarr already keeps.

·       Account info — name, e-mail, role, entity, language and last login, with a link to the user card

·       Security setting — a REPORT on the native mechanisms — two-factor state, account update date, active users and administrators. The theme implements no security of its own.

·       Tax details — VAT number, professional identifier, country and VAT liability, read from the company record

·       Report — volume of invoices, orders, documents and third parties available for reporting

·       Inquiry — donut of inbound activity by agenda event type

·       Overview — grouped histogram comparing proposals and orders over nine months

·       Revenue — current year against previous year with both totals

·       Sales and Earnings — monthly and yearly sales; gross margin computed only on lines that carry a cost price, with the covered share printed

9. Adnix Hospital Demo

Care dashboard that runs on a plain Dolibarr through a documented fallback mapping.

·       Status strips — four configurable labels over consultations, records, admissions and closed follow-ups

·       Activity — twelve-month area chart of agenda events

·       Record summary — identity fields of the most recently updated record

·       Care notice — a configurable red band; by default it states that clinical measurements require a compatible medical module

·       Follow-up — range bars comparing ongoing and closed items per month

·       Practitioners — the user list with role and availability

·       Record statistics — totals for records, consultations, admissions and documents

10. Adnix CRM Analytics Demo

Segmented performance view of the customer base.

·       Conversion rate — won proposals over CLOSED proposals — still-open proposals are excluded so the rate measures performance, not pipeline age

·       New added — records created this year with their own variation

·       Activity flow — events this year with the events variation

·       Share by segment — third parties per type, including an explicit unspecified bucket so the denominator is the whole population

·       Population breakdown — donut of customers, prospects and suppliers

·       Activity by day — weekday radar over the last 180 days

·       Total sales — yearly value with its variation and an area curve

·       Campaigns and cohorts — Emailing campaigns when the module is on; record cohorts by creation year

11. Adnix Executive Analytics Demo

Management synthesis of income against expense.

·       Collection rate — paid share of everything invoiced this year — both sides of the ratio are the same population

·       Income — yearly invoiced value

·       Average invoice — value divided by the number of invoices

·       Income and expenses — diverging bar chart, customer invoices above the rule and supplier invoices below, on one symmetric scale; when the period holds no expense the zero rule drops to the baseline instead of wasting half the plot

·       Profile card — the signed-in user with role, groups and job as tags

·       Revenue overview — monthly average, revenue, taxes and outstanding

·       Promotional banner — title, text and link all configurable, and the banner can be switched off

12. Demo Selection System

The active demo is resolved in this order:

Priority

Source

Scope

1

Per-request preview (?adnixdemo=)

Current session

2

User preference

One user

3

Group preference (ADNIX_DEMO_GROUP_<id>)

One group

4

ADNIX_DEMO constant

Entity

5

Shipped default (sales)

Global

 

The resolved value is published into the session by the page hook. This matters: the dynamic stylesheet runs under NOLOGIN and therefore has no $user at all, so resolving the preference there would silently fall back to the entity value and serve a stylesheet for a different demo than the markup — the same layout under the wrong palette. Publishing it to the session keeps both in step, and the asset revision is bumped whenever the resolved demo changes so no browser cache can serve a stale sheet.

13. Dashboard Architecture

Each demo is a branch of a single dashboard page. Its queries live inside its own branch, so opening one demo never runs the queries of the other four. Layout is CSS Grid with named areas addressed through explicit classes — never :nth-child — so hiding a widget because a module is disabled cannot shift the remaining widgets onto the wrong cells.

14. Widget Architecture

Adnix combines two widget layers.

·       Demo widgets — the panels composing each dashboard. They declare their data source, the modules they require and the permissions they need; when a requirement is missing the panel renders an explicit sentence and the grid reflows.

·       Native Dolibarr boxes — the standard "boxes" zone is embedded under the dashboard, so users keep the core add / hide / drag-and-drop widget system with per-user persistence. It can be switched off with a single setting.

Data for a hidden or disabled widget is never fetched.

15. KPI Cards

Five card families ship with the theme, one per demo, and any of them can be forced independently of the active demo: solid (tall colour cards), action (large icon cards), strip (left-accented status bands), segment (a segmented strip over sparklines) and icon (white cards with a tinted round icon). A card can carry a title, value, unit, period, variation, icon, status, link and a mini chart. A variation is only ever printed when it belongs to the metric shown on that card.

16. Sidebar Features

The rail is 264 px wide and built from the NATIVE Dolibarr menu tree, so every module's entries and every permission restriction are honoured automatically — visual logic never replaces a permission check.

·       Accordion groups with multi-level submenus

·       Live badges from real counters

·       Active-state highlighting synchronised with Dolibarr's own mainmenu / leftmenu

·       Internal scrolling with a fixed brand and profile block

·       Menu search

·       Mini rail at 78 px, remembered per browser

·       Off-canvas drawer on phones

·       Favourites and recent items

17. Topbar Features

The top bar is injected into Dolibarr's native header, which keeps the core login block, the entity selector and every module hook working. It carries the sidebar toggle, global search, a dark-mode switch, message, agenda and settings shortcuts with live counters, the version, and the user menu. Its ink is derived from the active variant, so the controls stay legible on a light, dark, coloured or gradient bar.

18. Global Search

The search page queries third parties, contacts, users, products, proposals, orders, invoices, projects, tasks, events and documents, grouped by type with an icon, reference, label, status and a direct link. Results are limited by the signed-in user's permissions and by entity.

19. Sales Features

Turnover on a configurable base, best-selling products from invoice lines, top performer by invoiced value, order volume and value, and a step-line profit chart with three granularities.

20. CRM Features

Conversion measured on closed proposals only, base segmentation with an explicit unspecified bucket, weekday activity radar, population donut, cohorts by creation year and Emailing campaigns.

21. Finance Features

Invoiced revenue, outstanding balance, VAT, collection rate, average invoice, gross margin restricted to lines carrying a cost price, and a diverging income-versus-expense chart.

22. Account Features

Profile identity, a report on the native security mechanisms, company tax identifiers and reporting volumes, each linking to the native page that owns it.

23. Hospital Features

Configurable care vocabulary, activity curve, record summary, follow-up histogram and practitioner list, all built on the documented fallback mapping. No medical data is ever stored by the theme.

24. Analytics Features

Fourteen server-rendered chart types, period filters, labelled axes, native tooltips, legends and dark-mode aware palettes.

25. Project Features

Active project with deadline, task completion, team avatars, and logged time feeding the availability gauge.

26. Charts and Data Visualization

All charts are generated server-side as SVG. There is no charting library, therefore no licence question and no client-side dependency.

Family

Used by

Step line

Sales — Profit

Smoothed line and area

Account, Hospital, CRM, Executive

Grouped bars

Account — Overview

Range bars

Hospital — Follow-up

Diverging bars

Executive — Income and expenses

Donut with in-slice labels

Account — Inquiry, CRM — Population

Radar

CRM — Activity by day

Circular gauge

Sales — Time available

Sparkline bars

KPI strips

Progress meters

Project progress, segment shares

 

Two scale decisions are deliberate. Bar families use a square-root scale, because with real ERP data one month is routinely a hundred times another and a linear scale flattens every other bar to a hairline. Diverging bars use one symmetric scale for both halves, so a small loss cannot look as deep as a large gain.

27. Tables and Lists

Native Dolibarr lists keep their sorting, filters, pagination, multi-selection, column selector, import and export, and are restyled with readable headers, rounded status badges, avatars and hover states. Status badge colours follow Dolibarr's own status semantics, so a validated but unpaid invoice reads amber rather than green. Wide tables scroll inside their own container so the page itself never scrolls horizontally.

28. Forms

Every native form keeps its field names, business logic, permissions, CSRF token, PHP validation and hooks. Only presentation changes: input height, radius, focus ring, help text, error and confirmation styling. No form is rebuilt, so external modules that inject fields keep working.

29. Login Pages

Each demo carries its own login treatment — split, card, panel, minimal and hero — sharing the demo palette. The Adnix wordmark replaces the Dolibarr image on the card; the native <img> element itself stays in the DOM so Dolibarr's markup and its alt text are untouched. Authentication is entirely native: the theme adds no authentication path of any kind, and two-factor and SSO continue to work if configured.

30. Dark Mode

Dark mode is a second, complete surface set — not a filter. It covers the rail, top bar, canvas, cards, charts, tables, forms, lists, modals, menus, notifications, the login pages, native Dolibarr pages and all five demos. It can be toggled from the top bar, set as the default in the configuration, or follow the operating system. The preference is stored in the browser, so it is per browser rather than per user.

31. Responsive Design

Breakpoint

Behaviour

> 1280 px

Full grid, rail expanded

1280 – 861 px

Two-column grids, cards stack in pairs

860 – 481 px

Single column, rail becomes an off-canvas drawer

< 480 px

Single-column KPI cards, compact profile block

 

Absence of horizontal overflow was verified by measuring the widest element on every demo at a 390 px viewport, not by eye: document scrollWidth equals the viewport width on all five.

32. Theme Configuration

The configuration page groups 45 settings:

Group

Settings

Covers

Demo

5

Active demo, palette, KPI style, dark default, sidebar branding

Appearance

9

Colours, font family and size, web fonts, radius

Layout

9

Fluid/boxed/compact, gaps, shadows, borders, animations, RTL

Menu

8

Sidebar and header variants, width, badges, favourites, recents

Dashboard

5

Turnover base, abandoned invoices, target, native boxes

Content

9

Banner title/text/link and visibility, care labels, care notice

 

A JSON profile can be exported and re-imported. The import is validated against a strict whitelist: an unknown key or a value outside the allowed list is rejected rather than stored.

33. User Preferences

A user may hold a personal demo preference, and groups may hold their own. Dark mode, the collapsed rail state and the native box layout are per user or per browser. Nothing a user sets can widen what they are allowed to see.

34. Multi-Entity Support

Settings are written per entity, so each entity may run a different demo, palette and layout from the same installation. All dashboard queries filter on getEntity() for the object family they read, so figures never leak across entities.

35. Permissions

The theme adds no permission of its own and grants nothing. The menu is built from the native tree, already filtered by the user's rights; search results are limited the same way; and administrator-only links render as inert labels for non-administrators, with the write itself still blocked server-side.

36. Accessibility

·       Status is always conveyed by text as well as colour

·       Visible focus rings on interactive controls

·       ARIA labels on charts and on the period switchers

·       Touch targets of at least 40 px

·       prefers-reduced-motion disables card lift and transitions

·       Contrast of the top-bar controls is derived from the active variant and was measured in both themes

Full WCAG 2.1 AA certification has not been performed; see Limitations.

37. Performance Optimization

·       Only the active demo's queries run

·       No charting library, no external font by default

·       Charts are SVG generated in the same request

·       Stylesheet and script are cached and versioned by an asset revision

·       Menu counters are cached per request

·       Data for hidden widgets is never fetched

38. Security Considerations

·       All output escaped with dol_escape_htmltag()

·       All query parameters cast or whitelisted before reaching SQL

·       Native CSRF tokens preserved; no token helper is reinvented

·       The banner URL accepts only a relative path or an http(s) address

·       Imported JSON profiles are whitelisted key by key and value by value

·       No credential, secret or medical datum is stored by the theme

39. Dolibarr Integration

Adnix integrates through supported extension points only: module_parts for CSS and JS, a menu handler, and the main, toprightmenu and searchform hooks. No core file is modified, added or replaced.

40. Dolibarr Compatibility

The descriptor declares a minimum of Dolibarr 16 and PHP 7.0. The build was developed and verified end to end on Dolibarr 17.0.3 with PHP 8. Compatibility with Dolibarr 20 and 21 is expected because only supported extension points are used, but it has not been executed on those versions; this is stated plainly in the Technical Validation Report.

41. Module Detection

Before querying any optional table the theme checks the module is enabled. When it is not, the widget prints an explicit sentence naming the missing module, the grid reflows, and no query is issued. This was exercised for real: the verification environment runs without the Documents, Emailing and Ticket modules, and those widgets rendered their notice rather than a zero.

42. Browser Compatibility

Rendering, dark mode, responsive behaviour and the absence of console errors were verified on Chrome. Firefox, Edge and Safari were not executed; the CSS and JavaScript use no feature outside the common baseline of current versions of those browsers, but the claim remains untested and is recorded as such.

43. Technical Architecture

File

Role

core/adnix_presets.php

Single source of truth: the five presets, palettes, fonts and the demo resolver

css/adnix.css.php

Dynamic stylesheet driven entirely by the active preset

js/adnix.js.php

Rail collapse, drawer, dark-mode toggle, top-bar injection

index.php

The five dashboards and 30 chart helpers

core/menus/standard/adnix_menu.php

Menu handler

core/menus/standard/adnix.lib.php

Rail and top-bar rendering from the native tree

class/actions_adnix.class.php

Hooks; resolves and publishes the effective demo

admin/setup.php

Configuration, JSON export and validated import

search.php

Global search

 

44. Folder Structure

adnix/ — admin/, class/, core/ (modules, menus, presets), css/, js/, img/, langs/ (7 locales), index.php, search.php, README.md, CHANGELOG.md. The ZIP expands directly to adnix/, which is what the Dolibarr module manager expects.

45. Installation

Home > Setup > Modules > Deploy an external module, upload module_adnix-1.0.zip, then enable Adnix in the module list. The full procedure, including manual deployment and troubleshooting, is in the Installation Guide.

46. Activation

Enabling the module registers the menu handler and injects the stylesheet and script. The rail and top bar appear immediately; no page needs to be reloaded twice and no cache needs clearing, because the asset revision is bumped on activation.

47. Upgrade

Deploy the newer ZIP over the previous one and reload the configuration page. Settings are preserved: they are ordinary Dolibarr constants and are never dropped on upgrade. Exporting a JSON profile beforehand is still recommended.

48. Customization

Colours, radius, shadows, borders, density, typography, rail and header variants, layout width and the content of the banner and care labels are all reachable from the configuration page. Deeper changes are made by editing the preset array, which is the single place the whole theme reads its design tokens from.

49. Translation System

Every user-visible string goes through Dolibarr's translation system; no business wording is hard-coded in PHP or JavaScript. English, French, Spanish, Italian and German are complete; Dutch and Brazilian Portuguese ship an earlier key set and fall back to English for the newer keys. Adding a locale means adding one file. Every key is namespaced with the Adnix prefix, because Dolibarr merges all active modules' language files into one table and an unprefixed key would resolve to whichever module loaded last.

50. Screenshots Description

The Screenshots folder contains 44 images captured on a live Dolibarr instance holding real demonstration data (4,228 third parties, 1,989 invoices, 1,276 proposals, 241 orders). Each demo folder holds its desktop dashboard, a full-page capture and its login page; the shared folders hold the tablet, mobile and dark-mode variants, the configuration page, the global search, the collapsed rail, four native lists, the agenda and six native record cards. No personal data appears in any capture.

51. Limitations

Stated plainly, because a specification that claims more than was verified is worth less than one that does not:

·       Dolibarr 20 / 21 — not executed; verification ran on 17.0.3

·       Firefox, Edge, Safari — not executed; Chrome only

·       Mobile operating systems — emulated viewports only, no physical device

·       WCAG 2.1 AA — individual criteria applied and contrast measured, but no full audit

·       RTL — a setting exists and flips direction; no RTL locale was exercised end to end

·       Multi-entity — queries filter on getEntity() by construction, but a second entity was not created

·       Drag-and-drop widget layout — provided by the native Dolibarr box system; the demo panels themselves are not draggable

·       Margin figures — depend on cost prices being present; where absent, the theme says so instead of reporting a false margin

52. Future Enhancements

·       Draggable and resizable demo panels with a saved personal layout

·       AJAX refresh of individual widgets without a page reload

·       Additional locales beyond the current seven

·       Optional connectors for third-party medical modules to populate the clinical panel

·       A per-role demo assignment interface in the configuration page

53. Support and Maintenance

Adnix is published and maintained by DoliResources. Support requests, upgrade questions and customisation enquiries: https://www.doliresources.com. When reporting an issue, please include the Dolibarr version, the PHP version, the active demo, and an exported JSON profile.

 

Editor: DoliResources · Website: https://www.doliresources.com · Copyright: DoliResources