MAGDA Kadaster

Inleiding

Kadastrale gegevens ophalen bij de Algemene Administratie voor Patrimoniumdocumentatie (AAPD).

Use cases

  • Nagaan welke eigendommen een aanvrager (of een onderneming) bezit, bijvoorbeeld ter controle van een vermogens- of eigendomsvoorwaarde bij een premie of tegemoetkoming.

  • Valideren of een aanvrager al dan niet eigenaar is van een onroerend goed op een bepaald moment of over een bepaalde periode (bv. voor een sociale woonlening of een verhoogde tegemoetkoming).

  • Nagaan of er mede-eigenaars betrokken zijn bij een eigendom, relevant bij aanvragen waarbij alle eigenaars moeten instemmen of mee aansprakelijk zijn.

  • Raadplegen van fiscale eigendomsinformatie ter voorbereiding van een inkomens- of vermogenstoets.

  • Opvragen van bijkomende gebouwgebonden informatie uit het gebouwenregister bij een eigendom, bijvoorbeeld voor een renovatie- of energiegerelateerde premie.

Setup

Idem als bij alle MAGDA-connectoren. Zie MAGDA algemene setup.

Specifieke applicatie eigenschappen

Eigenschap

Default

Beschrijving

skryv.connectors.magda.poc.taal

nl

Taal voor POC requests

Services en functies

Overzicht

Functie

Retourtype

Info

zoekEigendomstoestanden

ZoekEigendomstoestandenResponse

Eigendommen van een persoon

zoekEigendomstoestandenOndernemingen

ZoekEigendomstoestandenResponse

Eigendommen van een onderneming

Elke functie hieronder is, naast de workflow expressie, ook rechtstreeks aanroepbaar vanuit Java-code door MagdaCamundaConnector (bean magda) te injecteren in je klasse. Zie MAGDA gebruik voor een volledig voorbeeld met dependency injection. De "Java-code"-snippets per functie tonen enkel de effectieve aanroep zelf.

zoekEigendomstoestanden

Zoek info over eigendommen voor een persoon. Er zijn vijf verschillende signaturen.

Workflow expressie 1

${magda.zoekEigendomstoestanden_(String identifier, String date, String hoedanigheid, String uri, String dossierId)}

Zoek de eigendomstoestand van een persoon op één specifiek referentiemoment, met expliciete opgave van de aansluitingsgegevens.

Workflow expressie 2

${magda.zoekEigendomstoestanden(String identifier, String startDate, String endDate, String medeEigenaars, String dossierId)}

Zoek de eigendomstoestanden van een persoon binnen een referteperiode, met de standaard aansluitingsconfiguratie.

Workflow expressie 3

${magda.zoekEigendomstoestanden(String identifier, String startDate, String endDate, String medeEigenaars, String typeZoekOpdracht, String dossierId)}

Zoek de eigendomstoestanden van een persoon binnen een referteperiode, waarbij je zelf kiest of de opzoeking fiscaal of juridisch geldig moet zijn.

Workflow expressie 4

${magda.zoekEigendomstoestanden(String identifier, String startDate, String endDate, String medeEigenaars, String hoedanigheid, String uri, String dossierId)}

Zoek de eigendomstoestanden van een persoon binnen een referteperiode, met expliciete opgave van de aansluitingsgegevens.

Workflow expressie 5

${magda.zoekEigendomstoestanden(String identifier, String startDate, String endDate, String medeEigenaars, String hoedanigheid, String uri, String dossierId, String gebouwenregister)}

Zoek de eigendomstoestanden van een persoon binnen een referteperiode, met expliciete aansluitingsgegevens en optioneel bijkomende informatie uit het gebouwenregister (momenteel nog niet functioneel).

Java-code

Variant 1

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden_(identifier, date, hoedanigheid, uri, dossierId);

Variant 2

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden(identifier, startDate, endDate, medeEigenaars, dossierId);

Variant 3

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden(identifier, startDate, endDate, medeEigenaars, typeZoekOpdracht, dossierId);

Variant 4

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden(identifier, startDate, endDate, medeEigenaars, hoedanigheid, uri, dossierId);

Variant 5
ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden(identifier, startDate, endDate, medeEigenaars, hoedanigheid, uri, dossierId, gebouwenregister);

Input

Belangrijk: enkel bij variant 3 kan je typeZoekOpdracht effectief instellen — en dan enkel als je zelf expliciet 'F' doorgeeft (bij null valt de connector terug op 'J'). Bij alle andere signaturen (1, 4, 5, en beide Ondernemingen-varianten) ligt dit intern vast op 'J' (Juridisch), ongeacht wat je zou verwachten. Dat kan historische informatie opleveren waarbij de koppeling met VLABEL-gegevens niet mogelijk is. Gebruik Workflow expressie 3 met expliciete 'F' als je zeker wil zijn van fiscale info.

Inputparameters

Data type

Voorbeeld

Uitleg

identifier

String

'85010212345’

Rijksregisternummer

date

String (date format: YYYY-MM-DD)

'2025-07-31'

Refertedatum

startDate

String (date format: YYYY-MM-DD)

'2025-01-31'

Startdatum referteperiode

endDate

String (date format: YYYY-MM-DD)

‘2025-07-31’

Einddatum referteperiode

medeEigenaars

String

‘0' of '1’

'1' betekent dat eventuele mede-eigenaars opgenomen worden in het antwoord.

typeZoekOpdracht

String

'F'

Gebruik steeds 'F', dit retourneert fiscale info.

hoedanigheid

String

‘12345’

IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

gebouwenregister

String

‘0' of '1’

'1' betekent dat extra info uit het gebouwenregister opgenomen wordt in het antwoord.

Magda-documentatie

Technische documentatie voor ZoekEigendomstoestanden-02.00.

Output

Je krijgt een object ZoekEigendomstoestandenResponse terug met info over eigendommen voor de opgegeven persoon.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoord>
    <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
    <Inhoud>

        <!-- Personen -->
        <Personen>
            <Persoon>
                <PartijId>AAPD-PART-00184629</PartijId>
                <INSZ Bron="RR">850102XXX45</INSZ>
                <Naam DatumBegin="1985-01-02">
                    <Achternamen>
                        <Achternaam>Peeters</Achternaam>
                    </Achternamen>
                    <Voornamen>
                        <Voornaam>Anna</Voornaam>
                    </Voornamen>
                </Naam>
                <Geboortedatum>02-01-1985</Geboortedatum>
                <Gemeente>
                    <NISCode>44021</NISCode>
                    <PostCode>9000</PostCode>
                </Gemeente>
                <Land>
                    <ISOCode>BEL</ISOCode>
                </Land>
                <Adres>
                    <Huisnummer>12</Huisnummer>
                    <Busnummer>3</Busnummer>
                    <NISCodeGemeente>44021</NISCodeGemeente>
                    <NietGestandaardiseerdeStraatnaam>
                        <String>Kerkstraat</String>
                    </NietGestandaardiseerdeStraatnaam>
                    <NietGestandaardiseerdeGemeentenaam>
                        <String>Gent</String>
                    </NietGestandaardiseerdeGemeentenaam>
                    <Land>
                        <String>BELGIE</String>
                    </Land>
                    <Postcode>9000</Postcode>
                </Adres>
            </Persoon>
            <!-- Eventuele mede-eigenaar, enkel aanwezig indien MedeEigenaars=1 -->
            <Persoon>
                <PartijId>AAPD-PART-00184630</PartijId>
                <INSZ Bron="RR">870505XXX12</INSZ>
                <Naam DatumBegin="1987-05-05">
                    <Achternamen>
                        <Achternaam>Janssens</Achternaam>
                    </Achternamen>
                    <Voornamen>
                        <Voornaam>Tom</Voornaam>
                    </Voornamen>
                </Naam>
                <Geboortedatum>05-05-1987</Geboortedatum>
            </Persoon>
        </Personen>

        <!-- Eigendomstoestanden: structuur ter illustratie, exacte veldnamen nog te verifiëren via de XSD of het dev team -->
        <Eigendomstoestanden>
            <Eigendomstoestand>
                <KadastraleLegger>
                    <KadastraleAfdeling>44021</KadastraleAfdeling>
                    <Sectie>B</Sectie>
                    <Grondnummer>0142</Grondnummer>
                </KadastraleLegger>
                <KadastraalInkomen>780</KadastraalInkomen>
                <Aard>
                    <Code>H</Code>
                    <Omschrijving>Huis</Omschrijving>
                </Aard>
                <EigenaarsRechten>
                    <EigenaarsRecht>
                        <PartijId>AAPD-PART-00184629</PartijId>
                        <ZakelijkRecht>
                            <Code>VE</Code>
                            <Omschrijving>Volle eigendom</Omschrijving>
                        </ZakelijkRecht>
                        <Aandeel>1/2</Aandeel>
                    </EigenaarsRecht>
                    <EigenaarsRecht>
                        <PartijId>AAPD-PART-00184630</PartijId>
                        <ZakelijkRecht>
                            <Code>VE</Code>
                            <Omschrijving>Volle eigendom</Omschrijving>
                        </ZakelijkRecht>
                        <Aandeel>1/2</Aandeel>
                    </EigenaarsRecht>
                </EigenaarsRechten>
                <!-- Enkel aanwezig indien Gebouwenregister=1 in de vraag; momenteel niet functioneel volgens de MAGDA-documentatie -->
                <GebouwInfo>
                    <AdresId>3000123456</AdresId>
                    <GebouweenheidId>3010987654</GebouweenheidId>
                </GebouwInfo>
            </Eigendomstoestand>
        </Eigendomstoestanden>

    </Inhoud>
</Antwoord>

Error-handling

Specifieke foutcodes:

Code

Type

Toelichting

30001

FOUT

Geen gegevens gevonden voor de vraag

20002

FOUT

INSZ (rijksregisternummer) in de vraag heeft een ongeldige structuur

12005

FOUT

Geen hoedanigheid opgegeven

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestanden_(identifier, date, hoedanigheid, uri, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30001".equals(code)) {
        throw new BpmnError("MAGDA_EIGENDOM_NIET_GEVONDEN", uitzondering.getDiagnose());
    }
    if ("20002".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
    }
    if ("12005".equals(code)) {
        throw new BpmnError("MAGDA_GEEN_HOEDANIGHEID", uitzondering.getDiagnose());
    }
}

zoekEigendomstoestandenOndernemingen

Zoek info over eigendommen voor een onderneming. Er zijn twee signaturen.

Workflow expressie 1

${magda.zoekEigendomstoestandenOndernemingen(String identifierOnderneming, String startDate, String endDate, String medeEigenaars, String hoedanigheid, String uri, String dossierId)}

Zoek de eigendomstoestanden van een onderneming binnen een referteperiode, met expliciete opgave van de aansluitingsgegevens.

Workflow expressie 2

${magda.zoekEigendomstoestandenOndernemingen(String identifierOnderneming, String startDate, String endDate, String medeEigenaars, String hoedanigheid, String uri, String dossierId, String gebouwenregister)}

Zoek de eigendomstoestanden van een onderneming binnen een referteperiode, met expliciete aansluitingsgegevens en optioneel bijkomende informatie uit het gebouwenregister (momenteel nog niet functioneel).

Java-code 1

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestandenOndernemingen(identifierOnderneming, startDate, endDate, medeEigenaars, hoedanigheid, uri, dossierId);

Java-code 2

ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestandenOndernemingen(identifierOnderneming, startDate, endDate, medeEigenaars, hoedanigheid, uri, dossierId, gebouwenregister);

Input

Belangrijk: deze functie laat je niet toe om typeZoekOpdracht te kiezen — de connector zet dit intern altijd op 'J' (Juridisch), wat historische informatie kan opleveren zonder koppeling naar VLABEL-gegevens.

Inputparameters

Data type

Voorbeeld

Uitleg

identifierOnderneming

String

‘BE0123456789’

KBO-nummer

startDate

String (date format: YYYY-MM-DD)

'2025-01-01'

Startdatum referteperiode

endDate

String (date format: YYYY-MM-DD)

‘2025-07-31’

Einddatum referteperiode

medeEigenaars

String

‘0' of '1’

'1' betekent dat eventuele mede-eigenaars opgenomen worden in het antwoord.

hoedanigheid

String

‘12345’


IDPC-code, uniek aansluitingsnummer bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

uri

String

'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie'

Aansluiting bij Magda (deze info verkrijg je tijdens het onboardingproces bij Magda)

dossierId

String (GUID)

'550e8400-e29b-41d4-a716-446655440000'

Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call)

gebouwenregister

String

‘0' of '1’

'1' betekent dat extra info uit het gebouwenregister opgenomen wordt in het antwoord.

Magda-documentatie

Technische documentatie voor ZoekEigendomstoestanden-02.00.

Output

Je krijgt een object ZoekEigendomstoestandenResponse terug met info over eigendommen voor de opgegeven onderneming.

Gepseudonimiseerd voorbeeld:

HTML
<Antwoord>
    <Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
    <Inhoud>

        <!-- Ondernemingen: bevestigd via de officiële XSD-documentatie -->
        <!-- Opgelet: het Adres-blok wordt volgens de MAGDA-documentatie nooit gevuld voor ondernemingen -->
        <Ondernemingen>
            <Onderneming>
                <PartijId>AAPD-PART-00291847</PartijId>
                <Ondernemingsnummer ExternIdBron="KBO">0123456789</Ondernemingsnummer>
                <Naam>Voorbeeld Bouwonderneming NV</Naam>
            </Onderneming>
            <!-- Eventuele mede-eigenaar, enkel aanwezig indien MedeEigenaars=1 -->
            <Onderneming>
                <PartijId>AAPD-PART-00291848</PartijId>
                <Ondernemingsnummer ExternIdBron="KBO">0987654321</Ondernemingsnummer>
                <Naam>Voorbeeld Vastgoed BV</Naam>
            </Onderneming>
        </Ondernemingen>

        <!-- Eigendomstoestanden: structuur ter illustratie, exacte veldnamen nog te verifiëren via de XSD of het dev team -->
        <Eigendomstoestanden>
            <Eigendomstoestand>
                <KadastraleLegger>
                    <KadastraleAfdeling>44021</KadastraleAfdeling>
                    <Sectie>C</Sectie>
                    <Grondnummer>0087</Grondnummer>
                </KadastraleLegger>
                <KadastraalInkomen>3400</KadastraalInkomen>
                <Aard>
                    <Code>N</Code>
                    <Omschrijving>Nijverheidsgebouw</Omschrijving>
                </Aard>
                <EigenaarsRechten>
                    <EigenaarsRecht>
                        <PartijId>AAPD-PART-00291847</PartijId>
                        <ZakelijkRecht>
                            <Code>VE</Code>
                            <Omschrijving>Volle eigendom</Omschrijving>
                        </ZakelijkRecht>
                        <Aandeel>1/2</Aandeel>
                    </EigenaarsRecht>
                    <EigenaarsRecht>
                        <PartijId>AAPD-PART-00291848</PartijId>
                        <ZakelijkRecht>
                            <Code>VE</Code>
                            <Omschrijving>Volle eigendom</Omschrijving>
                        </ZakelijkRecht>
                        <Aandeel>1/2</Aandeel>
                    </EigenaarsRecht>
                </EigenaarsRechten>
                <!-- Enkel aanwezig indien Gebouwenregister=1 in de vraag; momenteel niet functioneel volgens de MAGDA-documentatie -->
                <GebouwInfo>
                    <AdresId>3000556677</AdresId>
                    <GebouweenheidId>3010223344</GebouweenheidId>
                </GebouwInfo>
            </Eigendomstoestand>
        </Eigendomstoestanden>

    </Inhoud>
</Antwoord>

Error-handling

Specifieke foutcodes:

Code

Type

Toelichting

30001

FOUT

Geen gegevens gevonden voor de vraag

20007

FOUT

Ondernemingsnummer in de vraag heeft een ongeldige structuur

45602

FOUT

Of gemeente NISCode of kadastrale afdeling moet ingevuld worden

12005

FOUT

Geen hoedanigheid opgegeven

Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.

Bij sommige errors wil je het proces niet laten vastlopen. In dat geval vorm je de technische error (foutcode) om naar een BPMN-error en vang je deze op via een error boundary event.

// Voorbeeld: uitzondering opvangen en gooien als BpmnError
ZoekEigendomstoestandenResponse response = magda.zoekEigendomstoestandenOndernemingen(
        identifierOnderneming, startDate, endDate, medeEigenaars, hoedanigheid, uri, dossierId);

List<UitzonderingType> uitzonderingen = response.getRepliek()
    .getAntwoorden().getAntwoord().getUitzonderingen().getUitzondering();

for (UitzonderingType uitzondering : uitzonderingen) {
    String code = uitzondering.getIdentificatie();
    if ("30001".equals(code)) {
        throw new BpmnError("MAGDA_EIGENDOM_NIET_GEVONDEN", uitzondering.getDiagnose());
    }
    if ("20007".equals(code)) {
        throw new BpmnError("MAGDA_ONGELDIG_ONDERNEMINGSNUMMER", uitzondering.getDiagnose());
    }
    if ("45602".equals(code)) {
        throw new BpmnError("MAGDA_GEMEENTE_OF_AFDELING_VEREIST", uitzondering.getDiagnose());
    }
    if ("12005".equals(code)) {
        throw new BpmnError("MAGDA_GEEN_HOEDANIGHEID", uitzondering.getDiagnose());
    }
}