Inleiding
Diensten gebruikt voor het ophalen van gegevens omtrent een onderneming of vestiging. Het gaat om gegevens uit het KBO, tewerkstellinggegevens en financiële gegevens.
Use cases
-
Automatisch de basisgegevens van een onderneming opvragen (activiteiten, rechtstoestand, vestigingen) bij de behandeling van een aanvraag of vergunning waarbij de aanvrager een rechtspersoon is.
-
Nagaan welke bestuurlijke functies een aanvrager (natuurlijke persoon) uitoefent binnen ondernemingen, bijvoorbeeld om belangenvermenging of onverenigbaarheden te detecteren.
-
Valideren of een onderneming actief is en welke vestigingen ze heeft, vóór het toekennen van een subsidie of premie aan een rechtspersoon.
-
Raadplegen van jaarrekeninggegevens van een onderneming ter voorbereiding van een financiële of vermogenstoets (bijvoorbeeld bij een aanvraag die rekening houdt met de financiële draagkracht van een bedrijf).
-
Historische vestigingsgegevens van een onderneming opvragen voor een bepaalde periode, bijvoorbeeld bij een audit of controle achteraf.
Setup
Idem als bij alle MAGDA-connectoren. Zie MAGDA algemene setup.
Specifieke applicatie eigenschappen
Geen.
Services en functies
Overzicht
|
Functie |
Retourtype |
Info |
|---|---|---|
|
|
Jaarrekeninggegevens van een onderneming voor een opgegeven boekjaar |
|
|
|
Bestuurlijke functies die een persoon (op basis van INSZ) uitoefent binnen ondernemingen |
|
|
|
Ondernemingsgegevens op basis van KBO-nummer, met de standaard aansluitingsconfiguratie |
|
|
|
Ondernemingsgegevens op basis van KBO-nummer, met expliciete opgave van de aansluitingsgegevens; optioneel met historische vestigingsgegevens over een periode |
|
|
|
Ondernemingsgegevens op basis van KBO-nummer, inclusief de bestuurlijke functies binnen die 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.
geefJaarrekeningen
Vraag gegevens op met betrekking tot de jaarrekeningen voor een onderneming.
Workflow expressie
${magda.geefJaarrekeningen(String identifier, String year, String hoedanigheid, String uri, String dossierId)}
Java-code
GeefJaarrekeningenResponse response = magda.geefJaarrekeningen(identifier, year, hoedanigheid, uri, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘BE0123456789’ |
KBO-nummer |
|
|
String |
'2025' |
Refertejaar |
|
|
String |
‘12345’ |
IDPC-code (deze info verkrijg je tijdens het onboardingproces bij Magda) |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
Deze info verkrijg je tijdens het onboardingproces bij Magda |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call) |
Magda-documentatie
Technische documentatie GeefJaarrekeningen-02.00.
Output
Je krijgt een getypeerd GeefJaarrekeningenResponse-object terug met de jaarrekening(en) van de opgegeven onderneming voor het opgegeven boekjaar. Opgelet: in tegenstelling tot de meeste andere MAGDA-diensten is de respons hier opgebouwd rond een Antwoorden-element (meervoud) met daarbinnen één Antwoord, in plaats van rechtstreeks een enkelvoudig Antwoord.
Elke jaarrekening bevat een Hoofding (met onder meer de authentieke bron, het boekjaar, het schema, de kwaliteit van de jaarrekening en — indien gekend — de NACE-code en paritaire comités) en een lijst van Elementen: de individuele rubrieken van de jaarrekening, elk met een rubriekcode, een bedrag- of aantalwaarde (uitgedrukt in eurocent, met een munteenheid enkel aanwezig bij monetaire rubrieken) en de bijhorende Benaming (omschrijving van de rubriek — deze wordt altijd meegegeven, aangezien onze connector dit steeds opvraagt).
Als er voor het opgegeven boekjaar geen jaarrekening gekend is bij MAGDA, maar wel een neerleggingsdatum, dan bevat het antwoord enkel die DatumLaatsteNeerlegging, zonder verdere jaarrekeninggegevens.
Gepseudonimiseerd (en ingekort) voorbeeld:
<Antwoorden>
<Antwoord>
<Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
<Inhoud>
<Jaarrekeningen>
<Jaarrekening>
<Ondernemingsnummer>0123456789</Ondernemingsnummer>
<DatumLaatsteNeerlegging>2024-06-15</DatumLaatsteNeerlegging>
<Hoofding>
<AuthentiekeBron>
<Code Beschrijving="Nationale Bank België">N</Code>
</AuthentiekeBron>
<Boekjaar>
<Jaar>2023</Jaar>
<Begin>2023-01-01</Begin>
<Einde>2023-12-31</Einde>
<AantalMaanden>12</AantalMaanden>
</Boekjaar>
<Schema>
<Code Beschrijving="Volledig schema - onderneming">02</Code>
</Schema>
<Kwaliteit>
<Code Beschrijving="Voldoet aan alle verplichte controles">P</Code>
</Kwaliteit>
<Nace>
<Code>62010</Code>
<Versie>2008</Versie>
</Nace>
<NationaleBank>
<Referte>
<Deel1>24123</Deel1>
<Deel2>45</Deel2>
</Referte>
<DatumAanmaakBestand>2024-06-16</DatumAanmaakBestand>
</NationaleBank>
<Munt>E</Munt>
<Datum>
<VersieTaxonomie>2023-04-01</VersieTaxonomie>
</Datum>
</Hoofding>
<Elementen>
<!-- Voorbeeld van een monetaire rubriek -->
<Element>
<Volume>
<Deel>2</Deel>
<Sectie>1</Sectie>
<Subsectie>0</Subsectie>
<Volgorde>2</Volgorde>
</Volume>
<AantalBedrag>
<Waarde>12500000</Waarde>
<Type>
<Code Beschrijving="Uit de oorspronkelijk neergelegde jaarrekening of uit een verbeterde neerlegging">1</Code>
</Type>
<Eenheid>EUR</Eenheid>
<DecimalenBetekenisvol>0</DecimalenBetekenisvol>
</AantalBedrag>
<Rubriek>20/28</Rubriek>
<Benaming>
<Waarde>Vaste activa</Waarde>
<Stijl>Heading2</Stijl>
</Benaming>
<Titel>
<Code Beschrijving="Bevat naast de titel ook een aantal of bedrag">0</Code>
</Titel>
<Kerngegeven>
<Code Beschrijving="Niet beschouwd als een kerngegeven vanuit VKBO traditie (default)">0</Code>
</Kerngegeven>
<EconomischGewicht>
<Code Beschrijving="Niet bepalend voor het economisch gewicht">0</Code>
</EconomischGewicht>
</Element>
<!-- Voorbeeld van een rubriek zonder munteenheid (aantal, geen bedrag) -->
<Element>
<Volume>
<Deel>6</Deel>
<Sectie>0</Sectie>
<Subsectie>0</Subsectie>
<Volgorde>143</Volgorde>
</Volume>
<AantalBedrag>
<Waarde>27</Waarde>
<Type>
<Code Beschrijving="Uit de oorspronkelijk neergelegde jaarrekening of uit een verbeterde neerlegging">1</Code>
</Type>
<DecimalenBetekenisvol>0</DecimalenBetekenisvol>
</AantalBedrag>
<Rubriek>5802</Rubriek>
<Benaming>
<Waarde>Aantal gevolgde opleidingsuren</Waarde>
<Stijl>Text1</Stijl>
</Benaming>
<Titel>
<Code Beschrijving="Bevat naast de titel ook een aantal of bedrag">0</Code>
</Titel>
<Kerngegeven>
<Code Beschrijving="Niet beschouwd als een kerngegeven vanuit VKBO traditie (default)">0</Code>
</Kerngegeven>
<EconomischGewicht>
<Code Beschrijving="Niet bepalend voor het economisch gewicht">0</Code>
</EconomischGewicht>
</Element>
</Elementen>
</Jaarrekening>
</Jaarrekeningen>
</Inhoud>
</Antwoord>
</Antwoorden>
Error-handling
Aan deze functie gerelateerde foutcodes:
|
Code |
Type |
Toelichting |
|---|---|---|
|
20007 |
FOUT |
Ondernemingsnummer in de vraag heeft een ongeldige structuur |
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
30107 |
INFORMATIE |
Gegevens beperkt door paginering |
|
30108 |
FOUT |
Geen gegevens beschikbaar door paginering |
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
GeefJaarrekeningenResponse response = magda.geefJaarrekeningen(identifier, year, 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_JAARREKENING_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("20007".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_ONDERNEMINGSNUMMER", uitzondering.getDiagnose());
}
}
giveCompanyFunctions
Vraag voor een specifieke persoon welke bestuurlijke functies hij of zij uitoefent bij welke ondernemingen of organisaties.
Workflow expressie
${magda.giveCompanyFunctions(String insz, String uri, String dossierId)}
Java-code
GeefFunctiesResponse response = magda.giveCompanyFunctions(insz, uri, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Identificatienummer voor de sociale zekerheid (rijksregisternummer) |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
Deze info verkrijg je tijdens het onboardingproces bij Magda. |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call) |
Magda-documentatie
Technische documentatie GeefFuncties-02.00.
Output
Je krijgt een getypeerd GeefFunctiesResponse-object terug met een lijst van Functie-elementen: de bestuurlijke functies die de opgegeven persoon (op basis van INSZ) uitoefent of heeft uitgeoefend binnen ondernemingen. Elke functie bevat de onderneming waarvoor ze wordt uitgeoefend (FunctiehouderVan, het KBO-nummer), het type functie (AardFunctie, bv. "Bestuurder" of "Gedelegeerd bestuurder"), de periode waarin de functie geldig is (Periode/Begin en Periode/Einde — 9999-12-31 betekent dat de functie nog actief is) en eventuele informatie over een vrijstelling.
Belangrijk: enkel functies waarvan de einddatum groter is dan of gelijk is aan de datum van de aanvraag worden weergegeven — historische, reeds afgelopen functies met een oudere einddatum komen dus niet terug in het antwoord.
Merk op dat vertegenwoordiging soms ook via een onderneming gebeurt (AanduidingPersoonOnderneming, code 2 of 3): in dat geval bevat de functie ook een Ondernemingsnummer naast (of in plaats van) het INSZ.
Gepseudonimiseerd voorbeeld:
<Antwoorden>
<Antwoord>
<Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
<Inhoud>
<Functies>
<Functie DatumModificatie="2024-01-10">
<AuthentiekeBron>
<Code>03</Code>
<Omschrijving>KBO</Omschrijving>
</AuthentiekeBron>
<FunctiehouderVan>0123456789</FunctiehouderVan>
<AanduidingPersoonOnderneming>
<Code>1</Code>
<Omschrijving>Vertegenwoordiging door natuurlijke persoon</Omschrijving>
</AanduidingPersoonOnderneming>
<INSZ>850102XXX45</INSZ>
<VolgNummer>001</VolgNummer>
<AardFunctie>
<Code>10002</Code>
<Omschrijving>Bestuurder</Omschrijving>
</AardFunctie>
<AardFunctieCAC>
<Code>10002</Code>
<Omschrijving>Bestuurder</Omschrijving>
</AardFunctieCAC>
<Periode>
<Begin>2020-05-04</Begin>
<Einde>9999-12-31</Einde>
</Periode>
<AanduidingVrijstelling>
<Code>999</Code>
<Omschrijving>geen vrijstelling mogelijk</Omschrijving>
</AanduidingVrijstelling>
</Functie>
</Functies>
</Inhoud>
</Antwoord>
</Antwoorden>
Error-handling
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Aan deze functie gerelateerde foutcodes:
|
Code |
Type |
Toelichting |
|---|---|---|
|
20002 |
FOUT |
INSZ in de vraag heeft een ongeldige structuur |
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
99984 |
WAARSCHUWING |
Omschrijving van een code werd niet gevonden |
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
GeefFunctiesResponse response = magda.giveCompanyFunctions(insz, 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_FUNCTIES_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
}
}
giveCompany
Zoek ondernemingsgegevens op. Een eenvoudige toepassing van deze functie kan je configureren via een specifieke Skryv Studio workflow template.
Workflow expressie
${magda.giveCompany(String identifier, String dossierId)}
Java-code
GeefOndernemingResponse response = magda.giveCompany(identifier, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘BE0123456789’ |
KBO-nummer |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call) |
Magda-documentatie
Technische documentatie GeefOnderneming-02.00.
Output
Je krijgt een getypeerd GeefOndernemingResponse-object terug met een Onderneming-element dat de ondernemingsgegevens bevat: het ondernemingsnummer, het type (OndernemingOfVestiging: onderneming of vestiging), de status bij KBO (StatusKBO, bv. "Actief"), het soort onderneming (natuurlijke persoon of rechtspersoon), de namen (maatschappelijke naam, afgekorte naam en/of commerciële naam, elk met taalcode), de adressen, de inschrijvingsdatum, de rechtsvorm en — indien van toepassing — eventuele ambtshalve doorhalingen bij KBO (bv. wegens niet-neerlegging van de jaarrekening).
Welke onderdelen precies terugkomen, hangt af van of het om een onderneming of een vestiging gaat: niet elke combinatie van gegevens is voor beide beschikbaar.
Gepseudonimiseerd voorbeeld:
<Antwoord>
<Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
<Inhoud>
<Onderneming>
<Ondernemingsnummer>0123456789</Ondernemingsnummer>
<AuthentiekBron>
<Code>03</Code>
<Omschrijving>KBO</Omschrijving>
</AuthentiekBron>
<OndernemingOfVestiging>
<Code Beschrijving="Onderneming">1</Code>
</OndernemingOfVestiging>
<StatusKBO>
<Code>AC</Code>
<Omschrijving>Actief</Omschrijving>
</StatusKBO>
<SoortOnderneming>
<Code Beschrijving="Rechtspersoon">2</Code>
</SoortOnderneming>
<Namen>
<MaatschappelijkeNamen>
<MaatschappelijkeNaam>
<Naam>Voorbeeld Bouwonderneming NV</Naam>
<Taalcode>nl</Taalcode>
</MaatschappelijkeNaam>
</MaatschappelijkeNamen>
</Namen>
<Adressen>
<Adres>
<Gemeente>
<NISCode>44021</NISCode>
<PostCode>9000</PostCode>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<ISOCode>BE</ISOCode>
<Naam>BELGIE</Naam>
</Land>
<Type>
<Code>001</Code>
<Omschrijving>Maatschappelijk adres</Omschrijving>
</Type>
<Descripties>
<Descriptie>
<Adres>
<Straat>
<Naam>Kerkstraat</Naam>
</Straat>
<Gemeente>
<Naam>Gent</Naam>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<Naam>België</Naam>
</Land>
</Adres>
</Descriptie>
</Descripties>
</Adres>
</Adressen>
<Inschrijving>
<Datum>2010-03-15</Datum>
</Inschrijving>
<Rechtsvormen>
<Rechtsvorm>
<Code>014</Code>
<Omschrijving>Naamloze vennootschap</Omschrijving>
<Afkorting>NV</Afkorting>
</Rechtsvorm>
</Rechtsvormen>
</Onderneming>
</Inhoud>
</Antwoord>
Error-handling
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
|
Code |
Type |
Toelichting |
|---|---|---|
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
40046 |
INFORMATIE |
Gevraagd ondernemingsnummer bestaat niet in KBO |
|
40039 |
INFORMATIE |
De onderneming is geannuleerd |
|
40044 |
INFORMATIE |
De opgevraagde onderneming is een vestiging |
|
60009 |
FOUT |
Er heeft zich een technisch probleem voorgedaan |
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
GeefOndernemingResponse response = magda.giveCompany(identifier, dossierId);
List<UitzonderingType> uitzonderingen = response.getRepliek().getAntwoorden().getAntwoord()
.getUitzonderingen().getUitzondering();
for (UitzonderingType uitzondering : uitzonderingen) {
String code = uitzondering.getIdentificatie();
if ("30001".equals(code) || "40046".equals(code)) {
throw new BpmnError("MAGDA_ONDERNEMING_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("40039".equals(code)) {
throw new BpmnError("MAGDA_ONDERNEMING_GEANNULEERD", uitzondering.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", uitzondering.getDiagnose());
}
}
giveCompanyWithUri
Zoek ondernemingsgegevens op. Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.
Workflow expressie 1
${magda.giveCompanyWithUri(String identifier, String uri, String dossierId)}
Geeft de huidige toestand terug.
Workflow expressie 2
${magda.giveCompanyWithUri(String identifier, String uri, String beginDate, String endDate, String dossierId)}
Geeft de toestand voor een opgegeven referteperiode terug.
Java-code 1
GeefOndernemingResponse response = magda.giveCompanyWithUri(identifier, uri, dossierId);
Geeft de huidige toestand terug.
Java-code 2
GeefOndernemingResponse response = magda.giveCompanyWithUri(identifier, uri, beginDate, endDate, dossierId);
Geeft de toestand voor een opgegeven referteperiode terug.
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘BE0123456789’ |
KBO-nummer |
|
|
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
Deze info verkrijg je tijdens het onboardingproces bij Magda |
|
|
String (date format: YYYY-MM-DD) |
'2020-01-30' |
Startdatum referteperiode voor historische vestigingsdata |
|
|
String (date format: YYYY-MM-DD) |
‘2025-07-30’ |
Einddatum referteperiode voor historische vestigingsdata |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call) |
Magda-documentatie
Technische documentatie GeefOnderneming-02.00.
Output
Je krijgt een getypeerd GeefOndernemingResponse-object terug met een Onderneming-element dat de ondernemingsgegevens bevat: het ondernemingsnummer, het type (OndernemingOfVestiging: onderneming of vestiging), de status bij KBO (StatusKBO, bv. "Actief"), het soort onderneming (natuurlijke persoon of rechtspersoon), de namen (maatschappelijke naam, afgekorte naam en/of commerciële naam, elk met taalcode), de adressen, de inschrijvingsdatum, de rechtsvorm en — indien van toepassing — eventuele ambtshalve doorhalingen bij KBO (bv. wegens niet-neerlegging van de jaarrekening).
Welke onderdelen precies terugkomen, hangt af van of het om een onderneming of een vestiging gaat: niet elke combinatie van gegevens is voor beide beschikbaar.
Gepseudonimiseerd voorbeeld:
<Antwoord>
<Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
<Inhoud>
<Onderneming>
<Ondernemingsnummer>0123456789</Ondernemingsnummer>
<AuthentiekBron>
<Code>03</Code>
<Omschrijving>KBO</Omschrijving>
</AuthentiekBron>
<OndernemingOfVestiging>
<Code Beschrijving="Onderneming">1</Code>
</OndernemingOfVestiging>
<StatusKBO>
<Code>AC</Code>
<Omschrijving>Actief</Omschrijving>
</StatusKBO>
<SoortOnderneming>
<Code Beschrijving="Rechtspersoon">2</Code>
</SoortOnderneming>
<Namen>
<MaatschappelijkeNamen>
<MaatschappelijkeNaam>
<Naam>Voorbeeld Bouwonderneming NV</Naam>
<Taalcode>nl</Taalcode>
</MaatschappelijkeNaam>
</MaatschappelijkeNamen>
</Namen>
<Adressen>
<Adres>
<Gemeente>
<NISCode>44021</NISCode>
<PostCode>9000</PostCode>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<ISOCode>BE</ISOCode>
<Naam>BELGIE</Naam>
</Land>
<Type>
<Code>001</Code>
<Omschrijving>Maatschappelijk adres</Omschrijving>
</Type>
<Descripties>
<Descriptie>
<Adres>
<Straat>
<Naam>Kerkstraat</Naam>
</Straat>
<Gemeente>
<Naam>Gent</Naam>
</Gemeente>
<Land>
<NISCode>150</NISCode>
<Naam>België</Naam>
</Land>
</Adres>
</Descriptie>
</Descripties>
</Adres>
</Adressen>
<Inschrijving>
<Datum>2010-03-15</Datum>
</Inschrijving>
<Rechtsvormen>
<Rechtsvorm>
<Code>014</Code>
<Omschrijving>Naamloze vennootschap</Omschrijving>
<Afkorting>NV</Afkorting>
</Rechtsvorm>
</Rechtsvormen>
</Onderneming>
</Inhoud>
</Antwoord>
Error-handling
Specifieke foutcodes.
|
Code |
Type |
Toelichting |
|---|---|---|
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
40046 |
INFORMATIE |
Gevraagd ondernemingsnummer bestaat niet in KBO |
|
40039 |
INFORMATIE |
De onderneming is geannuleerd |
|
40044 |
INFORMATIE |
De opgevraagde onderneming is een vestiging |
|
60009 |
FOUT |
Er heeft zich een technisch probleem voorgedaan |
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
GeefOndernemingResponse response = magda.giveCompanyWithUri(identifier, uri, dossierId);
List<UitzonderingType> uitzonderingen = response.getRepliek().getAntwoorden().getAntwoord()
.getUitzonderingen().getUitzondering();
for (UitzonderingType uitzondering : uitzonderingen) {
String code = uitzondering.getIdentificatie();
if ("30001".equals(code) || "40046".equals(code)) {
throw new BpmnError("MAGDA_ONDERNEMING_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("40039".equals(code)) {
throw new BpmnError("MAGDA_ONDERNEMING_GEANNULEERD", uitzondering.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", uitzondering.getDiagnose());
}
}
giveCompanyWithFuncties
Zoek ondernemingsgegevens op met inbegrip van bestuurlijke functies.
Workflow expressie
${magda.giveCompanyWithFuncties(String identifier, String dossierId)}
Java-code
GeefOndernemingResponse response = magda.giveCompanyWithFuncties(identifier, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘BE0123456789’ |
KBO-nummer |
|
|
String (GUID) |
'550e8400-e29b-41d4-a716-446655440000' |
Unieke id van het dossier binnen de Skryv applicatie (met oog op logging van de call) |
Magda-documentatie
Technische documentatie GeefOnderneming-02.00.
Output
Je krijgt hetzelfde Onderneming-element terug als bij giveCompanyWithUri, aangevuld met een Functies-blok. Elke Functie heeft een DatumBegin/DatumEinde (geldigheidsperiode), de onderneming waarvoor de functie wordt uitgeoefend (FunctiehouderVan), het type functie (AardFunctie) en de houder van de functie — ofwel een natuurlijke persoon (Persoon), ofwel een andere onderneming (Onderneming), nooit beide.
Belangrijk: het Persoon-blok (INSZ, voornaam, achternaam) wordt standaard afgeschermd. Om dit toch te ontvangen, moet je bij de aansluiting op deze dienst expliciet een Rijksregister-machtiging aanvragen — zonder die machtiging krijg je enkel de niet-persoonsgebonden functiegegevens.
Gepseudonimiseerd voorbeeld:
<Functies>
<!-- Functie uitgeoefend door een natuurlijke persoon (vereist Rijksregister-machtiging) -->
<Functie DatumBegin="2020-05-04" DatumEinde="9999-12-31">
<FunctiehouderVan>0123456789</FunctiehouderVan>
<Persoon>
<INSZ>850102XXX45</INSZ>
<Voornaam>Anna</Voornaam>
<Achternaam>Peeters</Achternaam>
</Persoon>
<AardFunctie>
<Code>10002</Code>
<Omschrijving>Bestuurder</Omschrijving>
</AardFunctie>
<Vrijstelling>
<AanduidingVrijstelling>false</AanduidingVrijstelling>
</Vrijstelling>
</Functie>
<!-- Functie uitgeoefend door een andere onderneming -->
<Functie DatumBegin="2019-01-01" DatumEinde="9999-12-31">
<FunctiehouderVan>0123456789</FunctiehouderVan>
<Onderneming>
<Ondernemingsnummer>0987654321</Ondernemingsnummer>
<MaatschappelijkeNaam DatumBegin="2015-01-01">
<Naam>Voorbeeld Holding NV</Naam>
</MaatschappelijkeNaam>
</Onderneming>
<AardFunctie>
<Code>10007</Code>
<Omschrijving>Gedelegeerd bestuurder</Omschrijving>
</AardFunctie>
</Functie>
</Functies>
Error-handling
Voor een compleet overzicht, kan je terecht op de MAGDA-foutcodepagina.
Aan deze functie gerelateerde foutcodes:
|
Code |
Type |
Toelichting |
|---|---|---|
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
40046 |
INFORMATIE |
Gevraagd ondernemingsnummer bestaat niet in KBO |
|
40039 |
INFORMATIE |
De onderneming is geannuleerd |
|
40006 |
FOUT |
Fout in autorisatie |
|
60009 |
FOUT |
Er heeft zich een technisch probleem voorgedaan |
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
GeefOndernemingResponse response = magda.giveCompanyWithFuncties(identifier, dossierId);
List<UitzonderingType> uitzonderingen = response.getRepliek().getAntwoorden().getAntwoord()
.getUitzonderingen().getUitzondering();
for (UitzonderingType uitzondering : uitzonderingen) {
String code = uitzondering.getIdentificatie();
if ("30001".equals(code) || "40046".equals(code)) {
throw new BpmnError("MAGDA_ONDERNEMING_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("40006".equals(code)) {
throw new BpmnError("MAGDA_AUTORISATIE_FOUT", uitzondering.getDiagnose());
}
if ("60009".equals(code)) {
throw new BpmnError("MAGDA_TECHNISCHE_FOUT", uitzondering.getDiagnose());
}
}