HTKapp Logo

Interventions Module (Intervention sheets)

HtkDoli's Interventions module is designed for field technicians on the move. It lets you view, create and complete an intervention sheet in the field, record time spent via a stopwatch, capture the customer's signature, and convert the intervention directly into an invoice.

Interface and Features (List)

The main view displays the list of all interventions, sorted by default from the most recent to the oldest.

  • Search bar: Search by intervention reference or third-party name.
  • Sorting:
    • Date (Recent → Old) — default sort
    • Date (Old → Recent)
    • Reference
  • Filters by status, with a counter shown next to each filter:
    • All
    • Draft (status 0)
    • Validated (status 1)
    • Invoiced (status 2)
    • Processed (status 3)
  • Grouped display: Interventions are grouped by month and year (e.g. February 2024) when sorting by date, or by initial letter when sorting by reference. A floating bubble indicates the current section while scrolling.

Information shown (Intervention cards)

Each row represents an intervention with:

  • The third-party name (or its initials / logo if available).
  • Its reference (badge).
  • Its expected date or, failing that, creation date.
  • A short description if filled in.
  • Its total duration if greater than zero.
  • Its status as a colored dot.

Quick actions (Swipe)

  • Swipe right to Edit the intervention.
  • Swipe left to Delete the intervention (drafts only, status 0).
  • A long press (context menu) offers: View PDF, Validate (drafts), Edit, Delete (drafts).

Pagination

  • Paginated list in batches of 50 with a "Load more" button.
  • Pull-to-refresh is available, as well as a refresh button in the header.
  • Keyboard shortcuts Cmd + R (refresh) and Cmd + N (new intervention) with an external keyboard.

Detail View (Viewing an intervention)

Header (Hero Section)

  • Intervention reference.
  • Third party concerned.
  • Status badge (Draft, Validated, Invoiced, Processed).

Stopwatch Banner (if active)

If a stopwatch is running on the intervention, a banner at the top of the sheet shows:

  • A pulsing timer icon.
  • The elapsed time in hh:mm:ss format, refreshed every second.
  • A Stop button that ends the stopwatch and opens the time-entry sheet pre-filled with the measured duration.

Workflow (lifecycle actions)

The available actions depend on the status:

Draft status (0)

  • Validate: Moves the intervention to Validated status.

Validated status (1)

  • Mark Processed: Closes the intervention (move to the next status).
  • Have the customer sign: Opens a signature pad, captures the signature and attaches it to the intervention.
  • Convert to Invoice: Creates a draft customer invoice from the intervention.

Invoiced status (2)

  • Revert to Validated: Lets you reopen the intervention.
  • Have the customer sign.
  • Convert to Invoice.

Processed status (3)

  • Revert to Validated: Lets you reopen the intervention.

Status > 3 (locked)

  • No action available. Message "Intervention invoiced or locked".

Tools

  • Clone / Duplicate: Creates a new draft intervention with the same third party, description and lines.

Actions

  • View PDF: Preview of the intervention's PDF document. If no PDF has been generated on the server yet, a link lets you open the sheet in Dolibarr web to generate it.
  • View on Web: Opens the sheet in the Dolibarr web interface.

Information

  • Third party concerned (tappable, navigates to the third-party record).
  • Linked project (tappable).
  • Intervention date (with a pencil button to Reschedule, restricted to drafts).
  • Total duration.
  • Creation date.

Description

Free text describing the work to be carried out.

Intervention lines

Detailed list of operations / products / time consumed for this intervention. On an editable intervention, tapping a line lets you edit it.

Contacts

List of associated contacts (technician, follow-up, on-site customer contact, etc.), with their role. An "Add a contact" button, and the option to unlink a contact (trash icon). Adding a contact lets you pick one of the third party's contacts and a role: Customer Contact (default), Billing, Follow-up Manager.

Documents

Browse, PDF preview, download and upload of documents (including the customer signature once captured).

Notes

  • Public Note (visible to customers).
  • Private Note (internal use).
  • On a remote intervention, a pencil button lets you quickly edit both notes.

Floating header actions

  • Edit: Opens the full edit screen. The button only appears with the ficheinter.creer permission. If the intervention is not editable (status other than Draft or Validated), an alert offers, where applicable, to revert it to Validated; if it is invoiced (status > 3), it can no longer be modified.
  • Menu (•••):
    • Add to calendar: Creates an event in the local iOS calendar.
    • Start the stopwatch (only if status is Validated and no stopwatch is running).
    • Delete (ficheinter.supprimer permission).

Reschedule

A dedicated sheet lets you quickly change the date and time of the intervention without reopening the full edit screen.

⚠️ Drafts only. Dolibarr derives an intervention's date from its lines, so rescheduling means shifting every line by the same amount — which the server refuses once the intervention is validated. The button does not appear in that case. An intervention with no lines has no date to shift either, and the app says so.

Time Entry

Beyond the stopwatch, a dedicated sheet ("Enter time") allows manual entry of a period:

  • Duration (hours + minutes).
  • Description (optional).

This action adds a new line to the intervention and updates the total duration.

The stopwatch started in the field is saved locally (in the device settings): if the app is backgrounded or restarted, the counter resumes correctly. On iOS 16.1 and later, a Live Activity displays the running stopwatch.

Customer Signature

The Have the customer sign action opens a touch pad:

  • The customer signs directly on the screen.
  • The signature is converted to JPEG.
  • The file is automatically attached to the intervention in Dolibarr, with a standardized name including the intervention reference and a timestamp.

⚠️ The signature is queued and then propagated to the server on the next synchronization.

Creation and editing

The edit screen (InterventionEditView) lets you fill in all the intervention's information:

  • Third party (selection required at creation; the third party of an existing intervention cannot be changed — a Dolibarr API limitation).
  • Status (Draft, Validated, Invoiced).
  • Start date and time, with automatic calculation of an estimated end based on the lines' duration. Editable at creation only: on an existing intervention the field is disabled, since the date moves through the lines (see "Reschedule").
  • Customer reference.
  • Description.
  • Linked Project and Contact.
  • Public and private Notes.
  • Intervention lines: product/service (optional), description, date, quantity, VAT rate and duration (hours/minutes). The total duration is recalculated automatically.

⚠️ Saving requires at least one line. At creation, a third party is mandatory.

The creation screen also appears from the "+" button in the top bar of the list (ficheinter.creer permission).

Business Behavior and Dolibarr

Lifecycle

  • Draft (0): Initial entry. Free editing and deletion.
  • Validated (1): Confirmed intervention; the stopwatch can run. Editing still possible.
  • Invoiced (2): Closed / invoiced intervention.
  • Processed (3): Intervention marked as processed.
  • > 3: Locked, no further actions.

⚠️ In Dolibarr, the status numbering of an intervention sheet does not follow an obvious linear order: status 2 corresponds to "Invoiced" and status 3 to "Processed". HtkDoli faithfully mirrors this mapping.

Status colors

  • Draft: gray.
  • Validated: blue.
  • Invoiced: green.
  • Processed: blue.

Rights and Permissions

  • Read: The Interventions module's read permission is required to access the list.
  • Create / Modify: ficheinter.creer permission.
  • Delete: ficheinter.supprimer permission.

Synchronization

  • Paginated list (50 per page).
  • Documents and contacts are loaded when the sheet opens.
  • Creations, edits, status transitions, time additions, clones, invoice conversions and signatures go through a local queue propagated to the server during synchronization.
  • The stopwatch has a persistent local state: it survives app restarts.

Screenshots

3 screenshots — click to enlarge