# Notes de version — Immo Pro

## v1.0.37 — 2026-09-23

- A third panel rises from the foot of the promotion assistant
- A lot can be renamed, at all five levels
- Four doors left open, nine gates on the wrong post
- Thirty-two permissions of the purchase chain applied to nothing
- The till learns the rented property, and refuses to settle its rent
- A purchase is recorded once, and its VAT waits for the settlement
- One answer to « which party is this », for all five readers
- « Facturé » was the cumulative total of validated work situations
- A supplier settlement finally has an inverse
- The G50 declared purchase invoices as revenue collected
- A payment taken at the counter now lands on the lot it pays for
- The till now asks before deducting the same VAT twice
- Deleting a receipt fixed the client's balance; creating one did not
- The receipt said « Tiers : Vente appartement » and handed it to the buyer
- One record, one owner: the band is now the only one who answers

## v1.0.23 — 2026-08-23

### Nouveautés et améliorations
- Real email sending from Send-Message window (SMTP settings) (AB#233)
- Document scanning (Scan button in add/edit document) (AB#234)
- Rapprochement: persist reconciled matches across imports (AB#235)
- Amortissements: cession/sortie d'immobilisation posting (AB#236)
- Remise de chèques (batch deposit slip) (AB#237)
- Grille tarifaire: expose facade filter in the popup (AB#238)
- Property fiche print via HTML pipeline (replace empty Syncfusion path) (AB#239)
- Localization: replace hardcoded English strings in legacy windows (AB#240)
- Dependency vulnerabilities: AutoMapper 12.0.1 and Newtonsoft.Json 12.0.3 (NU1903) (AB#241)
- Brand identity finalisation: name, logo redraw, tagline, splash spec (AB#279)
- Loyers récurrents et quittances via le moteur d'écritures récurrentes (AB#366)
- Impayés locatifs alimentant les relances CRM existantes (AB#367)
- Charges locatives et indexation annuelle (AB#368)
- Phases et jalons de chantier sur la page projet, avancement en pourcentage (AB#369)
- Avancement lié aux paiements: jalons clients et situations fournisseurs (AB#371)
- Réserves par appartement livré: liste, statuts en chips, photos (AB#373)
- Affectation sous-traitant et suivi d'intervention sur réserve (AB#374)
- Garanties et délais légaux avec alertes d'expiration (module Documents) (AB#375)
- SMTP réel et modèles d'e-mails configurables dans Paramètres (AB#376)
- PV de chantier et réceptions provisoire/définitive (déclenchent garanties et retenues) (AB#399)
- IA-1 Composant Platform.AI + réglages + consentement (loi 18-07) (AB#421)
- IA-2 Proxy IA Pulstech : authentification licence, quotas par palier, BYOK (AB#422)
- IA-3 Journal d'audit ai.UsageLog, suivi de consommation, mode hors-ligne (AB#423)
- IA-4 Panneau assistant conversationnel (chat streaming) dans le shell (AB#424)
- IA-5 Outils métier read-only (tool-use) : clients, ventes, compta, trésorerie, chantier (AB#425)
- IA-6 Actions rapides contextuelles par écran (résumer, expliquer, préparer) (AB#426)
- IA-7 Génération d'annonces immobilières depuis la fiche du bien (AB#427)
- IA-8 Rédaction assistée des relances : e-mails, SMS, courriers de recouvrement gradué (AB#428)
- Le tableau de bord entier a un budget de requêtes, pas seulement ses widgets (AB#783)
- INT-1 La devise devient un réglage de société (deux points de passage, plus cent quatorze) (AB#789)
- INT-2 Le pays de la société existe et se choisit à sa création (AB#790)
- INT-4 Les taux de TVA deviennent des données datées rattachées au pays (AB#792)
- Un membre d'énumération sans traduction ne peut plus s'afficher tel quel (AB#796)
- La fiche s'appelle un contact — renommage tranché, sauf le vocabulaire comptable (AB#802)
- S-127 — La devise du tenant vient d’une source unique (AB#808)
- Le solde progressif du grand livre : fausse alerte levée, règle mise sous test (AB#812)
- Modèles de chantier : des phases prêtes à l'emploi au moment de créer un projet (AB#816)
- Avancement chantier sur le tableau de bord : l'agrégat qui manque à AB#369 (AB#817)
- La mise en forme des montants, pourcents et dates descend dans le domaine (AB#821)
- LOC-3 Une annonce à vendre entre dans la chaîne devis, réservation, commission (AB#827)
- LOC-4 Le mandat : qui confie le bien, pour combien de temps, à quel taux (AB#828)
- LOC-5 Bien géré : reversement au propriétaire et relevé de gérance (AB#829)
- Charges locatives réelles et régularisation annuelle (AB#831)
- LOC-2b Le fil d'une annonce : visites, appels, échanges avec le propriétaire (AB#834)
- CD-1 Le bien à la nuitée : le type, le tarif, la fenêtre de commercialisation (AB#836)
- CD-2 La réservation : dates, chevauchement, cycle de vie (AB#837)
- CD-3 Le calendrier d'occupation d'un bien (AB#838)
- CD-4 Les tarifs par saison (AB#839)
- CD-5 L'argent d'un séjour : arrhes, solde, note de séjour (AB#840)
- CD-6 La disponibilité d'un bien à la nuitée n'est pas un booléen (AB#841)
- Une catégorie « Location » dans le menu : réservations, baux, loyers impayés (AB#845)
- Chantier — la liste de tous les chantiers, et non un projet à la fois (AB#846)
- Fiche projet — un onglet Chantier: avancement, phases, jalons (AB#847)
- Une tâche de chantier porte un fournisseur et engage la dépense (BC → facture → écriture) (AB#848)
- Vos biens — l'ajout d'un bien: la transaction d'abord, le propriétaire plus tard (AB#849)
- Vos biens — la fiche se lit d'un coup d'œil: composition et pièces en cartes (AB#850)
- Un chantier sur un bien du portefeuille, avec son avancement sur la fiche (AB#851)
- Créer un chantier: autonome, ou lié à un projet ou un bien (AB#950)
- Le chantier est orphelin: ni fournisseur, ni paiement, ni pièce comptable (AB#952)
- Le vocabulaire du produit: Projets devient Promotions (AB#956)
- CarrierRef et registre des porteurs: le socle ouvert (AB#962)
- Un seul sélecteur de porteur, à la place des 17 écrits à la main (AB#963)
- Renommer le module en Promotions: le code seulement, la base gelée (AB#964)
- Le projet générique: une entité, un module, un écran (AB#965)
- Le bon de commande accepte tout porteur (débloque AB#940 et AB#952) (AB#966)
- Convertir les porteurs restants: caisse, agenda, fournisseurs, situations, chantier (AB#967)
- Gardes d'ouverture: empêcher l'architecture de se refermer (AB#968)
- Un plugin doit pouvoir avoir ses propres tables (et que faire à la désinstallation) (AB#969)

### Corrections
- CRITIQUE — Grand livre : débordement de pile sur tout poste dont la locale système est française (AB#750)
- Agenda : les jours de la semaine s'affichent en anglais dans une interface française (AB#751)
- Échéancier d'une fiche fournisseur : aucune échéance alignée sur sa voisine (AB#773)
- Chaîne Achats d'un projet : quatre montants sans devise sous des cartes qui en portent (AB#774)
- Sélecteurs d'entités : les suggestions sortent sans ordre, donc instables d'un appel à l'autre (AB#775)
- Grand livre : un solde négatif en noir entre un crédit vert et un débit rouge (3e occurrence) (AB#776)
- Documents : « Aucun » sur les 38 lignes là où les colonnes voisines écrivent « — » (AB#777)
- Échéancier de l'onglet Achats d'un projet : mêmes colonnes flottantes qu'AB#773, autre gabarit (AB#778)
- Fournisseurs : « SS » sur les 101 avatars, et une couleur tirée au hasard à chaque rendu (AB#779)
- Pastilles neutres : leur fond est le pinceau de la bande alternée, donc invisibles une ligne sur deux (AB#780)
- Contacts : la pastille « Piste » disparaissait encore — deux modèles contournent ChipPalette (AB#781)
- Régression de perf : la réparation des libellés comptables coûtait 10 requêtes par écran (AB#782)
- Trois budgets de performance se comptaient « réussis » sans avoir rien mesuré (AB#784)
- Les colonnes de DataGrid mises en forme liaient en bidirectionnel — 3e et dernière cause d'AB#750 (AB#785)
- Les montants sont repassés au format anglais : le convertisseur suivait la culture de la liaison (AB#786)
- L'anglais n'avait jamais été regardé : encodage abîmé et mots français restés dans les libellés (AB#797)
- Validations : les demandes s'affichent en français dans l'interface anglaise (AB#798)
- Caisse : deux types sans pastille, « Aucun » affiché comme une donnée, et un tiret de plus (AB#799)
- Plan de trésorerie : libellés français et semaines « S33 » dans l'interface anglaise (AB#800)
- L'anglais appelait la taxe « VAT » partout, sauf sur la fiche fournisseur (AB#801)
- Onze libellés anglais fautifs, dont un mot inexistant et deux contresens (AB#803)
- États financiers : douze comptes en français, un en anglais, dans la même colonne (AB#804)
- « 3 % discount » : l'espace avant le pourcent est une règle française, pas anglaise (AB#805)
- Déclaration de TVA : trois colonnes de chiffres sans en-tête, et un accent rogné (AB#806)
- BUG-020 — Le pays choisi à la création est jeté, et l’amorçage comptable ne part jamais (AB#807)
- scripts/ado.mjs tronquait ses listes à 100 items sans le dire (AB#813)
- Tableau de bord : la tuile Avancement chantier n'apparaît jamais (widget sans IScreen refusé par le résolveur) (AB#842)
- Panneau « Nouvelle réservation » et « Nouvelle saison » : la page se grise, rien ne s'ouvre (vue sans IViewFor, refus muet) (AB#844)
- Panneau de réservation : gabarit hors norme, sélecteur muet, tarif qui court-circuite les saisons, disponibilité absente (AB#852)
- Encaisser un séjour ou un loyer ne crée aucune pièce de caisse : l'argent n'entre ni en caisse ni au journal (AB#853)
- Un panneau qui ne s'ouvre pas ne laisse aucune trace : rendre le cas diagnosticable (AB#854)
- Statistiques d'un projet sans ligne de stats : NullReferenceException avalée, chiffres figés pour toujours (AB#855)
- Un panneau survit au changement d'écran et bloque tous les suivants (navigation fermant sous condition) (AB#856)
- Le premier du mois s'imprime « 1 mars » au lieu de « 1er mars » (AB#857)
- La suite de tests se bloque sans verdict : la popup s'accroche à la fenêtre d'un autre test (AB#949)
- L'écran des tâches chantier ne dit pas de quel chantier il parle (AB#951)
- Barres d'outils: recherche, filtre, listes et boutons n'ont pas la même taille (AB#953)
- Menu à trois points: actions sans icône et mal centrées (AB#954)
- L'onglet Activité n'a jamais relu l'étape du pipeline (AB#955)
- Les tâches de chantier ne disent ni d'où elles viennent ni ce qu'elles engagent (AB#959)
