---
title: "Devis sur site"
weight: 41
description: "Composer et générer un devis Dolibarr depuis une intervention SmartInterventions : pièces à proposer avec prix et remise, signature sur site optionnelle, fonctionnement hors ligne avec synchronisation idempotente."
---

# Devis sur site

En dépannage, le technicien repère souvent des travaux supplémentaires à
chiffrer : un frigo à remplacer, un circuit à remettre aux normes, une
vérification complète à planifier. Le devis sur site lui permet de composer
ce chiffrage directement depuis l'application mobile, sur place et même
hors ligne : il ajoute des pièces "à proposer au devis" avec leur prix
unitaire et leur remise, voit le total TTC évoluer en direct, puis génère
en un geste une proposition commerciale Dolibarr standard, liée à
l'intervention.

Le devis créé est une proposition commerciale Dolibarr ordinaire : elle
apparaît dans le module Propositions commerciales, se retrouve dans l'onglet
"Objets liés" de la fiche d'intervention, et suit ensuite le circuit
Dolibarr habituel (envoi, signature en ligne, transformation en commande ou
en facture).

> **Prérequis** : le module Dolibarr "Propositions commerciales" doit être
> activé. S'il ne l'est pas, le bouton back-office est masqué et
> l'application mobile reçoit une erreur explicite.

## Le droit "devis"

L'ensemble de la fonctionnalité est piloté par une nouvelle permission du
module : **"devis"** (Utilisateurs et groupes > permissions du module
SmartInterventions).

Point important : **deux droits sont requis**. En plus du droit "devis" du
module, l'utilisateur doit posséder le droit Dolibarr natif "Propositions
commerciales > Créer/modifier" (`propal->creer`). Le devis généré est en
effet une vraie proposition commerciale du coeur : la création est refusée
à un utilisateur qui n'a pas le droit de créer des devis dans le module
Propositions commerciales, même s'il possède le droit "devis".

Si l'administrateur a activé les **permissions avancées** de Dolibarr et la
validation automatique du devis (ou la signature obligatoire), l'utilisateur
doit en plus détenir le droit "Propositions commerciales > Valider"
(`propal_advance->validate`) : sans lui, la validation automatique échoue et
le devis n'est pas créé.

Le droit "devis" couvre :

- les champs commerciaux (destination, prix, remise) dans le formulaire de
  pièce de l'application mobile ;
- le bouton "Générer le devis" de la fiche d'intervention mobile ;
- l'entrée "Créer un devis" de la fiche client mobile, y compris la
  création de la fiche de chiffrage associée (le droit de création mobile
  d'interventions n'est pas requis) ;
- le bouton "Générer un devis" du back-office Dolibarr.

Sans ce droit, rien ne change à l'écran : les champs et boutons ne sont pas
affichés, et toute tentative d'appel direct est refusée par le serveur.

## Les pièces "à proposer au devis"

Dans le bloc "Pièces et fournitures" de l'intervention (voir
[Pièces et fournitures](/smartinterventions/pieces-fournitures)), le formulaire d'ajout ou
de modification d'une pièce propose un champ **Destination** avec deux
valeurs :

- **Pièce posée** (défaut) : le fonctionnement historique, rien ne change ;
- **À proposer au devis** : la pièce est une proposition de travaux, elle
  alimentera le devis.

Pour une pièce à proposer, deux champs commerciaux apparaissent :

- **Prix unitaire HT** : prérempli depuis le dernier prix catalogue connu,
  librement modifiable (prix négocié sur place) ;
- **Remise (%)** : remise de ligne, appliquée dans les totaux et recopiée
  sur la ligne du devis.

![Bloc Total du devis sur smartphone : les lignes marquées "Devis", le total HT, le détail de TVA, le total TTC mis à jour en direct et le bouton "Générer le devis"](screenshots/devis-sur-site-mobile.webp)

Les lignes proposées portent une pastille "Devis" dans la liste, et un bloc
**Total du devis** s'affiche sous le listing dès qu'au moins une ligne
proposée existe : total HT, détail de TVA par taux, et **total TTC vivant**
qui se met à jour à chaque ajout, modification ou suppression de ligne.
C'est ce montant que le technicien annonce (et fait éventuellement signer)
au client.

Particularités d'une ligne "à proposer au devis" :

- elle reste en brouillon : elle n'est **jamais validée**, donc pas de
  sortie de stock, pas d'écrasement du prix négocié par le tarif catalogue,
  pas d'effet sur le parc d'équipements ;
- elle n'est **jamais facturée** par la facturation depuis l'intervention
  (pas de double facturation : c'est le devis, puis son éventuelle
  transformation, qui portent la valeur commerciale) ;
- le taux de TVA appliqué est celui du produit (non modifiable depuis
  l'application dans cette version) ;
- si la proposition est acceptée séance tenante et que la pièce est posée
  immédiatement, il suffit de repasser sa destination à "Pièce posée" puis
  de la valider : elle réintègre le flux normal (stock, facturation).

## Générer le devis

Le bouton **"Générer le devis"** s'affiche sous le bloc de total, dès qu'au
moins une ligne proposée existe (et que l'utilisateur a le droit "devis").

Au tap, un récapitulatif s'affiche (nombre de lignes proposées et total
TTC) avec une mise en garde : **chaque confirmation crée un nouveau
devis**. Confirmer deux fois volontairement produit deux propositions
distinctes ; en revanche, un problème réseau ou un renvoi automatique ne
créera jamais de doublon (voir le fonctionnement hors ligne ci-dessous).

Le devis créé contient :

- une ligne par pièce proposée, avec libellé, quantité, prix unitaire HT
  saisi et remise ;
- les lignes de temps passé de l'intervention, recopiées à prix zéro à
  titre d'information (comme pour la facturation) -- **sauf** pour les
  fiches de chiffrage, voir plus bas.

Le devis est créé en **brouillon** par défaut. L'administrateur peut le
faire valider automatiquement via le réglage "Validation automatique du
devis" (voir [Configuration](/smartinterventions/configuration)). La génération d'un devis
ne modifie pas le statut de l'intervention.

## La signature sur site (optionnelle)

Par défaut, aucune signature n'est demandée au moment de générer le devis :
le devis part en brouillon et suit le circuit commercial habituel au
bureau.

Si l'administrateur active le réglage **"Signature du devis obligatoire"**
(constante `SMARTINTERVENTIONS_QUOTE_REQUIRE_SIGNATURE`, désactivée par
défaut), l'application mobile affiche un cadre **"Signature du devis"**
avant l'envoi, et le serveur refuse toute génération sans signature. Le
devis est alors automatiquement validé puis marqué comme signé, et la
signature est incrustée dans le PDF de la proposition, exactement comme
avec la signature en ligne native de Dolibarr.

Cette signature de devis est **distincte** des deux signatures de
l'intervention (technicien et client) : signer un devis ne signe pas
l'intervention, et inversement.

> **Nuance hors ligne ("bon pour accord")** : quand le devis est composé et
> signé hors connexion, la référence définitive du devis n'existe pas
> encore au moment de la capture -- elle n'est attribuée par Dolibarr
> qu'après synchronisation. Sur place, le client signe donc le montant
> affiché à l'écran, au sens d'un "bon pour accord" ; le PDF formel du
> devis signé est produit après la synchronisation, en conservant
> l'horodatage réel de la signature (le moment de la capture, pas celui de
> la synchronisation).

## Valider et envoyer le devis pour signature (depuis l'application)

Un devis généré reste en brouillon sur le serveur (sauf validation
automatique). Le technicien peut désormais terminer le parcours commercial
sans repasser par le bureau, directement depuis l'application : l'historique
des devis du client (fiche client mobile, entrée "Devis") liste les
propositions du client et propose, sur celles issues du module, des actions
selon leur état.

> Ces actions exigent une connexion : valider et envoyer agissent en direct
> sur le serveur, sans file d'attente hors ligne. Elles demandent les mêmes
> droits que la génération (droit "devis" du module **et** "Propositions
> commerciales > Créer/modifier").

**Valider le devis.** Sur un devis en brouillon, un bouton **"Valider le
devis"** demande confirmation, puis valide la proposition : elle reçoit son
**numéro définitif** (la référence provisoire "PROV..." est remplacée) et se
verrouille, exactement comme une validation depuis Dolibarr. L'opération
n'est pas réversible depuis l'application.

**Envoyer pour signature.** Une fois le devis validé, un bouton **"Envoyer
pour signature"** ouvre une fenêtre avec l'adresse email du client
préremplie (depuis la fiche société), modifiable sur place -- pratique quand
le client communique son adresse sur le terrain. À l'envoi, le client reçoit
un email contenant le **lien de signature en ligne Dolibarr** et le PDF du
devis en pièce jointe : il signe (ou refuse) depuis son navigateur, sans
compte Dolibarr.

> L'email part avec l'adresse d'expéditeur configurée pour le module (la même
> que pour l'envoi du compte-rendu PDF). Si elle n'est pas renseignée,
> l'envoi échoue avec un message explicite. Le lien de signature en ligne
> s'appuie sur un jeton de sécurité Dolibarr, généré automatiquement au
> premier envoi s'il n'existe pas encore.

**Notification à la signature.** Quand le client signe le devis en ligne, une
**notification push** prévient l'auteur de l'intervention et les techniciens
qui y sont affectés (intervenants) : le devis est accepté, le suivi peut
continuer. Toucher la notification ouvre l'historique des devis du client. Ce
comportement est actif par défaut et peut être désactivé par
l'administrateur ; il suppose, comme toute notification push, que le
destinataire ait autorisé les notifications sur son appareil.

## Créer un devis depuis la fiche client (visite de chiffrage)

Tous les devis ne naissent pas d'un dépannage. Pour une **visite de
chiffrage** (exemple type : un électricien visite une maison ancienne à
rénover entièrement, prend photos et mesures pièce par pièce), la fiche
client de l'application mobile propose une entrée **"Créer un devis"**
(visible avec le droit "devis").

Elle ouvre la création d'intervention en mode devis ("Nouveau devis",
bouton "Créer la fiche de chiffrage") : la fiche créée est une **fiche de
chiffrage**. Une visite de chiffrage est une activité réelle : elle se
planifie, laisse une trace dans l'historique du client et porte du temps
passé, comme n'importe quelle intervention.

Particularités d'une fiche de chiffrage :

- les nouvelles pièces y sont "À proposer au devis" par défaut (le panier
  de chiffrage est le coeur de la visite) ;
- à la génération du devis, **le temps passé n'est pas recopié** sur le
  devis : le client n'a pas à voir "45 minutes de chiffrage" sur sa
  proposition commerciale, seules les lignes proposées y figurent ;
- la fiche se clôture ensuite normalement (les signatures d'intervention
  servent d'accusé de visite) et reste liée au devis généré ;
- côté back-office, la fiche affiche le champ "Mode chiffrage (devis sur
  site)" parmi les champs SmartInterventions de la fiche d'intervention.

## Fonctionnement hors ligne

Le devis sur site fonctionne entièrement hors connexion : composition des
lignes proposées, saisie des prix et remises, signature éventuelle, et
demande de génération.

- La demande de génération est placée dans une **file d'attente locale**
  sur le téléphone ("Devis mis en file d'attente, il partira à la prochaine
  synchronisation."). En ligne, elle part immédiatement ("Devis envoyé au
  serveur." avec la référence du devis créé).
- À la reconnexion, la file est rejouée automatiquement, **après** la
  synchronisation des pièces (les lignes proposées doivent être connues du
  serveur avant que le devis ne soit assemblé).
- Le rejeu est **idempotent** : chaque demande porte un identifiant unique
  généré sur le téléphone. Une demande renvoyée plusieurs fois (réseau
  instable, application relancée, nouvelle tentative manuelle) produit
  toujours **un seul devis**, jamais un doublon.
- En cas d'erreur définitive (droit retiré entre-temps, module
  Propositions commerciales désactivé, signature requise manquante...), la
  fiche affiche un badge **"Devis en échec d'envoi"** avec un bouton
  **"Réessayer"** : aucune demande ne disparaît silencieusement. Les
  erreurs passagères (serveur injoignable) sont retentées automatiquement,
  puis passent en relance manuelle au-delà de quelques tentatives.

> **Limite connue** : une intervention créée hors ligne et pas encore
> synchronisée ne peut pas être chiffrée tant qu'elle n'a pas été
> synchronisée une première fois (limite générale des fiches créées hors
> ligne). Le cas courant -- intervention planifiée avant le départ,
> technicien hors connexion sur site -- est lui entièrement couvert.

## Le bouton back-office

Symétriquement, la fiche d'intervention du back-office Dolibarr propose un
bouton **"Générer un devis"**, à côté du bouton de création de facture. Il
est visible si le module Propositions commerciales est activé et si
l'utilisateur a le droit "devis".

Chaque clic crée un nouveau devis à partir des lignes proposées (et du
temps passé hors fiche de chiffrage). Le réglage "Validation automatique du
devis" s'applique ; le réglage "Signature du devis obligatoire" ne
s'applique pas au back-office (pas de signature sur place depuis un poste
fixe).

Cas d'usage typique : le patron transforme le soir, depuis le bureau, la
visite de chiffrage saisie par le technicien en devis détaillé, en
s'appuyant sur les photos, mesures et lignes proposées sur place.

## Suppression d'un devis

Supprimer la proposition commerciale dans Dolibarr (fiche Propositions
commerciales > Supprimer) déclenche un nettoyage automatique côté module :

- les pièces proposées de l'intervention sont déliées du devis supprimé
  (elles restent sur l'intervention, intactes : il est toujours possible de
  générer un nouveau devis) ;
- les liens entre l'intervention et le devis sont purgés ;
- la trace de la demande de génération est conservée : si un téléphone
  resté hors ligne renvoie plus tard la même demande, le devis supprimé
  n'est **pas** recréé (la suppression était un acte volontaire, le rejeu
  répond simplement "déjà traité").

## Réglages

Deux options, désactivées par défaut, dans **Accueil > Configuration >
Modules > SmartInterventions**, onglet Généralités, section "Devis sur
site" :

| Option | Défaut | Effet |
|--------|--------|-------|
| Validation automatique du devis | Non | Le devis créé est validé au lieu de rester en brouillon |
| Signature du devis obligatoire | Non | L'application impose la signature du client avant l'envoi du devis ; le devis signé est validé puis marqué comme signé |

Voir la page [Configuration](/smartinterventions/configuration) pour le détail.
