Hoofdmodel Compact¶
Compacte projectie van het hoofdmodel, bedoeld voor presentaties en overzichts-slides. Subtypen, cardinaliteiten en edge-labels zijn weggelaten; alleen de klassen die de DVTP-databehoefte dragen blijven zichtbaar.
Per deelmodel staat de klasse waarmee de DVTP-pilot-rijen direct
mappen voorop: StudieLening (saldo, maandtermijn, aflostermijn)
voor DUO, Arbeidsverhouding plus LoonBestanddeel voor de
UWV-loonketen, Aftrekpost plus Verzamelinkomen voor de
Belastingdienst, KredietOvereenkomst plus AchterstandRegistratie
voor BKR, en Tenaamstelling plus ZakelijkRecht voor Kadaster.
Voor de volledige versie met subtypen en cardinaliteiten, zie hoofdmodel. Voor de details per deelmodel, zie de deelmodellen.
Diagram¶
Hoofdmodel¶
Het hoofdmodel is een brug-diagram: het toont uitsluitend objecttypen die deelmodel-grenzen overschrijden, plus de top-supertypen die binnen één deelmodel wonen maar als aanknopingspunt voor cross-domein-relaties dienen. Subtypen, attributen en codelijsten staan in het betreffende deelmodel.
Partij staat centraal: alle persoons- en organisatie-rollen erven
ervan, en de meeste brug-relaties hangen aan een variant van
Partij. De brug-klassen die als ingang voor de DVTP-databehoefte
dienen zijn opgenomen: Verbintenis (fiscale partner), LoonBestanddeel
(loonketen), Aftrekpost (Box 1-aftrekken), AchterstandRegistratie
(BKR-toets) en StudieLening (DUO-schuld).
Voor een sterk gereduceerde variant geschikt voor één presentatie-slide, zie hoofdmodel-compact.
Diagram¶
Brug-klassen per deelmodel¶
| Deelmodel | Brug-klassen op hoofdmodel-niveau | Detail in |
|---|---|---|
| Personen | NatuurlijkPersoon, Verbintenis |
Personen |
| Bedrijven en instellingen | NietNatuurlijkPersoon, Inschrijving, Vestiging |
Bedrijven en instellingen |
| Adressen en gebouwen | Adres, Binnenlandsadres, Postadres, AdresseerbaarObject, Verblijfsobject, Pand |
Adressen en gebouwen |
| Onroerende zaken | KadastraleOnroerendeZaak, Perceel, Appartementsrecht, ZakelijkRecht, Tenaamstelling, PubliekrechtelijkeBeperking |
Onroerende zaken |
| Waarde onroerende zaken | WOZObject, WOZWaarde |
Waarde onroerende zaken |
| Belastingen | Aangifte, Aanslag, Verzamelinkomen, EigenWoning, Aftrekpost, Toeslag, Inkomstenverhouding, LoonAangifte, LoonBestanddeel, Renseignering |
Belastingen |
| Krediet | KredietOvereenkomst, HypothecairKredietEigenWoning, AchterstandRegistratie |
Krediet |
| Onderwijs | OnderwijsInstelling, OpleidingDeelname, StudieLening |
Onderwijs |
| Werk en Inkomen | Uitkering, Arbeidsverhouding |
Werk en Inkomen |
Sleutelrelaties: toelichting¶
Partij als kern¶
Partij → Inschrijving (1..* → 0..*).
Een partij, natuurlijk persoon of niet-natuurlijke persoon, kan
ingeschreven zijn in het Handelsregister. Het patroon is symmetrisch
voor een eenmanszaak (NP-eigenaar), een holding (NNP-NNP), een VOF
(meerdere NP-vennoten) of een eenvoudige BV (één NNP-inschrijving).
De relatie hangt aan Partij zodat al deze vormen op één manier
modelleerbaar zijn.
Partij ↔ Tenaamstelling ↔ ZakelijkRecht ↔ KadastraleOnroerendeZaak.
Eigendom en andere zakelijke rechten worden via een aparte
Tenaamstelling aan een partij gekoppeld. Daardoor zijn meervoudige
tenaamstelling (echtparen, mede-eigendom) en historie zonder
duplicate-rij-modellering uit te drukken.
NatuurlijkPersoon ↔ Verbintenis (2 ↔ 0..*).
Huwelijk, geregistreerd partnerschap of samenlevingscontract verbinden
twee natuurlijke personen. Verbintenis is de aanknopingspoot voor
fiscaal partnerschap, vermogensregime en het afleiden van
gezinssamenstelling: dezelfde class draagt de DVTP-datapunten rond
burgerlijke staat (BRP rij 53), echtscheidingsdatum (rij 63) en
gezinssamenstelling (rij 66).
Adres en BAG¶
AdresseerbaarObject → Binnenlandsadres (1 → 1).
Elk adresseerbaar object (verblijfsobject, ligplaats, standplaats)
vormt precies één binnenlands adres. Postadres en buitenlandsadres
zijn zelfstandige adres-subtypen, niet aan een AdresseerbaarObject
gebonden.
Verblijfsobject → Pand (1..* ↔ 1..*).
Een verblijfsobject ligt in één of meer panden (sluis-VBO over twee
panden komt voor), en een pand kan meerdere VBOs bevatten, of leeg
zijn zonder VBO. Ligplaats en Standplaats hebben géén pand-relatie;
daarom loopt de pand-koppeling via het Verblijfsobject-subtype,
niet via het abstracte AdresseerbaarObject.
Pand ↔ Perceel (1..* ↔ 1..*).
Een BAG-pand kan over meerdere kadastrale percelen liggen, en een
perceel kan meerdere panden dragen. Geen 1-op-1-koppeling; bij
projectie altijd geometrische overlap.
Adressen van een NietNatuurlijkPersoon: direct via het
zetel-attribuut (statutaire vestigingsplaats, alleen plaatsnaam) en
indirect via z'n Vestiging-instanties:
Vestiging→Binnenlandsadres(1→0..1, bezoekadres): fysieke NL-locatie afgeleid van de BAG-keten.Vestiging→Postadres(1→0..1, postadres): correspondentieadres; vaak een postbus, soms identiek aan bezoekadres. Apart objecttype omdat HR/KVK postadres- en bezoekadres-historie los administreert.
Onroerend goed en WOZ¶
Appartementsrecht ↔ AdresseerbaarObject (0..1 ↔ 0..1).
Een appartementsrecht correspondeert typisch met één fysieke ruimte:
meestal een verblijfsobject (appartement), soms een standplaats
(garagebox). Niet elk AO is gesplitst als appartementsrecht, en niet
elk appartementsrecht heeft een corresponderende BAG-AO (gedeelde
ruimtes bij een Vereniging van Eigenaren).
WOZObject → AdresseerbaarObject(en) en Perceel(en).
De fiscale eenheid van een WOZ-object is een samenstelling, niet
identiek aan één pand of één perceel. Een kantoor met parkeerplaats
kan twee adresseerbare objecten omvatten; een agrarisch bedrijf
meerdere percelen.
Belastingen, Krediet en Wonen¶
KadastraleOnroerendeZaak ↔ EigenWoning ↔ HypothecairKredietEigenWoning.
Het eigenwoning-regime in Box 1 van de inkomstenbelasting hangt aan
precies één kadastrale onroerende zaak. Een hypothecair krediet voor
de eigen woning is op diezelfde KOZ gevestigd. Hypotheekrenteaftrek
in een IH-aangifte refereert via EigenWoning indirect aan de KOZ.
Inkomstenverhouding (NatuurlijkPersoon ↔ NietNatuurlijkPersoon).
Spil van de loonaangifteketen: per combinatie van werknemer en
inhoudingsplichtige werkgever. De inhoudelijke
loon- en periode-data hangt aan de Inkomstenverhouding zelf. De
Belastingdienst is wettelijk eigenaar; UWV en SGR voeren operationeel
uit, maar inhoudelijk hoort het in Belastingen.
Verzamelinkomen is het enige authentieke gegeven binnen de
Basisregistratie Inkomen (BRI). De waarde komt uit een definitief
vastgestelde IH-aangifte of, bij ontbreken, uit de loonaangifteketen.
Afnemers van inkomensgegevens in inkomensafhankelijke regelingen zijn
verplicht het BRI-inkomen te gebruiken.
Inkomstenverhouding → LoonBestanddeel (1 → 0..*).
Bruto periodesalaris, vakantiegeld, dertiende maand, structurele
toeslagen, provisie, bonus, overwerk, bijtelling auto van de zaak en
inhoudingen pensioen/AO zijn elk een afzonderlijk LoonBestanddeel
binnen de inkomstenopgaven van een Inkomstenverhouding. Hier landen
de UWV-rijen 1 t/m 19 van de DVTP-Excel; categorisering verloopt via
de Loonheffingen-bijlagen (zie Belastingen).
Aftrekpost is de abstracte poot voor alle Box 1-aftrekken die een
belastingplichtige in de IH-aangifte kan opvoeren: hypotheekrente-
aftrek, lijfrentepremies, partneralimentatie, giften. Concreet
subtype HypotheekrenteAftrek koppelt via EigenWoning aan de
KadastraleOnroerendeZaak; daardoor sluit dezelfde modellering aan
op de BD-rijen 28, 31, 36 en op de eigenwoning-keten.
Werk en Inkomen¶
Arbeidsverhouding → Inkomstenverhouding (1 → 0..*).
De materiële arbeidsverhouding tussen werknemer en werkgever wordt
operationeel zichtbaar via de Inkomstenverhouding-records in de
loonaangifteketen. Eén arbeidsverhouding kan meerdere
inkomstenverhoudingen tot uiting brengen (bijvoorbeeld bij wisseling
van loonadministratie of contract-restructuring).
Uitkering hangt aan een NatuurlijkPersoon als
toegekende. De concrete varianten WW, ZW, WIA (IVA, WGA), Wajong,
AOW staan in Werk en Inkomen; het
abstracte supertype InkomensOndersteuning vormt de cross-domein-
abstractie waaronder ook Toeslag valt.
Krediet¶
KredietOvereenkomst → AchterstandRegistratie (1 → 0..*).
Een achterstand op een kredietovereenkomst leidt tot een melding aan
het Centraal Krediet Informatiesysteem. De BKR-toets in een hypotheek-
aanvraag (DVTP-rij 15 BKR) gebruikt deze meldingen plus de
bijzonderheidscoderingen. HypothecairKredietEigenWoning koppelt
diezelfde overeenkomst aan de KadastraleOnroerendeZaak, zodat de
hypotheek vanuit twee perspectieven herkenbaar is: financieel
(Krediet) en zakelijk-rechtelijk (BRK).
Onderwijs¶
StudieLening → NatuurlijkPersoon (0..* → 1).
De studieschuld bij DUO hangt direct aan de (oud-)student. Saldo,
maandtermijn, aflostermijn totaal en aflostermijn restant zijn de
DVTP-DUO-rijen 43 t/m 46 en worden conform de TRHK meegenomen in de
woonlastentoets. StudieLening is een eigenstandige class naast
OpleidingDeelname: de schuld kan doorlopen nadat de opleiding is
afgerond.
OpleidingDeelname koppelt NatuurlijkPersoon (de
leerling/student) aan OnderwijsInstelling en Opleiding (laatste
binnen het deelmodel). OnderwijsInstelling is een subtype van
NietNatuurlijkPersoon met aanvullende BRIN- en RIO-gegevens, zodat
de instelling als rechtspersoon volledig in
Bedrijven en instellingen
blijft passen. DVTP-rij 42 (opleidingsniveau) verwijst naar
Opleiding via een afgesloten OpleidingDeelname.
Gedeelde bouwstenen¶
De typering van attribuutsoorten staat op één gedeelde pagina: Datatypes en codelijsten. Daar zijn beschreven:
- Simpele datatypes (MIM-primitieven
CharacterString,Integer,Real,Boolean,Date,DateTime,Year,Duration,URI) en hun Nederlandse aliassenTekst,Numeriek,Decimaal,Indicatie,Datum,DatumTijd,Jaar,Duur, inclusief lengte- en precisie-varianten (Tekst24,Numeriek9,Alfanumeriek10). - Identificerende datatypes (
BSN,KVKnummer,Vestigingsnummer,Kenteken,KadastraleAanduiding,BRINcode) — de natuurlijke zoeksleutels per register, met formaatconstraints. - Aanvullende datatypes (
DatumIncompleet,BAGID,NEN3610ID,UUID,Geometriemet subtypesPunt,Vlak,Lijn,Bedrag,Breuk,ObjectAanduiding,Codelijst~bron). - Stelselbrede codelijsten (BRP-LT 33 Gemeenten, CBS SBI, CBS Wijk- en Buurtcodering, ISO 3166, Kadaster Kadastrale Gemeenten, TOOI) met cross-walks (ISO 3166 ↔ BRP-LT 32 nationaliteit, ISO 3166 ↔ BRP-LT 34 landen, IND ↔ BRP-LT 56 verblijfstitel) en onderhoudsritme.
Deelmodel-specifieke codelijsten (BRP-LT op het personen-spoor, KVK-rechtsvormen, WOZ Gebruikscode, SBR-NT enumeraties, CKI-codes, Loonheffingen-bijlagen, BRIN/RIO-codes, BKWI-codes) staan op de bijbehorende deelmodel-pagina.
Patronen¶
Codelijst-strategie¶
GBO hanteert een hybride aanpak: internationale norm leidend voor semantiek waar die bestaat (ISO 3166, IND), BRP-Landelijke Tabel leidend voor uitwisseling met de BRP-keten. Zie Datatypes en codelijsten voor het volledige overzicht en de cross-walks.
Identifier-strategie¶
Per objecttype is afgesproken welk identificerend kenmerk autoritatief is; in de attribuut-tabellen van de deelmodellen staat dat attribuut vet. Het uitgangspunt is een herkenbare, authentieke registersleutel, niet een intern nummer:
- BSN voor
NatuurlijkPersoon, ook voor niet-ingeschreven personen (BRP-bron). - KVK-nummer voor
NietNatuurlijkPersoonen het hele cluster daaronder, inclusiefInschrijving; vestigingsnummer voorVestiging. - NEN3610-ID (BAG-id en BRK-id) voor BAG-objecten en BRK-objecten.
- Kadastrale aanduiding voor
PerceelenAppartementsrecht. - WOZ-objectnummer + verantwoordelijke gemeente voor
WOZObject(WOZ-objectnummer is alleen uniek binnen één gemeente). - Kenteken voor
Voertuig. - BRIN of instellingscode-RIO voor
OnderwijsInstelling; opleidingscode (CROHO/CREBO) voorOpleiding. Partijis een abstract supertype en draagt sinds v0.3 (besluit 2026-08-10) geen eigen identifier. Een partij is uitsluitend aanwijsbaar met de authentieke sleutels van haar subtypen:bsn(IngeschrevenPersoon),rsinenkvkNummer(NietNatuurlijkPersoon). Het eerdere GBO-eigen UUID-attribuut is verwijderd omdat het nergens uit te vragen viel en als dood veld in de bronschema's van BRK, BRV en WOZ terechtkwam. Een relatie naarPartijmag daarom niet tot een sleutel-referentie worden herleid: wijst een relatie naarPartij, dan hoortPartijmet de relevante subtypen in het bron-profiel te staan.- De overige GBO-eigen UUID's (
adresIdvan de niet-BAG-adresvormen,identificatievanOnderneming) blijven interne sleutels en worden niet als externe identifier gebruikt; hetadresIdvanBinnenlandsadresis de BAG-identificatie van de Nummeraanduiding en daarmee wel extern bruikbaar.
Voorkomen-mixin (bitemporaliteit)¶
Voorkomen is geen klasse maar een mixin van attributen die elk
basisregistratie-objecttype kan dragen. De mixin levert bitemporele
expressiviteit conform HC-BAG en BRP-Historie (twee tijdlijnen:
materiële geldigheid en formele registratie).
| Mixin-attribuut | Type | Cardinaliteit | Tijdlijn |
|---|---|---|---|
beginGeldigheid |
Datum | 1 | Materieel: start |
eindGeldigheid |
Datum | 0..1 | Materieel: einde (open = lopend) |
tijdstipRegistratie |
DatumTijd | 1 | Formeel: start |
eindRegistratie |
DatumTijd | 0..1 | Formeel: einde (open = actueel) |
versie |
Numeriek | 1 | Monotone teller |
Daarnaast vier datakwaliteits-flags die los van Voorkomen kunnen leven maar er vaak mee gepaard gaan:
| Flag | Type | Cardinaliteit | Toelichting |
|---|---|---|---|
geconstateerd |
Datum | 0..1 | Datum waarop officieel geconstateerd. |
inOnderzoek |
Indicatie | 1 | Markering dat de kwaliteit in onderzoek is. |
documentdatum |
Datum | 0..1 | Datum van het bron-document (akte). |
documentnummer |
Identificatie | 0..1 | Identificatie van het bron-document. |
Diagram-conventie¶
Diagrammen op deze site tonen geen attribuut-blokken in class-boxes; attributen, datatypes en codelijsten staan steeds in tekst onder het diagram, per objecttype. Die scheiding houdt de plaat scanbaar en de detailniveau-keuze expliciet. Rendering: PlantUML met ELK-layout.