Tickets Module (Support)
HtkDoli's Tickets module lets you manage customer support: create, track and close requests, hold a conversation directly within the ticket, attach documents, link contacts, track time spent, and connect the ticket to a third party or a project. It also includes a knowledge base search.
⚠️ Known limitation — deletion. Dolibarr cannot delete a ticket through its API: the request fails server-side and the ticket stays in place. The cause is a defect in Dolibarr itself, present in version 22 as well as 24, and the app can do nothing about it.
The app therefore offers "Abandon" instead: the ticket moves to the Abandoned status, which is how Dolibarr itself takes a ticket out of circulation. The record stays readable and keeps its history. For a permanent deletion, use Dolibarr's web interface.
Interface and Features (List)
The main view displays the list of all your tickets.
Viewing and Search
- Search bar: Search by ticket reference or subject.
- Sorting:
- Date (Newest → Oldest)
- Date (Oldest → Newest)
- Reference (A-Z, Z-A)
- Grouping: Depending on the sort, tickets are grouped by creation month (e.g. "February 2024") or by the first letter of the reference. A floating indicator (month or letter) appears briefly while scrolling.
- Filters by status, each with a count shown next to it:
- All
- Open (all statuses < 6, i.e. active)
- Unread (status 0)
- Read (status 1)
- Assigned (status 2)
- In progress (status 3)
- Waiting (statuses 5 and 7)
- Closed / Resolved (statuses 8 and 9)
Displayed Information (Ticket Cards)
Each row represents a ticket with:
- Its subject.
- Its reference (badge).
- The linked third party (logo or initials, and name).
- Its creation date.
- Its type.
- Its severity (colored badge).
- Its status as a colored dot on the avatar.
Quick Actions
- Swipe right: Edit the ticket.
- Swipe left: Abandon the ticket (see the known limitation above).
- Long press (context menu): Edit, Abandon, Send an email, and — for an unread ticket — Take charge and Close.
Creation
- A "+" button in the top bar to create a new ticket.
Refresh
- Pull-to-refresh and a refresh button (keyboard shortcut
Command + R): reload the 50 most recent tickets from the server.
Detailed View (Viewing a ticket)
Header (Hero Section)
- Ticket reference.
- Subject.
- Status badge.
- Linked third party (logo as avatar if available).
Timer Banner (if active)
If a timer is running on the ticket, a banner shows:
- A pulsing timer icon.
- The elapsed time in hh:mm:ss format.
- A Stop button to end the timer; the entry sheet then opens, pre-filled with the measured duration, from which it can be copied (see "Time Tracking").
Information
- Ticket type (Incident, Request, Other, etc.).
- Severity (Low, Normal, High, Blocking).
- Creation date (with time).
- Last modification date.
- Total accumulated time spent (shown when set).
Description
The ticket's initial message, posted by the requester.
Notes
- Public note (visible to customers in exports).
- Private note (internal use).
Documents
Ticket attachments: viewing, PDF preview, download and upload (files, screenshots, logs, etc.). Depending on the Dolibarr version, the tickets documents API may not be implemented; in that case the section stays empty.
Contacts
List of contacts linked to the ticket (with role, and call/email shortcuts). You can add a contact (Customer support contact, Technical support contact, Contributor) when the ticket is synced and attached to a third party, and unlink a contact by swiping.
Linking
This section gathers contextual links:
- Linked third party: A clickable card with logo, name, and access to the third party file.
- Linked project (if applicable): Direct access to the project file.
- View on the instance: Opens the file in Dolibarr web (useful for actions not exposed via the API).
- Search the knowledge base: Opens a knowledge base search sheet. The selected article is added as a link in the ticket's private note (not in the conversation).
Conversation
- Chronological display of all the ticket's messages, distinguishing your own messages ("Me", aligned right) from those of the requester.
- If loading fails, a reload button is offered.
- An input bar at the bottom of the screen lets you reply directly (only for an already-synced ticket):
- Text field.
- Send button (paper plane).
- The button is disabled while the message is empty.
- When offline, the message is queued and shown locally, then sent upon reconnection.
Creation and Editing
The editing screen (TicketEditorView) lets you enter or modify a ticket:
- Linked third party (required when creating).
- Linked project (optional; can be detached).
- Subject (required).
- Type: Incident, Request, Other.
- Severity: Low, Normal, High, Blocking.
- Description (initial message).
- Public and private notes.
- Status (only when editing, "Workflow" section): Unread, Read, In progress, Waiting for feedback, On hold, Resolved / closed, Abandoned.
Saves follow an optimistic model: the ticket is created/updated locally immediately, then synchronized with the server in the background.
Time Tracking
Two entry modes are available from the file's action bar:
- Timer: A start button (play icon), with a banner at the top of the file while the counter runs. Stopping it opens the pre-filled time-entry sheet.
- Manual entry: A dedicated sheet to enter a date (and time), a duration (hours + minutes) and a note.
⚠️ The measured time does not reach Dolibarr. The API exposes no time-spent route for tickets — neither
timespent, nortimespents, nortime— in version 22 as in 24. The sheet nonetheless announced "Time entry saved": the time was lost.The timer is kept, because it keeps its value: it measures work in the field, offline, without depending on the server. Only the promise of saving is gone. The button is now "Copy duration": it puts the duration on the clipboard, formatted as
1h30, to be entered in the web interface.
Business Behavior and Dolibarr
Statuses (Dolibarr mapping)
- 0 — Unread
- 1 — Read
- 2 — Assigned
- 3 — In progress
- 5 — Waiting for the requester's feedback
- 7 — On hold
- 8 — Resolved / closed
- 9 — Abandoned (closed without solution)
There is no status 4 or 6 in Dolibarr 24 (Ticket::STATUS_* constants, verified on 14 September 2026).
The "Open" filter corresponds to everything that is neither resolved nor abandoned.
Rights and Permissions
- Read: Tickets module read permission required to see the list.
- Create / Modify:
ticket.creerpermission. - Abandon:
ticket.supprimerpermission (the gesture sets the Abandoned status; true deletion is impossible server-side, see the warning). - Conversation actions (reply, send message) require write rights.
Synchronization
- The list reloads the 50 most recent tickets on a refresh.
- The full details (conversation messages, notes, duration, status) are loaded when the file opens via a separate detail call.
- Documents and contacts are fetched in the background when the file opens.
- New messages, creations and edits are queued and then synchronized; they appear immediately in the app (optimistic mode).
Screenshots
2 screenshots — click to enlarge