VESICA
FQDCM_FQ_2Brouillon

DCM_FQ_2 — Devis / offre de référencement

Formulaire· Développement Commercial & Marketing· émetteur VESICA DCM_PRO_2

DCM_FQ_2 — Devis / offre de référencement

Objet (quoi enregistrer)

Enregistrer une offre chiffrée de prestation de diagnostic : le périmètre (diagnostics dus), le détail tarifaire ligne par ligne, le total, la validité et le statut. Support de la transformation devis → commande (DCM_PRO_2). [STANDARD]

Champs / structure

Prototype des tables cibles dcm.devis (en-tête) + dcm.devis_lignes (détail). colonne: type.

En-tête dcm.devis :

devis_id: uuid (PK)
numero_devis: text (unique)              # ex. DEV-2026-0042
prospect_id: uuid (FK → dcm.prospects)   # NULL si demande directe
client_payeur_nom: text                  # vendeur/bailleur (souvent le payeur)
prescripteur_nom: text                   # agence/notaire/syndic à l'origine
bien_adresse: text
bien_type: enum(maison | appartement | immeuble | local_pro | terrain | autre)
bien_copropriete: bool
bien_annee_construction: int
bien_usage: enum(habitation | erp | mixte | autre)
bien_surface_m2: numeric
transaction: enum(vente | location | travaux | demolition | autre)
type_offre: enum(devis_ponctuel | grille_referencement)
montant_ht: numeric
tva: numeric
montant_ttc: numeric
remise_pct: numeric
validite_devis_jours: int                # durée de validité de l'offre
statut: enum(brouillon | emis | accepte | refuse | sans_suite | expire)
motif_perte: text                        # si refuse/sans_suite
date_emission: date
date_reponse: date
lettre_mission_signee: bool
dossier_id: text                         # alloué à la signature (lien J1, YYMMDD-NN-CLIENT-VILLE)
cree_le: timestamptz
maj_le: timestamptz

[STANDARD]

Détail dcm.devis_lignes :

ligne_id: uuid (PK)
devis_id: uuid (FK → dcm.devis)
diagnostic_code: text                    # ex. AMI.AV, ELEC.AV, CREP, DPE, GAZ, TERM, CARREZ — cf. Référentiel Services (Lot 7bis)
diagnostic_libelle: text
prix_unitaire_ht: numeric
quantite: int
reconduction: bool                       # diagnostic antérieur valide réutilisé
option: bool                             # ligne optionnelle (ex. amiante à refaire — vices cachés)
sous_total_ht: numeric

[STANDARD]

Règles de remplissage

  • diagnostic_code aligné sur le Référentiel des Services VESICA (Lot 7bis : codes courts AMI.CAV, ELEC.AV…). [CORPUS] (04 Lot 7bis)
  • La liste des lignes découle du cadrage C1 (cf. DCM_IQ_3) — pas d'invention commerciale du périmètre. [CORPUS]
  • reconduction = true → ligne à 0 € ou exclue, signalée au client (diagnostic antérieur valide). [CORPUS] (M0)
  • option = true → ligne non incluse au total par défaut (ex. amiante à refaire). [CORPUS] (M3 C1)
  • montant_ht ≥ plancher de marge (cf. DCM_IQ_3). [STANDARD]
  • À la signature : lettre_mission_signee = true, allouer dossier_id → déclenche J1. Fin périmètre DCM. [CORPUS]
  • motif_perte obligatoire si statut ∈ {refuse, sans_suite} (analyse du taux de transformation). [STANDARD]

Rattachement (procédure/instruction)

  • Procédure : DCM_PQ_2. [STANDARD]
  • Instruction : DCM_IQ_3 (établir le devis). [STANDARD]

Enregistrement résultant

  • Un devis persistant (1 en-tête + N lignes) ; à la signature, génère la lettre de mission qui fait naître le dossier (handoff J1 → ADV). En v0 : modèle bureautique + registre. Cible : Postgres + édition console. [STANDARD] + [CORPUS]