API Projets
Gérer les projets de travaux, soumissions, bons de travail et suivi budgétaire via l'API.
Vue d'ensemble#
Le module Projets couvre l'ensemble du cycle de vie d'un projet de travaux : idéation, soumissions, approbation, exécution, paiements et clôture.
| Outil MCP | Description | Portée |
|---|---|---|
list_projects | Lister les projets | read:finances |
create_project | Créer un projet | write:finances |
update_project | Modifier un projet | write:finances |
delete_project | Archiver un projet | write:finances |
add_quote | Ajouter une soumission | write:finances |
approve_quote | Approuver une soumission | write:finances |
create_work_order | Créer un bon de travail | write:finances |
log_project_expense | Enregistrer une dépense | write:finances |
close_project | Clôturer un projet | write:finances |
19 outils au total. Voir le spec features/07-projects.md pour la liste complète.
Objet Project#
{
id: string;
title: string;
description: string;
status: "draft" | "quoting" | "approved" | "in-progress" | "completed" | "cancelled";
category: "roofing" | "plumbing" | "electrical" | "facade" | "hvac" | "landscaping" | "elevator" | "other";
budget: number; // CAD
fundSource: "operating" | "reserve" | "contingency";
spent: number; // Calculé automatiquement
startDate: string | null; // ISO 8601
endDate: string | null;
contractor: {
id: string;
name: string;
} | null;
quotes: Quote[];
workOrders: WorkOrder[];
expenses: Expense[];
createdAt: string;
updatedAt: string;
}
create_project#
Paramètres#
| Paramètre | Type | Requis | Description |
|---|---|---|---|
title | string | ✅ | Ex. « Réfection toiture 2026 » |
category | string | ✅ | Un des 8 types |
description | string | — | Contexte, besoins |
budget | number | ✅ | CAD, > 0 |
fundSource | string | ✅ | operating, reserve, contingency |
Exemple#
{
"name": "create_project",
"arguments": {
"title": "Réfection toiture 2026",
"category": "roofing",
"description": "Membrane TPO, garantie 20 ans",
"budget": 145000,
"fundSource": "reserve"
}
}
add_quote#
Ajouter une soumission à un projet en phase quoting.
{
"name": "add_quote",
"arguments": {
"projectId": "...",
"contractorId": "...",
"amount": 138500,
"validUntil": "2026-05-15",
"notes": "Inclut garantie 20 ans et démantelement de l'existant"
}
}
Max 5 soumissions par projet (best-practice RGCQ).
approve_quote#
Marquer une soumission comme gagnante. Le projet passe en statut approved.
{
"name": "approve_quote",
"arguments": {
"quoteId": "...",
"resolutionId": "..." // Optionnel — lie la décision à une résolution d'AG
}
}
Pour les gros projets (> 5 % du fonds de prévoyance), la Loi 16 recommande fortement une approbation en AG. Liez la résolution pour traçabilité.
create_work_order#
Créer un bon de travail officiel après approbation de la soumission.
{
"name": "create_work_order",
"arguments": {
"projectId": "...",
"quoteId": "...",
"startDate": "2026-06-01",
"milestones": [
{ "title": "Acompte 30 %", "amount": 41550, "dueDate": "2026-06-01" },
{ "title": "Progression 50 %", "amount": 41550, "dueDate": "2026-07-15" },
{ "title": "Solde final", "amount": 55400, "dueDate": "2026-08-30" }
]
}
}
log_project_expense#
Enregistrer chaque paiement au fur et à mesure.
{
"name": "log_project_expense",
"arguments": {
"projectId": "...",
"amount": 41550,
"date": "2026-06-03",
"description": "Acompte — Toiture Québec inc.",
"invoiceAttachmentId": "..."
}
}
Une écriture comptable est créée automatiquement (débit du fonds de prévoyance, crédit du compte fournisseur) si le module Comptabilité est actif.
Suivi budgétaire#
{
"name": "get_project_summary",
"arguments": { "projectId": "..." }
}
Réponse :
{
"budget": 145000,
"spent": 83100,
"remaining": 61900,
"percentSpent": 57.3,
"milestonesDue": 1,
"daysElapsed": 45,
"estimatedCompletion": "2026-08-30"
}