Droit Belge de la Copropriete — Art. 3.84 a 3.94 Code Civil

Introduction

Le droit belge de la copropriete est regi par le Livre 3, Titre 4 du Code Civil belge (anciennement Art. 577-2 a 577-14). La reforme de 2018 (Loi du 18 juin 2018) a recodifie ces dispositions sous les articles 3.84 a 3.100.

KoproGo implemente les dispositions les plus critiques pour un logiciel de gestion de copropriete. Ce document presente les extraits de loi in extenso et leur alignement avec le code actuel.

Art. 3.84 — Disposition generale

Texte (resume) : Chaque lot en copropriete comprend une partie privative et une quote-part dans les parties communes. Les quotes-parts sont determinees par les statuts (acte de base) en fonction de la valeur respective des parties privatives.

Alignement KoproGo :

  • Entite Unit avec area, floor, unit_number

  • Relation UnitOwner avec ownership_percentage (0.0 a 1.0)

  • Trigger PostgreSQL validate_unit_ownership_total() verifiant que le total = 100% (±0.01%)

  • Fichiers : backend/src/domain/entities/unit_owner.rs, migration 20251120230000

Statut : CONFORME

Art. 3.85 — Statuts et reglement d’ordre interieur

Texte (resume) :

  • L’acte de base comprend la description de l’ensemble immobilier et des parties communes.

  • Le reglement de copropriete fixe les criteres de repartition des charges.

  • La periode de 15 jours pour convocations d’AG est fixee ici initialement (confirmee a l’Art. 3.87 §3).

Alignement KoproGo :

  • Modele Building avec adresse, nom, total_units

  • Repartition des charges via ChargeDistribution

  • Fichiers : backend/src/domain/entities/building.rs, charge_distribution.rs

Statut : CONFORME (partiel — pas de gestion de l’acte de base numerique)

Art. 3.86 — Personnalite juridique de l’ACP

Texte (resume) :

  • L’association des coproprietaires (ACP) a la personnalite juridique.

  • Elle doit disposer d’un fonds de roulement (charges courantes) et d’un fonds de reserve (gros travaux), chacun sur un compte bancaire separe.

  • Le syndic est l’organe executif.

Alignement KoproGo :

  • Entite Organization representant l’ACP

  • Plan comptable PCMN avec comptes separes fonds de roulement / reserve

  • Comptes bancaires : Account classes 5 (tresorerie)

  • Budget annuel : entite Budget avec workflow d’approbation

Statut : CONFORME

Art. 3.87 — Assemblee Generale

C’est l’article le plus critique pour KoproGo. Il regit les assemblees generales.

§1 — Periodicite

Texte : “Chaque annee, une assemblee generale ordinaire est tenue a la periode fixee par le reglement de copropriete ou, a defaut, au cours du premier semestre.”

Alignement : Entite Meeting avec date et type. Pas de validation automatique de la periodicite annuelle.

Statut : CONFORME (la validation periodique est hors scope v0.1.0)

§2 — Ordre du jour

Texte : “L’ordre du jour de l’assemblee generale est fixe par le syndic. Toute question inscrite a l’ordre du jour est traitee. Aucune decision ne peut etre prise sur un point qui ne figure pas a l’ordre du jour.”

Alignement : L’entite Meeting a un champ agenda. Cependant, il n’y a pas de lien formel entre les points d’agenda et les resolutions votees.

Statut : LACUNE — Les resolutions ne sont pas liees aux points d’agenda. Des decisions hors agenda pourraient etre enregistrees, ce qui les rendrait nulles en droit.

  • Fichier concerne : backend/src/domain/entities/resolution.rs

  • Scenario BDD : resolutions.feature

§3 — Convocations (15 jours minimum)

Texte : “Sauf dans les cas d’urgence, la convocation est communiquee quinze jours au moins avant la date de l’assemblee, sauf si le reglement de copropriete prevoit un delai plus long.”

Important

Ce delai de 15 jours s’applique a TOUS les types d’assemblee (ordinaire, extraordinaire, et deuxieme convocation). La loi ne fait aucune distinction.

Alignement KoproGo :

  • ConvocationType::minimum_notice_days() retourne 15 pour tous les types

  • Validation dans Convocation::new() : rejet si meeting_date - 15j < now

  • Validation dans Convocation::schedule() : rejet si send_date > minimum_send_date

Statut : CONFORME (corrige dans cette release — precedemment 8 jours pour Extraordinary)

  • Fichier : backend/src/domain/entities/convocation.rs:23-30

  • Scenario BDD : convocations.feature:19-32

  • Test unitaire : test_meeting_type_minimum_notice_days

§4 — Representation

Texte : “Tout coproprietaire peut se faire representer par un mandataire, qui peut ne pas etre coproprietaire.”

Alignement : Champ proxy_owner_id dans ConvocationRecipient et Vote.

Statut : CONFORME

§5 — Quorum

Texte (resume) :

  • Premiere convocation : quorum atteint si les coproprietaires presents ou representes detiennent plus de la moitie des quotes-parts dans les parties communes.

  • Si quorum non atteint, une deuxieme assemblee est convoquee dans les quinze jours. Elle delibere valablement quel que soit le nombre de presents.

  • Exception : pour les decisions a majorite des 3/4, le quorum de premiere convocation exige la presence de coproprietaires detenant au moins 3/4 des quotes-parts.

Warning

LACUNE CRITIQUE : KoproGo ne valide pas le quorum. Les votes sont possibles meme sans quorum de 50%.

Alignement :

  • Pas de champ quorum_met dans Meeting

  • Pas de verification dans resolution_use_cases.rs

  • Pas de workflow automatique de deuxieme convocation

Statut : MANQUANT

  • Fichiers concernes : meeting.rs, resolution_use_cases.rs

  • Plan de remediation : Phase 1 critique

§7 — Procurations (max 3 mandats)

Texte (resume) :

  • Un mandataire ne peut representer plus de trois coproprietaires.

  • Exception : il peut representer plus de trois si le total des voix dont il dispose (les siennes + celles de ses mandants) ne depasse pas 10% des voix totales.

Warning

LACUNE CRITIQUE : KoproGo ne limite pas le nombre de procurations par mandataire. Un mandataire peut representer un nombre illimite de coproprietaires.

Statut : MANQUANT

  • Fichier concerne : backend/src/domain/entities/vote.rs

  • Plan de remediation : Phase 1 critique

Art. 3.88 — Majorites qualifiees

Texte (resume) : Decisions requises selon le type :

Type de decision

Majorite requise

Statut KoproGo

Decisions ordinaires

Majorite absolue (50%+1 exprimes)

CONFORME (Simple)

Travaux extraordinaires

2/3 des voix

CONFORME (Qualified(0.667))

Modification jouissance parties communes

3/4 des voix

CONFORME (Qualified(0.75))

Modification statuts

4/5 des voix

CONFORME (Qualified(0.80))

Modification quotes-parts

Unanimite

CONFORME (Qualified(1.0))

Alignement : MajorityType enum avec Simple, Absolute, Qualified(f64) dans resolution.rs. Le syndic choisit manuellement la majorite applicable.

Statut : CONFORME (via seuil personnalisable). Pas de presets automatiques par type de decision.

Art. 3.89 — Le Syndic

Texte (resume) :

  • Mandat maximum de 3 ans, renouvelable.

  • Obligations : comptabilite transparente, budget previsionnel, conservation documents.

  • Responsabilite : le syndic est mandataire de l’ACP (Art. 3.89 §6). Sa responsabilite est contractuelle (mandat) et civile (faute de gestion).

Alignement :

  • Information publique syndic : 7 champs publics, endpoint GET /public/buildings/{slug}/syndic

  • Comptabilite PCMN : ~90 comptes, rapports financiers (bilan, compte de resultats)

  • Budget : entite Budget avec workflow d’approbation AG

Statut : CONFORME (partiel — pas de validation duree mandat 3 ans)

Art. 3.90 — Conseil de copropriete

Texte (resume) :

  • Un conseil de copropriete est constitue dans tout immeuble ou groupe d’immeubles d’au moins 20 lots (hors caves, garages et parkings).

  • Missions : assistance et controle du syndic.

Alignement :

  • Entite BoardMember avec positions (President, VicePresident, Treasurer, Secretary, Member)

  • Entite BoardDecision avec workflow de suivi

  • Pas de validation automatique du seuil de 20 lots

Statut : CONFORME (partiel)

Art. 3.94 — Etat date

Texte (resume) :

  • En cas de cession d’un lot, le syndic transmet les informations requises dans un delai de : - 15 jours pour une demande simple - 30 jours pour une demande par recommande du notaire

  • Le document contient la situation financiere du lot (arrieres, provisions, travaux votes).

Alignement :

  • Entite EtatDate avec 16 sections legales

  • Delai de detection : is_overdue() utilise 15 jours (corrige dans cette release — precedemment 10 jours)

  • Validite 90 jours : pratique professionnelle, pas une obligation legale

Statut : CONFORME (corrige dans cette release)

  • Fichier : backend/src/domain/entities/etat_date.rs:286-297

  • Repository SQL : etat_date_repository_impl.rs (INTERVAL ‘15 days’)