// ── Kennisbank conventie-nazicht — controlepunten per rechtshandeling ────────
// Seed-inhoud van de kennisbank waarmee een extern ontvangen ontwerp van
// conventie (onbekend model) wordt getoetst. Vier gewichten per punt:
// essentieel / belangrijk / kan beter / te vermijden — zie types.ts voor de
// exacte semantiek (doel "vereist" = moet aanwezig zijn, doel "verdacht" =
// moet afwezig zijn).
//
// Uitbreiden = een punt toevoegen aan deze lijst; kennisbank.test.ts bewaakt
// het schema (unieke ids, geldige akteTypes, voorstel/vervanging-consistentie).
// Alle punten zijn indicatief (BETA) en vervangen het nazicht door de notaris
// niet — ze structureren het.

import type { Controlepunt } from "./types";
import type { AkteTypeNaam } from "@/data/modeldocumenten/akte-types";

/** Alle compromis-varianten (het klassieke "extern ontvangen" document). */
const COMPROMIS_TYPES: readonly AkteTypeNaam[] = [
  "verkoopovereenkomst (compromis)",
  "verkoopovereenkomst (compromis) - heldere taal",
  "verkoopovereenkomst (compromis) - wet breyne",
  "verkoopovereenkomst (compromis) - lijfrente",
];

const VERKOOPAKTE_TYPES: readonly AkteTypeNaam[] = [
  "verkoopakte",
  "verkoopakte - heldere taal",
  "verkoopakte - wet breyne",
  "verkoopakte - lijfrente",
];

/** Compromis + akte samen: de informatieplichten gelden in beide fasen. */
const VERKOOP_TYPES: readonly AkteTypeNaam[] = [...COMPROMIS_TYPES, ...VERKOOPAKTE_TYPES];

/** De Wet Breyne-varianten (verkoop op plan / in aanbouw). */
const BREYNE_TYPES: readonly AkteTypeNaam[] = [
  "verkoopovereenkomst (compromis) - wet breyne",
  "verkoopakte - wet breyne",
];

/** De lijfrente-varianten. */
const LIJFRENTE_TYPES: readonly AkteTypeNaam[] = [
  "verkoopovereenkomst (compromis) - lijfrente",
  "verkoopakte - lijfrente",
];

const VOLMACHT_TYPES: readonly AkteTypeNaam[] = ["onderhandse volmacht", "volmacht"];

export const KENNISBANK_CONTROLEPUNTEN: readonly Controlepunt[] = [
  // ══ Algemeen — elk onderhands document of ontwerp ══════════════════════════
  {
    id: "alg-erfovereenkomst-verbod",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: "alle",
    titel: "Beding over een niet-opengevallen nalatenschap",
    uitleg:
      "Overeenkomsten over een nog niet opengevallen nalatenschap (verzaking, afstand, toebedeling) zijn nietig, behalve in de gevallen die de wet uitdrukkelijk toelaat — en die vereisen een notariële erfovereenkomst met de strikte procedure (ontwerp, toelichtingsvergadering, wachttermijn). Zo'n beding hoort dus nooit in een gewone conventie.",
    signalen: [
      ["niet-opengevallen nalatenschap"],
      ["verzaakt aan de nalatenschap"],
      ["afstand van de nalatenschap"],
      ["verzaken aan hun erfrechtelijke aanspraken"],
    ],
    vervanging:
      "[NAKIJKEN: dit beding raakt een niet-opengevallen nalatenschap en is in een gewone conventie nietig — indien gewenst om te zetten in een notariële erfovereenkomst volgens de procedure van art. 4.244 e.v. BW (ontwerp, vergadering, wachttermijn van één maand).]",
    wetsbasis: ["art. 4.241-4.252 Burgerlijk Wetboek (erfovereenkomsten)"],
  },
  {
    id: "alg-identiteit-partijen",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: "alle",
    titel: "Volledige identiteit van de partijen",
    uitleg:
      "Elke partij moet volledig geïdentificeerd zijn (naam, voornamen, geboorteplaats en -datum, rijksregisternummer, woonplaats en burgerlijke staat). Onvolledige identificatie bemoeilijkt de latere authentieke akte, de hypothecaire formaliteiten en de witwascontrole.",
    signalen: [["rijksregister"], ["geboren te"], ["ondernemingsnummer"]],
    voorstel:
      "De partijen verklaren dat hun identiteit als volgt luidt: [AAN TE VULLEN: naam, voornamen, geboorteplaats en -datum, rijksregisternummer, woonplaats en burgerlijke staat van elke partij, met vermelding van het huwelijksvermogensstelsel of de wettelijke samenwoning].",
    wetsbasis: ["art. 12 Organieke Wet Notariaat (met het oog op de latere akte)", "Wet van 18 september 2017 (antiwitwas — identificatieplicht)"],
    agentwenken:
      "Bij vennootschappen: ondernemingsnummer, zetel en vertegenwoordigingsbevoegdheid controleren in plaats van rijksregisternummer.",
  },
  {
    id: "alg-plaats-datum-exemplaren",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: "alle",
    titel: "Plaats, datum en aantal originelen",
    uitleg:
      "Een onderhandse overeenkomst met wederkerige verbintenissen moet worden opgemaakt in evenveel originelen als er partijen met een onderscheiden belang zijn, met vermelding daarvan in het geschrift; plaats en datum verankeren de bewijswaarde en de termijnen (registratie, opschortende voorwaarden).",
    signalen: [["opgemaakt te"], ["exemplaren"], ["originelen"]],
    voorstel:
      "Opgemaakt te [AAN TE VULLEN: plaats] op [AAN TE VULLEN: datum], in [AAN TE VULLEN: aantal] originele exemplaren, waarvan elke partij met een onderscheiden belang erkent er één te hebben ontvangen.",
    wetsbasis: ["art. 8.20 Burgerlijk Wetboek (pluraliteit van originelen)"],
  },

  // ══ Verkoop — informatieplichten (compromis én akte) ═══════════════════════
  {
    id: "verkoop-bodemattest",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Bodemattest (OVAM) vóór de overeenkomst",
    uitleg:
      "In het Vlaamse Gewest moet de overdrager vóór het sluiten van de overeenkomst een bodemattest aanvragen en de inhoud ervan aan de verwerver meedelen; de vermelding ervan in de onderhandse overeenkomst is verplicht. Ontbreekt dit, dan kan de verwerver de nietigheid vorderen.",
    signalen: [["bodemattest"], ["bodemdecreet"], ["ovam"]],
    voorstel:
      "De verkoper verklaart dat vóór het sluiten van deze overeenkomst een bodemattest werd afgeleverd door de OVAM op [AAN TE VULLEN: datum] en dat de inhoud ervan aan de koper werd meegedeeld. Dit attest luidt: \"[AAN TE VULLEN: letterlijke inhoud van het bodemattest]\". De verkoper verklaart dat op de grond, bij zijn weten, geen risico-inrichting gevestigd is of was.",
    wetsbasis: ["art. 101-116 Bodemdecreet van 27 oktober 2006 (Vlaams Gewest)"],
    agentwenken:
      "Enkel voor onroerend goed in het Vlaamse Gewest; in Brussel en Wallonië gelden eigen bodemregelingen (Brudalex/decreet 1 maart 2018 resp. Waals Bodemdecreet) — pas de verwijzing aan het gewest aan.",
  },
  {
    id: "verkoop-epc",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Energieprestatiecertificaat (EPC)",
    uitleg:
      "Bij de verkoop van een woning of ander EPC-plichtig gebouw moet een geldig energieprestatiecertificaat beschikbaar zijn en moeten het kengetal en de unieke code in de overeenkomst worden opgenomen; de koper moet er een kopie van ontvangen.",
    signalen: [["energieprestatiecertificaat"], ["epc"]],
    voorstel:
      "Voor het verkochte goed werd een energieprestatiecertificaat opgemaakt op [AAN TE VULLEN: datum] met certificaatnummer [AAN TE VULLEN: nummer] en een kengetal van [AAN TE VULLEN: kengetal] kWh/m²jaar (label [AAN TE VULLEN: label]). De koper erkent een kopie van dit certificaat te hebben ontvangen.",
    wetsbasis: ["art. 11.2.1 e.v. Energiedecreet van 8 mei 2009", "Energiebesluit van 19 november 2010"],
    agentwenken: "Niet vereist voor onbebouwde grond; bij appartementen geldt het EPC per wooneenheid.",
  },
  {
    id: "verkoop-stedenbouw",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Stedenbouwkundige informatieplichten",
    uitleg:
      "De overeenkomst moet de stedenbouwkundige toestand vermelden: afgeleverde omgevingsvergunningen, de meest recente stedenbouwkundige bestemming, eventuele dagvaardingen/herstelmaatregelen, voorkooprechten en verkavelingsvergunningen. Zonder deze vermeldingen riskeert de overeenkomst nietigverklaring en de instrumenterende partijen sancties.",
    signalen: [["omgevingsvergunning"], ["stedenbouwkundig"], ["ruimtelijke ordening"]],
    voorstel:
      "De verkoper verklaart met betrekking tot het goed: (1) dat de volgende omgevingsvergunning(en) werd(en) afgeleverd: [AAN TE VULLEN]; (2) dat de meest recente stedenbouwkundige bestemming luidt: [AAN TE VULLEN]; (3) dat er, bij zijn weten, geen dagvaarding werd uitgebracht en geen herstelmaatregel werd opgelegd; (4) dat op het goed [AAN TE VULLEN: wel/geen] voorkooprecht rust; (5) dat het goed [AAN TE VULLEN: wel/niet] in een goedgekeurde verkaveling ligt.",
    wetsbasis: ["art. 5.2.1 e.v. Vlaamse Codex Ruimtelijke Ordening"],
  },
  {
    id: "verkoop-elektriciteit",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Keuringsverslag elektrische installatie",
    uitleg:
      "Bij de verkoop van een wooneenheid moet een geldig keuringsverslag van de elektrische installatie voorhanden zijn, of moet de overeenkomst de afspraken vermelden wanneer de installatie niet conform is (herstelplicht koper binnen 18 maanden).",
    signalen: [["elektrische installatie"], ["arei"], ["keuringsverslag"]],
    voorstel:
      "De verkoper verklaart dat de elektrische installatie werd gekeurd op [AAN TE VULLEN: datum] en dat het verslag [AAN TE VULLEN: wel/niet] conform werd bevonden. [EVENTUEEL: Bij niet-conformiteit verbindt de koper zich ertoe de installatie binnen de 18 maanden na de authentieke akte in overeenstemming te brengen en een herkeuring te laten uitvoeren.]",
    wetsbasis: ["Boek 1 AREI (KB van 8 september 2019)"],
  },
  {
    id: "verkoop-waterparagraaf",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Waterparagraaf / overstromingsgevoeligheid",
    uitleg:
      "De informatieplicht inzake het overstromingsrisico (perceel- en gebouwscore, ligging in afgebakend overstromingsgebied of oeverzone) moet in de onderhandse overeenkomst worden opgenomen.",
    signalen: [["overstroming"], ["waterparagraaf"], ["watertoets"]],
    voorstel:
      "De verkoper verklaart dat het goed een perceelscore [AAN TE VULLEN: A/B/C/D] en een gebouwscore [AAN TE VULLEN: A/B/C/D] heeft inzake overstromingsgevoeligheid, en dat het goed [AAN TE VULLEN: wel/niet] gelegen is in een afgebakend overstromingsgebied of een afgebakende oeverzone.",
    wetsbasis: ["art. 17bis Decreet Integraal Waterbeleid van 18 juli 2003"],
  },
  {
    id: "verkoop-asbestattest",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Asbestattest (constructie ouder dan 2001)",
    uitleg:
      "Voor elke overdracht van een constructie met bouwjaar vóór 2001 in het Vlaamse Gewest is een geldig asbestattest vereist; de conclusie ervan moet aan de verwerver worden meegedeeld vóór de ondertekening.",
    signalen: [["asbestattest"], ["asbestinventaris"]],
    voorstel:
      "De verkoper verklaart dat voor het goed een asbestattest werd afgeleverd op [AAN TE VULLEN: datum] met de volgende samenvattende conclusie: \"[AAN TE VULLEN]\". De koper erkent vóór de ondertekening kennis te hebben genomen van de inhoud van dit attest.",
    wetsbasis: ["art. 33/14 Materialendecreet van 23 december 2011 (verplicht sinds 23 november 2022)"],
    agentwenken: "Niet van toepassing op constructies met bouwjaar vanaf 2001 of onbebouwde grond.",
  },
  {
    id: "verkoop-stookolietank",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Stookolietank: aanwezigheid en conformiteit",
    uitleg:
      "De aanwezigheid van een (ondergrondse) stookolietank en het laatste conformiteitsonderzoek horen vermeld te worden; een niet-conforme of niet-gemelde tank is een gekende bron van discussies en saneringskosten na de verkoop.",
    signalen: [["stookolietank"], ["mazouttank"], ["stookolie"]],
    voorstel:
      "De verkoper verklaart dat het goed [AAN TE VULLEN: wel/geen] stookolietank bevat. [EVENTUEEL: De tank werd laatst gecontroleerd op [AAN TE VULLEN: datum] en draagt een [AAN TE VULLEN: groene/oranje/rode] dop/merkplaat; het attest wordt aan de koper overhandigd.]",
    wetsbasis: ["VLAREM II, afdeling 6.5 (particuliere stookolietanks)"],
  },
  {
    id: "verkoop-mede-eigendom",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Mede-eigendom: syndicusinformatie (art. 3.94 BW)",
    uitleg:
      "Bij de verkoop van een kavel in een mede-eigendom moet de verkoper de wettelijke syndicusinformatie (basisakte en reglement, laatste verslagen, werkkapitaal/reservekapitaal, achterstallen, hangende procedures) vóór de ondertekening aan de koper bezorgen; de overeenkomst vermeldt dit best uitdrukkelijk.",
    signalen: [["syndicus"], ["mede-eigendom"], ["basisakte"], ["vereniging van mede-eigenaars"]],
    voorstel:
      "De koper erkent vóór de ondertekening van deze overeenkomst de informatie bedoeld in artikel 3.94 van het Burgerlijk Wetboek te hebben ontvangen van de syndicus [AAN TE VULLEN: naam], waaronder de basisakte en het reglement van mede-eigendom, de notulen van de laatste drie algemene vergaderingen en de staat van het werkkapitaal en het reservekapitaal.",
    wetsbasis: ["art. 3.94 Burgerlijk Wetboek"],
    agentwenken: "Enkel bij appartementen of andere kavels in mede-eigendom; bij een gewone woning is dit punt zonder voorwerp — schrap de bevinding dan.",
  },
  {
    id: "verkoop-hypothecaire-toestand",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Levering vrij en onbelast",
    uitleg:
      "De overeenkomst moet bepalen dat het goed wordt geleverd voor vrij en onbelast van elke hypothecaire inschrijving, overschrijving van bevel of beslag, en dat de verkoper alle nodige opheffingen op zijn kosten verleent.",
    signalen: [["vrij en onbelast"], ["hypothecaire inschrijving"], ["doorhaling"]],
    voorstel:
      "Het goed wordt verkocht voor vrij, zuiver en onbelast van alle hypothecaire inschrijvingen, overschrijvingen, beslagen en andere belemmeringen. De verkoper verbindt zich ertoe op zijn kosten opheffing en doorhaling te verlenen van elke inschrijving die het goed bezwaart, uiterlijk bij het verlijden van de authentieke akte.",
  },
  {
    id: "verkoop-risico-overgang",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Eigendoms- en risico-overgang",
    uitleg:
      "Zonder andersluidend beding gaat het risico samen met de eigendom over bij de wilsovereenstemming — dus vóór de betaling en vóór de akte. De kantoorpraktijk stelt eigendoms- en risico-overgang uit tot het verlijden van de authentieke akte.",
    signalen: [["risico"], ["eigendomsovergang"], ["eigendomsoverdracht"], ["genot"]],
    voorstel:
      "In afwijking van het gemeen recht gaan de eigendom en het risico van het goed slechts over op de koper bij het verlijden van de authentieke akte. Tot dan blijft de verkoper het goed als een goede huisvader bewaren en verzekerd houden.",
    wetsbasis: ["art. 5.86 Burgerlijk Wetboek (risico-overgang, aanvullend recht)"],
  },
  {
    id: "verkoop-verzekering",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Brandverzekering tot aan de akte",
    uitleg:
      "De overeenkomst moet regelen wie het goed verzekert tussen compromis en akte; anders dreigt een dekkingsvacuüm precies in de periode waarin het risico betwist kan zijn.",
    signalen: [["brandverzekering"], ["verzekerd"], ["verzekering"]],
    voorstel:
      "De verkoper verbindt zich ertoe het goed tegen brand en aanverwante gevaren verzekerd te houden tot en met de dag van het verlijden van de authentieke akte. De koper sluit uiterlijk vanaf die dag een eigen verzekering af.",
  },
  {
    id: "verkoop-termijn-akte",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: COMPROMIS_TYPES,
    titel: "Termijn voor het verlijden van de akte (≤ 4 maanden)",
    uitleg:
      "De authentieke akte moet binnen vier maanden na het sluiten van de onderhandse overeenkomst worden verleden (registratietermijn — daarna zijn de rechten hoe dan ook opeisbaar en lopen boetes). De overeenkomst moet die termijn en de aangewezen notaris(sen) vermelden.",
    signalen: [["vier maanden"], ["4 maanden"], ["verlijden van de authentieke akte"]],
    voorstel:
      "De authentieke akte zal worden verleden binnen de vier maanden na de ondertekening van deze overeenkomst, en uiterlijk op [AAN TE VULLEN: datum], voor notaris [AAN TE VULLEN: naam] te [AAN TE VULLEN: standplaats], met dien verstande dat elke partij het recht heeft haar eigen notaris aan te stellen zonder meerkost.",
    wetsbasis: ["art. 3.4.0.0.1 en 2.9.4.1.1 Vlaamse Codex Fiscaliteit (registratietermijn en verkooprecht)"],
  },
  {
    id: "compromis-financieringsvoorwaarde",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: COMPROMIS_TYPES,
    titel: "Opschortende voorwaarde van financiering",
    uitleg:
      "Wanneer de koper de prijs (deels) met een krediet financiert, hoort een correct geformuleerde opschortende voorwaarde in de overeenkomst: bedrag, termijn, inspanningsplicht van de koper en bewijs van weigering door minstens twee kredietinstellingen. Ontbreekt ze, dan draagt de koper het volledige financieringsrisico.",
    signalen: [
      ["opschortende voorwaarde", "lening"],
      ["opschortende voorwaarde", "krediet"],
      ["opschortende voorwaarde", "financiering"],
    ],
    voorstel:
      "Deze verkoop wordt aangegaan onder de opschortende voorwaarde dat de koper uiterlijk op [AAN TE VULLEN: datum] een hypothecair krediet bekomt van minstens [AAN TE VULLEN: bedrag] euro. De koper verbindt zich ertoe hiertoe tijdig en te goeder trouw al het nodige te doen. De voorwaarde wordt geacht niet vervuld te zijn wanneer de koper binnen de termijn schriftelijke weigeringen van ten minste twee kredietinstellingen voorlegt. Bij niet-vervulling vervalt de overeenkomst zonder vergoeding, en wordt het voorschot integraal terugbetaald.",
    agentwenken:
      "Betaalt de koper aantoonbaar met eigen middelen (verklaring in het ontwerp), dan is deze bevinding zonder voorwerp.",
  },

  {
    id: "verkoop-gezinswoning-toestemming",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Gezinswoning: toestemming van beide echtgenoten/partners",
    uitleg:
      "Is het goed de gezinswoning, dan kan de ene echtgenoot (of wettelijk samenwonende partner) er niet zonder de instemming van de andere over beschikken — ook al is die geen eigenaar. Ontbreekt de medeondertekening, dan kan de benadeelde partner de nietigverklaring vorderen.",
    signalen: [["gezinswoning"], ["beide echtgenoten"], ["artikel 215"]],
    voorstel:
      "De verkoper verklaart dat het goed [AAN TE VULLEN: wel/niet] de gezinswoning uitmaakt in de zin van artikel 215 van het oud Burgerlijk Wetboek. [EVENTUEEL: De echtgeno(o)t(e)/wettelijk samenwonende partner van de verkoper, [AAN TE VULLEN: naam], ondertekent mee ten blijke van instemming.]",
    wetsbasis: ["art. 215 oud Burgerlijk Wetboek", "art. 1477 oud Burgerlijk Wetboek (wettelijke samenwoning)"],
    agentwenken:
      "Enkel relevant wanneer de verkoper gehuwd is of wettelijk samenwoont én het goed als gezinswoning dient; bij een vennootschap-verkoper of een tweede verblijf is dit punt zonder voorwerp.",
  },
  {
    id: "verkoop-bezetting-huur",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Bezettings- en huurtoestand",
    uitleg:
      "De overeenkomst moet zeggen of het goed vrij van gebruik wordt geleverd dan wel verhuurd/bezet is; koop breekt geen huur — een lopende (geregistreerde) huurovereenkomst gaat over op de koper, met alle opzeggingsbeperkingen van dien.",
    signalen: [["vrij van gebruik"], ["verhuurd"], ["huurovereenkomst"], ["bezet"]],
    voorstel:
      "De verkoper verklaart dat het goed [AAN TE VULLEN: vrij van gebruik en bewoning is / verhuurd is krachtens een huurovereenkomst van [AAN TE VULLEN: datum], geregistreerd op [AAN TE VULLEN: datum], tegen een huurprijs van [AAN TE VULLEN: bedrag] euro per maand, met een huurwaarborg van [AAN TE VULLEN: bedrag] euro]. De koper treedt in voorkomend geval in alle rechten en plichten van de verhuurder.",
    wetsbasis: ["art. 1743 oud Burgerlijk Wetboek", "Vlaams Woninghuurdecreet van 9 november 2018"],
  },
  {
    id: "verkoop-voorkooprechten",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Wettelijke voorkooprechten",
    uitleg:
      "Vlaamse wettelijke voorkooprechten (Vlaamse Wooncode, natuur, ruilverkaveling, havengebieden, …) moeten worden nagegaan via het e-voorkooploket en aan de begunstigden aangeboden vóór de akte; miskenning geeft de begunstigde een recht van indeplaatsstelling of schadevergoeding.",
    signalen: [["voorkooprecht"], ["recht van voorkoop"], ["e-voorkooploket"]],
    voorstel:
      "De verkoper verklaart dat op het goed [AAN TE VULLEN: wel/geen] wettelijk voorkooprecht rust. In voorkomend geval wordt deze verkoop aangegaan onder de opschortende voorwaarde van het niet-uitoefenen van dat voorkooprecht, dat door de instrumenterende notaris via het e-voorkooploket zal worden aangeboden.",
    wetsbasis: ["Decreet van 25 mei 2007 (harmonisering voorkooprechten)", "art. 85 e.v. Vlaamse Wooncode"],
  },
  {
    id: "verkoop-erfdienstbaarheden",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Erfdienstbaarheden en bijzondere voorwaarden uit de titel",
    uitleg:
      "De overeenkomst hoort de gekende erfdienstbaarheden en bijzondere voorwaarden uit de eigendomstitel te vermelden (of de verklaring dat er geen gevestigd zijn); de koper neemt ze over en kan zich anders op dwaling of vrijwaring beroepen.",
    signalen: [["erfdienstbaarhe"], ["bijzondere voorwaarden", "titel"]],
    voorstel:
      "Het goed wordt verkocht met alle heersende en lijdende, zichtbare en onzichtbare, voortdurende en niet-voortdurende erfdienstbaarheden. De verkoper verklaart dat hij er zelf geen heeft gevestigd en dat, bij zijn weten, [AAN TE VULLEN: geen erfdienstbaarheden bestaan / de volgende bepalingen uit de eigendomstitel gelden: …].",
  },
  {
    id: "verkoop-voorheffing-verrekening",
    categorie: "beter",
    doel: "vereist",
    akteTypes: VERKOOP_TYPES,
    titel: "Verrekening onroerende voorheffing en lasten",
    uitleg:
      "Regel uitdrukkelijk de pro-rata-verrekening van de onroerende voorheffing en de andere periodieke lasten vanaf de eigendoms- of genotsovergang — dat voorkomt de klassieke discussie ná de akte.",
    signalen: [["onroerende voorheffing"], ["pro rata"], ["verrekening", "lasten"]],
    voorstel:
      "De onroerende voorheffing en alle andere periodieke belastingen en lasten met betrekking tot het goed worden tussen partijen pro rata temporis verrekend vanaf [AAN TE VULLEN: de datum van de authentieke akte / de datum van ingenottreding].",
  },

  // ══ Wet Breyne (verkoop op plan / in aanbouw) ══════════════════════════════
  {
    id: "breyne-voltooiingswaarborg",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: BREYNE_TYPES,
    titel: "Voltooiings- of terugbetalingswaarborg (art. 12 Wet Breyne)",
    uitleg:
      "De verkoper-bouwpromotor moet een waarborg stellen: 5 % borgstelling bij een erkende aannemer, dan wel een voltooiings- of terugbetalingswaarborg van een kredietinstelling bij een niet-erkende. De overeenkomst moet de waarborg en de instelling vermelden; het ontbreken ervan is een nietigheidsgrond.",
    signalen: [["voltooiingswaarborg"], ["borgstelling"], ["terugbetalingswaarborg"]],
    voorstel:
      "Overeenkomstig artikel 12 van de Wet Breyne stelt de verkoper de volgende waarborg: [AAN TE VULLEN: borgstelling van 5 % (erkende aannemer) / voltooiingswaarborg van [AAN TE VULLEN: kredietinstelling] (niet-erkende aannemer)]. Het bewijs van de waarborgstelling wordt aan de koper overhandigd vóór [AAN TE VULLEN: de ondertekening/de akte].",
    wetsbasis: ["art. 12 Wet van 9 juli 1971 (Wet Breyne)"],
  },
  {
    id: "breyne-betaling-schijven",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: BREYNE_TYPES,
    titel: "Betaling in schijven volgens de vordering van de werken",
    uitleg:
      "Het voorschot mag hoogstens 5 % van de totale prijs bedragen en het saldo is slechts opeisbaar in schijven die de vooruitgang van de werken niet mogen overschrijden. Elke afwijkende betalingsregeling is verboden en wordt voor niet geschreven gehouden.",
    signalen: [["schijven"], ["naarmate de werken"], ["vordering van de werken"], ["bouwfase"]],
    voorstel:
      "De prijs van de constructies is betaalbaar in schijven naarmate de vordering van de werken, telkens na attestering door de architect, zonder dat de betaalde bedragen de waarde van de uitgevoerde werken mogen overschrijden. Het voorschot bedraagt maximaal vijf procent (5 %) van de totale prijs (art. 10 Wet Breyne).",
    wetsbasis: ["art. 10 Wet van 9 juli 1971 (Wet Breyne)"],
  },
  {
    id: "breyne-exoneratie-tienjarige",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: BREYNE_TYPES,
    titel: "Uitsluiting van de tienjarige aansprakelijkheid",
    uitleg:
      "De tienjarige aansprakelijkheid van aannemer/promotor (art. 1792 en 2270 oud BW) is bij een Wet Breyne-verkoop van openbare orde: elk beding dat ze uitsluit of inkort is nietig en moet worden geschrapt.",
    signalen: [
      ["afstand", "tienjarige"],
      ["uitsluiting", "aansprakelijkheid", "aannemer"],
      ["beperkt", "tienjarige aansprakelijkheid"],
    ],
    vervanging:
      "De verkoper is jegens de koper gehouden tot de tienjarige aansprakelijkheid van de artikelen 1792 en 2270 van het oud Burgerlijk Wetboek, overeenkomstig artikel 6 van de Wet Breyne.",
    wetsbasis: ["art. 6 Wet van 9 juli 1971 (Wet Breyne)", "art. 1792 en 2270 oud Burgerlijk Wetboek"],
  },

  // ══ Lijfrente ══════════════════════════════════════════════════════════════
  {
    id: "lijfrente-aleatoir-karakter",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: LIJFRENTE_TYPES,
    titel: "Aleatoir karakter en de twintigdagenregel",
    uitleg:
      "Een verkoop op lijfrente moet werkelijk aleatoir zijn: overlijdt de lijfrentegenieter binnen twintig dagen na de overeenkomst aan een ziekte die hij al had, dan is het contract nietig (art. 1975 oud BW). De overeenkomst hoort dit kanselement en de gezondheidstoestand uitdrukkelijk te behandelen.",
    signalen: [["twintig dagen"], ["1975"], ["aleatoir"], ["kanscontract"]],
    voorstel:
      "De partijen erkennen dat deze verkoop een kanscontract is in de zin van de artikelen 1968 en volgende van het oud Burgerlijk Wetboek. De lijfrentegenieter verklaart niet te lijden aan een ziekte waaraan hij binnen twintig dagen na heden zou kunnen overlijden (art. 1975 oud BW); partijen erkennen dat de rente in verhouding staat tot de waarde van het goed en het kanselement.",
    wetsbasis: ["art. 1968-1983 oud Burgerlijk Wetboek", "art. 1975 oud Burgerlijk Wetboek"],
  },
  {
    id: "lijfrente-zekerheden",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: LIJFRENTE_TYPES,
    titel: "Indexatie en zekerheden bij niet-betaling van de rente",
    uitleg:
      "De rente hoort geïndexeerd te zijn en de verkoper hoort zekerheden te bedingen: een uitdrukkelijk ontbindend beding bij niet-betaling en de inschrijving van het voorrecht van de verkoper — anders staat hij bij wanbetaling met lege handen.",
    signalen: [["index"], ["ontbindend beding", "rente"], ["voorrecht van de verkoper"]],
    voorstel:
      "De lijfrente wordt jaarlijks geïndexeerd volgens het indexcijfer der consumptieprijzen (basis: index van [AAN TE VULLEN: maand/jaar]). Bij niet-betaling van een vervallen rentetermijn, één maand na ingebrekestelling, heeft de verkoper het recht de ontbinding van de verkoop te vorderen; tot zekerheid wordt het voorrecht van de onbetaalde verkoper ingeschreven bij de overschrijving van de akte.",
    wetsbasis: ["art. 27 Hypotheekwet (voorrecht van de verkoper)"],
  },

  // ══ Verkoop — te vermijden of te verbeteren formuleringen ══════════════════
  {
    id: "compromis-voorschot-aan-verkoper",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: COMPROMIS_TYPES,
    titel: "Voorschot rechtstreeks aan de verkoper",
    uitleg:
      "Een voorschot dat rechtstreeks aan de verkoper (of op diens rekening) wordt betaald, is bij ontbinding of nietigheid vaak feitelijk onverhaalbaar. Het kantoor aanvaardt enkel betaling op de derdenrekening van de notaris (of geblokkeerde rekening), waar het voorschot beschermd blijft tot de akte.",
    signalen: [
      ["voorschot", "aan de verkoper"],
      ["voorschot", "rekening van de verkoper"],
      ["voorschot", "rechtstreeks"],
    ],
    vervanging:
      "De koper betaalt binnen [AAN TE VULLEN: aantal] dagen na de ondertekening een voorschot van [AAN TE VULLEN: bedrag] euro op de derdenrekening van notaris [AAN TE VULLEN: naam], waar het onaangeroerd blijft tot het verlijden van de authentieke akte en alsdan wordt verrekend met de prijs.",
    wetsbasis: ["art. 34 e.v. Organieke Wet Notariaat (derdengelden)"],
  },
  {
    id: "verkoop-exoneratie-verborgen-gebreken",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: VERKOOP_TYPES,
    titel: "Absolute exoneratie voor verborgen gebreken",
    uitleg:
      "Een beding dat de koper élk verhaal ontzegt, ook bij kwade trouw of tegenover een professionele verkoper, houdt geen stand: de exoneratie geldt nooit voor gebreken die de verkoper kende, en een professionele verkoper wordt geacht ze te kennen. De formulering moet dus uitdrukkelijk worden begrensd.",
    signalen: [
      ["zonder enig verhaal"],
      ["verborgen gebreken", "geen verhaal"],
      ["ontslaat de verkoper van elke aansprakelijkheid"],
    ],
    vervanging:
      "Het goed wordt verkocht in de staat waarin het zich bevindt, zonder vrijwaring voor zichtbare gebreken. De verkoper blijft evenwel gehouden tot vrijwaring voor verborgen gebreken die hij kende of behoorde te kennen, alsook in geval van kwade trouw.",
    wetsbasis: ["art. 1641-1643 oud Burgerlijk Wetboek"],
  },
  {
    id: "compromis-makelaarsloon-koper",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: COMPROMIS_TYPES,
    titel: "Makelaarsloon ten laste van de koper",
    uitleg:
      "Het ereloon van de vastgoedmakelaar die in opdracht van de verkoper optreedt, hoort ten laste van de verkoper (diens opdrachtgever). Doorschuiven naar de koper is een rood knipperlicht én verhoogt bovendien de heffingsgrondslag van het verkooprecht wanneer het als last van de koop wordt bedongen.",
    signalen: [
      ["makelaarsloon", "koper"],
      ["commissie", "ten laste van de koper"],
      ["bemiddelingsvergoeding", "koper"],
    ],
    vervanging:
      "Het ereloon van de vastgoedmakelaar valt ten laste van de partij die hem de opdracht gaf, zijnde de verkoper.",
    wetsbasis: ["art. 2.9.3.0.1 Vlaamse Codex Fiscaliteit (lasten verhogen de heffingsgrondslag)"],
  },
  {
    id: "compromis-totstandkoming-bij-akte",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: COMPROMIS_TYPES,
    titel: "\"De verkoop komt pas tot stand bij de akte\"",
    uitleg:
      "Een beding dat de totstandkoming van de verkoop zelf uitstelt tot (of afhankelijk maakt van) het verlijden van de authentieke akte, ontneemt het compromis zijn bindende kracht en schept rechtsonzekerheid over de vraag of er wel een verkoop is. Stel enkel de eigendoms- en risico-overgang uit, niet de totstandkoming.",
    signalen: [
      ["komt slechts tot stand", "akte"],
      ["komt pas tot stand", "akte"],
      ["opschortende voorwaarde van het verlijden"],
    ],
    vervanging:
      "De verkoop is tussen partijen voltrokken door de ondertekening van deze overeenkomst. In afwijking van het gemeen recht worden enkel de eigendoms- en risico-overgang uitgesteld tot het verlijden van de authentieke akte.",
    wetsbasis: ["art. 1583 oud Burgerlijk Wetboek (koop voltrokken door consensus)"],
  },
  {
    id: "verkoop-welbekend",
    categorie: "beter",
    doel: "verdacht",
    akteTypes: VERKOOP_TYPES,
    titel: "\"Goed welbekend\" in plaats van een volledige beschrijving",
    uitleg:
      "De formule \"aan de koper goed (wel)bekend\" vervangt geen behoorlijke beschrijving. De kantoorpraktijk vereist de volledige kadastrale beschrijving (gemeente, afdeling, sectie, perceelnummer, oppervlakte) volgens de verplichte modelclausule 'beschrijving onroerend goed'.",
    signalen: [["welbekend"], ["goed gekend door de koper"]],
    vervanging:
      "[AAN TE VULLEN: volledige beschrijving van het onroerend goed volgens de kantoorclausule 'beschrijving onroerend goed': gemeente, afdeling, sectie, perceelnummer, gereserveerd perceelnummer, oppervlakte en aard van het goed].",
    agentwenken:
      "Gebruik de verplichte modelclausule beschrijving-onroerend-goed uit de kantoorbibliotheek; maak nooit een eigen, tweede beschrijvingsstructuur.",
  },
  {
    id: "compromis-strafbeding-eenzijdig",
    categorie: "beter",
    doel: "verdacht",
    akteTypes: COMPROMIS_TYPES,
    titel: "Eenzijdig of overdreven strafbeding",
    uitleg:
      "Een strafbeding dat enkel de koper sanctioneert of de gebruikelijke 10 % van de prijs overschrijdt, is onevenwichtig en door de rechter matigbaar. De kantoorpraktijk: wederkerig beding van 10 %, onverminderd het recht op uitvoering in natura.",
    signalen: [
      ["schadevergoeding", "15 %"],
      ["schadevergoeding", "20 %"],
      ["strafbeding", "koper"],
    ],
    vervanging:
      "Indien één van de partijen na ingebrekestelling in gebreke blijft haar verbintenissen na te komen, heeft de andere partij het recht ofwel de gedwongen uitvoering te vorderen, ofwel de ontbinding van de verkoop, met betaling door de in gebreke blijvende partij van een forfaitaire schadevergoeding van tien procent (10 %) van de prijs.",
    wetsbasis: ["art. 5.88 Burgerlijk Wetboek (matiging van schadebedingen)"],
  },

  // ══ Verkoopakte — aktespecifieke punten ════════════════════════════════════
  {
    id: "akte-kwijting-prijs",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOPAKTE_TYPES,
    titel: "Betaling via de notaris en kwijting",
    uitleg:
      "De akte moet vaststellen dat de prijs is betaald via de financiële rekening(en) vereist door de witwaswetgeving en dat de verkoper er kwijting van verleent, met vermelding van de gebruikte rekeningen.",
    signalen: [["kwijting"]],
    voorstel:
      "De koper heeft de prijs betaald door overschrijving vanaf rekening [AAN TE VULLEN: IBAN koper] op de derdenrekening van de instrumenterende notaris, die het saldo heeft doorgestort aan de verkoper op rekening [AAN TE VULLEN: IBAN verkoper]. De verkoper verleent hiervan volledige en definitieve KWIJTING.",
    wetsbasis: ["art. 66 Wet van 18 september 2017 (verbod op contante betaling)"],
  },
  {
    id: "akte-ambtshalve-inschrijving",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VERKOOPAKTE_TYPES,
    titel: "Ontslag van ambtshalve inschrijving",
    uitleg:
      "Wanneer de prijs volledig betaald is, hoort de akte het bevoegde kantoor uitdrukkelijk te ontslaan van het nemen van een ambtshalve inschrijving; anders blijft een nutteloze inschrijving het goed bezwaren.",
    signalen: [["ambtshalve inschrijving"], ["ontslag van ambtshalve"]],
    voorstel:
      "De partijen ontslaan het kantoor Rechtszekerheid uitdrukkelijk van het nemen van enige ambtshalve inschrijving bij de overschrijving van deze akte, om welke reden ook.",
    wetsbasis: ["art. 35 Hypotheekwet"],
  },

  // ══ Onderhandse volmacht ═══════════════════════════════════════════════════
  {
    id: "volmacht-authentiek-vereist",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: VOLMACHT_TYPES,
    titel: "Onderhandse volmacht voor een hypotheekvestiging",
    uitleg:
      "Een volmacht om een hypotheek te vestigen of een kredietakte te tekenen moet zelf authentiek zijn (evenredigheid van vormen). Een onderhandse volmacht volstaat daarvoor niet en wordt door het hypotheekkantoor geweigerd.",
    signalen: [["hypotheek"], ["kredietakte"], ["hypothecaire volmacht"]],
    vervanging:
      "[NAKIJKEN: voor het vestigen van een hypotheek of het verlijden van een kredietakte is een AUTHENTIEKE volmacht vereist — dit onderdeel uit de onderhandse volmacht lichten en in een notariële volmacht opnemen.]",
    wetsbasis: ["art. 76 Hypotheekwet", "vaste praktijk kantoor Rechtszekerheid"],
  },
  {
    id: "volmacht-omvang-bevoegdheden",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: VOLMACHT_TYPES,
    titel: "Nauwkeurige omschrijving van rechtshandeling en goed",
    uitleg:
      "Een volmacht om te beschikken (verkopen, hypothekeren, schenken) moet uitdrukkelijk en bijzonder zijn: de rechtshandeling én het goed moeten nauwkeurig omschreven zijn. Een algemene bewoording dekt enkel daden van beheer.",
    signalen: [["om te verkopen"], ["bijzondere volmacht"], ["kadastra"]],
    voorstel:
      "De lastgever geeft bijzondere volmacht aan de lasthebber om in zijn naam en voor zijn rekening [AAN TE VULLEN: exacte rechtshandeling] te stellen met betrekking tot het volgende goed: [AAN TE VULLEN: volledige beschrijving met kadastrale gegevens], tegen de prijs en onder de voorwaarden die de lasthebber goeddunken doch met een minimumprijs van [AAN TE VULLEN: bedrag] euro.",
    wetsbasis: ["art. 1988 oud Burgerlijk Wetboek (uitdrukkelijke volmacht voor daden van beschikking)"],
  },
  {
    id: "volmacht-duur-herroeping",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: VOLMACHT_TYPES,
    titel: "Duur, einde en herroepbaarheid",
    uitleg:
      "De volmacht hoort haar geldigheidsduur en de wijze van herroeping te regelen; een volmacht zonder einddatum blijft anders jaren rondslingeren en kan tot misbruik leiden.",
    signalen: [["herroep"], ["geldig tot"], ["vervalt"]],
    voorstel:
      "Deze volmacht is geldig tot [AAN TE VULLEN: datum] en vervalt van rechtswege na het verlijden van de akte waarvoor zij is verleend. De lastgever kan haar te allen tijde herroepen bij aangetekende brief aan de lasthebber.",
  },
  {
    id: "volmacht-substitutie",
    categorie: "beter",
    doel: "vereist",
    akteTypes: VOLMACHT_TYPES,
    titel: "Substitutierecht uitdrukkelijk regelen",
    uitleg:
      "Regel uitdrukkelijk of de lasthebber zich mag laten vervangen (indeplaatsstelling), bijvoorbeeld door een medewerker van het notariskantoor — dat voorkomt discussie op de dag van de akte.",
    signalen: [["indeplaatsstelling"], ["substitutie"], ["zich laten vervangen"]],
    voorstel:
      "De lasthebber mag zich voor de uitvoering van deze volmacht laten vervangen door elke medewerker van het kantoor van de instrumenterende notaris, met recht van indeplaatsstelling.",
  },

  // ══ Bankgift / pacte adjoint (schenking roerend goed) ══════════════════════
  {
    id: "bankgift-schenkt-hierbij",
    categorie: "te-vermijden",
    doel: "verdacht",
    akteTypes: ["schenkingsakte-roerend-goed"],
    titel: "Onderhands document dat zelf \"schenkt\"",
    uitleg:
      "Een onderhands document dat de schenking zélf verricht (\"schenkt hierbij\") is nietig wegens vormgebrek: een schenking vereist een notariële akte. Bij een bankgift moet de overschrijving eerst gebeuren en mag het document (pacte adjoint) de reeds voltrokken gift enkel BEVESTIGEN en moduleren.",
    signalen: [["schenkt hierbij"], ["verklaart te schenken"], ["schenkt bij deze"]],
    vervanging:
      "De partijen BEVESTIGEN dat op [AAN TE VULLEN: datum] een bankgift werd verricht door overschrijving van [AAN TE VULLEN: bedrag] euro van rekening [AAN TE VULLEN: IBAN schenker] op rekening [AAN TE VULLEN: IBAN begiftigde], gift die de begiftigde alsdan heeft aanvaard. Dit document strekt uitsluitend tot bewijs en modalisering van die reeds voltrokken gift.",
    wetsbasis: ["art. 4.160 Burgerlijk Wetboek (notariële vorm van de schenking)"],
  },
  {
    id: "bankgift-datum-overschrijving",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: ["schenkingsakte-roerend-goed"],
    titel: "Datum en gegevens van de voorafgaande overschrijving",
    uitleg:
      "Het bewijsdocument moet de reeds uitgevoerde overschrijving identificeren (datum, bedrag, rekeningen): zonder die verankering bewijst het document niets en begint de fiscale risicotermijn niet aantoonbaar te lopen.",
    signalen: [["overschrijving"], ["bankgift"]],
    voorstel:
      "De bankgift werd uitgevoerd op [AAN TE VULLEN: datum] door overschrijving van [AAN TE VULLEN: bedrag] euro van rekening [AAN TE VULLEN: IBAN schenker] naar rekening [AAN TE VULLEN: IBAN begiftigde], met als mededeling [AAN TE VULLEN: mededeling]. Het rekeninguittreksel wordt als bijlage aan dit document gehecht.",
  },
  {
    id: "bankgift-fiscale-keuze",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: ["schenkingsakte-roerend-goed"],
    titel: "Fiscale keuze: registreren of risicotermijn dragen",
    uitleg:
      "Partijen horen bewust te kiezen: het document ter registratie aanbieden (vlakke schenkbelasting, definitieve zekerheid) of niet registreren en de risicotermijn dragen (erfbelasting indien de schenker binnen die termijn overlijdt — in het Vlaamse Gewest vijf jaar voor giften vanaf 1 januari 2025).",
    signalen: [["schenkbelasting"], ["risicotermijn"], ["erfbelasting"], ["registratie"]],
    voorstel:
      "De partijen verklaren geïnformeerd te zijn over de fiscale gevolgen: wordt dit document niet ter registratie aangeboden, dan is erfbelasting verschuldigd indien de schenker overlijdt binnen de wettelijke risicotermijn ([AAN TE VULLEN: drie/vijf] jaar naargelang gewest en datum van de gift). De partijen kiezen ervoor het document [AAN TE VULLEN: wel/niet] ter registratie aan te bieden.",
    wetsbasis: ["art. 2.7.1.0.5 Vlaamse Codex Fiscaliteit (risicotermijn — vijf jaar sinds 1 januari 2025)"],
  },
  {
    id: "bankgift-modaliteiten",
    categorie: "beter",
    doel: "vereist",
    akteTypes: ["schenkingsakte-roerend-goed"],
    titel: "Modaliteiten: uitsluitingsclausule en terugkeer",
    uitleg:
      "Een pacte adjoint zonder modaliteiten laat bescherming liggen: de uitsluitingsclausule (het geschonkene blijft eigen vermogen van de begiftigde) en het beding van conventionele terugkeer (bij vooroverlijden van de begiftigde keert de gift belastingvrij terug) zijn kantoorstandaard.",
    signalen: [["uitsluitingsclausule"], ["conventionele terugkeer"], ["eigen vermogen"]],
    voorstel:
      "De gift wordt gedaan onder de last en voorwaarden: (1) UITSLUITINGSCLAUSULE: het geschonkene en de wederbelegging ervan blijven eigen vermogen van de begiftigde en mogen niet worden ingebracht in enige huwelijksgemeenschap of onverdeeldheid met een partner; (2) CONVENTIONELE TERUGKEER: bij vooroverlijden van de begiftigde vóór de schenker keert het geschonkene terug naar de schenker, overeenkomstig artikel 4.155 van het Burgerlijk Wetboek.",
    wetsbasis: ["art. 4.155 Burgerlijk Wetboek (conventionele terugkeer)"],
  },

  // ══ Zorgvolmacht (buitengerechtelijke lastgeving) ══════════════════════════
  {
    id: "zorgvolmacht-registratie-crc",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: ["zorgvolmacht"],
    titel: "Registratie in het Centraal Register van Lastgevingen",
    uitleg:
      "Een lastgeving die bestemd is om uitwerking te krijgen bij wilsonbekwaamheid van de lastgever, moet worden geregistreerd in het CRL (Centraal Register van lastgevingsovereenkomsten) om haar buitengerechtelijke bescherming te laten spelen. Zonder registratie blijft het een gewone volmacht die eindigt bij onbekwaamheid.",
    signalen: [["centraal register"], ["crl"], ["buitengerechtelijke bescherming"], ["geregistreerd"]],
    voorstel:
      "Deze lastgeving is een buitengerechtelijke beschermingsmaatregel in de zin van artikel 490 van het oud Burgerlijk Wetboek en zal worden geregistreerd in het Centraal Register van lastgevingsovereenkomsten, zodat zij uitwerking behoudt van zodra de lastgever zijn wilsbekwaamheid geheel of gedeeltelijk verliest.",
    wetsbasis: ["art. 489-490/2 oud Burgerlijk Wetboek", "Wet van 21 december 2018 (CRL)"],
  },
  {
    id: "zorgvolmacht-voortduring-onbekwaamheid",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: ["zorgvolmacht"],
    titel: "Uitdrukkelijke voortduring bij wilsonbekwaamheid",
    uitleg:
      "Het hele nut van een zorgvolmacht staat of valt met het beding dat zij blijft gelden — of net pas begint te gelden — wanneer de lastgever wilsonbekwaam wordt. Ontbreekt dat, dan valt de volmacht terug op het gemeen recht en dooft ze net op het cruciale moment uit (art. 2003 oud BW).",
    signalen: [["wilsonbekwaam"], ["onbekwaamheid"], ["blijft gelden"], ["feitelijke onbekwaamheid"]],
    voorstel:
      "De partijen bedingen uitdrukkelijk dat deze lastgeving blijft voortduren en al haar gevolgen behoudt niettegenstaande de latere wilsonbekwaamheid van de lastgever, in afwijking van artikel 2003 van het oud Burgerlijk Wetboek.",
    wetsbasis: ["art. 490 en 2003 oud Burgerlijk Wetboek"],
  },
  {
    id: "zorgvolmacht-omvang-persoon-goederen",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: ["zorgvolmacht"],
    titel: "Onderscheid tussen bescherming van de goederen en van de persoon",
    uitleg:
      "Een volwaardige zorgvolmacht regelt niet alleen het vermogen (rekeningen, vastgoed, beleggingen) maar ook de persoon (verblijf, zorgkeuzes, medische wensen). De omvang van elke bevoegdheid hoort nauwkeurig te worden opgesomd; een blanco 'algemene volmacht' volstaat niet voor daden van beschikking.",
    signalen: [["bescherming van de persoon"], ["persoonlijke aangelegenheden"], ["verblijf"], ["medische"]],
    voorstel:
      "De lastgeving strekt zich uit tot (1) het beheer en de beschikking over de goederen van de lastgever [AAN TE VULLEN: preciseren — o.m. het verkopen of hypothekeren van onroerend goed, dat een bijzondere en uitdrukkelijke machtiging vereist] en (2) de aangelegenheden met betrekking tot de persoon van de lastgever [AAN TE VULLEN: verblijfplaats, zorg- en woonkeuzes, uitoefening van patiëntenrechten].",
    wetsbasis: ["art. 490/1 oud Burgerlijk Wetboek"],
  },

  // ══ Samenlevingsovereenkomst (wettelijke samenwoning) ══════════════════════
  {
    id: "samenwoning-notariele-vorm",
    categorie: "essentieel",
    doel: "vereist",
    akteTypes: ["samenlevingsovereenkomst"],
    titel: "Notariële vorm van de samenlevingsovereenkomst",
    uitleg:
      "Een overeenkomst die de wettelijke samenwoning regelt, moet bij notariële akte worden opgemaakt en wordt vermeld in het bevolkingsregister. Een louter onderhandse regeling van de vermogensrechtelijke gevolgen van de samenwoning mist die vorm en dus haar tegenwerpelijkheid.",
    signalen: [["notariële akte"], ["bevolkingsregister"], ["wettelijke samenwoning"]],
    voorstel:
      "Deze samenlevingsovereenkomst wordt overeenkomstig artikel 1478 van het oud Burgerlijk Wetboek bij notariële akte vastgesteld en zal worden vermeld in het bevolkingsregister.",
    wetsbasis: ["art. 1478 oud Burgerlijk Wetboek"],
  },
  {
    id: "samenwoning-vereffening-einde",
    categorie: "belangrijk",
    doel: "vereist",
    akteTypes: ["samenlevingsovereenkomst"],
    titel: "Regeling bij beëindiging van de samenwoning",
    uitleg:
      "De overeenkomst hoort te regelen wat er bij het einde van de samenwoning gebeurt: verdeling van de gezamenlijke goederen, lot van de gezinswoning, vergoedingen voor ongelijke bijdragen. Zonder die regeling ontstaat na de breuk telkens dezelfde onverdeeldheidsdiscussie.",
    signalen: [["beëindiging", "samenwoning"], ["einde van de samenwoning"], ["verdeling", "onverdeeld"]],
    voorstel:
      "Bij beëindiging van de wettelijke samenwoning, om welke reden ook, worden de gezamenlijke goederen verdeeld als volgt: [AAN TE VULLEN]. Elke partij behoudt haar eigen goederen; vergoedingen wegens ongelijke bijdragen tot de gemeenschappelijke lasten worden geregeld overeenkomstig [AAN TE VULLEN].",
  },
];

/** Slaat dit controlepunt op het opgegeven akteType? (de "alle"-punten gelden altijd). */
export function puntGeldtVoor(punt: Controlepunt, akteType: string): boolean {
  return punt.akteTypes === "alle" || (punt.akteTypes as readonly string[]).includes(akteType);
}

/**
 * Alle controlepunten die op dit akteType slaan (inclusief de "alle"-punten).
 * Standaard uit de seed-bibliotheek; geef `punten` mee (bv. seed + gevalideerde
 * kantooraanpassingen) om de effectieve kennisbank te toetsen.
 */
export function relevanteControlepunten(
  akteType: string,
  punten: readonly Controlepunt[] = KENNISBANK_CONTROLEPUNTEN
): Controlepunt[] {
  return punten.filter((punt) => puntGeldtVoor(punt, akteType));
}

/** AkteTypes waarvoor de kennisbank punten bevat (standaard de seed). */
export function akteTypesMetKennisbank(
  punten: readonly Controlepunt[] = KENNISBANK_CONTROLEPUNTEN
): string[] {
  const types = new Set<string>();
  for (const punt of punten) {
    if (punt.akteTypes === "alle") continue;
    for (const t of punt.akteTypes) types.add(t);
  }
  return [...types].sort();
}
