HTKapp Logo

Advanced settings (Administration)

The Settings screen of HtkDoli now includes an Administration section dedicated to Dolibarr configuration tools accessible from the mobile app. This section is only visible if the connected user has the required Dolibarr permissions.

Access

  1. Open the More tab (MoreMenuView).
  2. Tap Settings.
  3. Scroll down to the Administration section.

Categories management

The Categories management row is visible if you have the Dolibarr permission categorie.creer (or if you are an administrator). It opens the CategoryManagementView screen.

Features

The screen lets you manage the full lifecycle of Dolibarr categories (also called "tags") for the most common types:

  • Customer — categories for customers and prospects.
  • Supplier — categories for supplier third parties.
  • Product — categories for products / services.
  • Member — member categories.
  • Contact — contact categories.
  • Project — project categories.

A picker at the top of the screen lets you switch between types. For each type, the categories list is fetched via GET /categories?type=....

Create a category

The "+" button in the top bar opens a creation sheet. You can fill:

  • Label (required).
  • Description (visible on the Dolibarr side).
  • Color as a hexadecimal value (RRGGBB).
  • Parent category ID to build a hierarchy.

Creation uses the Dolibarr endpoint POST /categories.

Edit a category

  • Tap a row to open the edit sheet, pre-filled.
  • Or use the "Edit" swipe action on a row.

Update uses the endpoint PUT /categories/{id}.

Delete a category

The "Delete" swipe action on a row requires confirmation before final deletion. Deletion uses DELETE /categories/{id}.

Permissions and security

  • The "+" button and swipe actions are only displayed if the categorie.creer permission is granted.
  • All operations are performed through the Dolibarr REST API and respect HtkDoli's per-profile isolation (each profile uses its own server and API key).

Company (settings)

The Company (settings) row is visible if you are an administrator on the connected Dolibarr instance (profile.isAdmin). It opens the CompanySetupView screen, which displays the global Dolibarr company settings.

What you can view

The information is fetched via GET /setup/company and presented as cards:

  • Identity — company name, capital, currency.
  • Address — address, postal code, town, state/region, country.
  • Contact — email, phone, fax, website.
  • Legal identifiers — SIREN, SIRET, NAF/APE, RCS, intra-community VAT.
  • Business object — description of the activity.

A non-administrator user who reaches this screen sees it in read-only mode (a "Read-only (non admin)" badge is shown).

What you can change

The ••• menu in the sticky header offers "Edit" (only if profile.isAdmin). It opens the CompanySetupEditView sheet, which lets you edit all the fields above. Saving sends all the fields via PUT /setup/company.

Permissions and security

  • The menu entry and the "Edit" button are reserved for administrators (profile.isAdmin).
  • All requests are made with the current profile's API key — HtkDoli's per-profile isolation is preserved.

Automatic numbering

The Automatic numbering row is visible if you are an administrator on the connected Dolibarr instance (profile.isAdmin). It opens the NumberingsSetupView screen.

Purpose

Each Dolibarr module (invoices, proposals, orders, shipments, contracts, etc.) uses a numbering mask to auto-generate the reference of new documents (e.g. FA{yyyy}-{0000} for invoices). This screen lists, for each module, the mask currently active on the Dolibarr side.

What you can view

  • The active mask per module is fetched via GET /setup/numberings.
  • The module code and label are shown, with the active mask in a monospace font for readability.
  • If the endpoint is not exposed by your Dolibarr installation, an explicit empty state is shown ("Aucune numérotation trouvée").

What you can change (best-effort)

When the Dolibarr API also returns the list of available masks for a module, tapping the row opens a sheet to switch the active mask. The change is sent via PUT /setup/numberings/{module}.

⚠️ Known limitation. Depending on your Dolibarr version, the edit endpoint may return a 404 error or reject the payload. In that case, the screen stays read-only (no picker) — this is intentional, to avoid exposing a broken edit flow. The setting can still be edited via the Dolibarr web UI (Setup → Modules → ...).

Permissions and security

  • The menu entry is hidden for non-administrator users.
  • The screen itself re-checks profile.isAdmin before enabling editing.
  • All requests are made with the current profile's API key — HtkDoli's per-profile isolation is preserved.

User management

The Users row is reserved for Dolibarr administrators (profile.isAdmin == true). It opens the DirectoryUserListView screen in administration mode: create, edit, delete and assign groups.

Access

Write actions (the "+" button, swipe actions, context menus, the sticky-header menu of the detail screen) are only displayed if the connected profile is a Dolibarr administrator. A non-admin user keeps read-only access to the directory — this is exactly the behavior of the regular "Directory" tab.

Local indexing & Global search (May 2026) — Users that have been opened at least once through DirectoryUserListView are persisted locally and now appear in the app's global search ("Search" tab). Search by login, first name, last name, email or job; each result opens the corresponding user detail screen directly.

Create a user

The "+" button in the top bar opens a creation sheet. Available fields:

  • Login (required) — Dolibarr login identifier.
  • First name and Last name (last name is required).
  • Email, Office phone, Mobile phone, Job / Position.
  • Account enabled (statut).
  • Dolibarr administrator — grants all rights.
  • Initial password (required on creation) — to be communicated manually to the user.

Creation uses the endpoint POST /users.

Edit a user

You can:

  • Swipe left-to-right on a row to open the pre-filled edit sheet.
  • Use the context menu (long-press) with the "Edit" entry.
  • Open a user's detail page and tap the ••• menu in the sticky header, then choose "Edit".

The login is read-only during editing (Dolibarr constraint). All other fields are editable. Update uses PUT /users/{id}.

Delete a user

  • Right swipe "Delete" on the row, or
  • "Delete" context menu, or
  • ••• menu on the detail screen.

A confirmation is requested before final deletion (DELETE /users/{id}).

Manage groups

The "Manage groups" context menu (or the ••• menu entry on the detail screen) opens the DirectoryUserGroupsSheet. It lists every Dolibarr group (GET /users/groups) and lets you tick the groups to add to the user (POST /users/{id}/setGroup/{groupID}?entity=1).

⚠️ Dolibarr limitation. The REST API does not reliably expose a remove operation for a user-from-group assignment. To remove a user from a group, please use the Dolibarr web UI (Users & groups → Groups). This limitation is also reminded at the bottom of the groups management sheet.

Permissions and security

  • All write actions are gated by the profile.isAdmin flag. Non-admin users see neither the "+" button, nor the swipe actions, nor the menus, nor any way to edit the detail page.
  • All operations go through the current profile's API key — HtkDoli's per-profile isolation is preserved.
  • The initial password is sent over HTTPS — make sure to use an https:// URL for your Dolibarr server.

Other exposed dictionaries (technical)

The application internally exposes, for its own pickers and future screens, the following Dolibarr dictionaries. These do not (yet) have a dedicated user-facing screen but are available in code:

  • CountriesGET /setup/dictionary/countries (fetchCountries).
  • CurrenciesGET /setup/dictionary/currencies (fetchCurrencies).
  • VAT ratesGET /setup/dictionary/vat (fetchVATRates).
  • Active modulesGET /setup/modules (fetchActiveModules).

These dictionaries are cached in memory for the duration of the session to avoid hitting the network each time.

Screenshots

3 screenshots — click to enlarge