Inleiding
Gegevens opvragen over de personenbelasting.
Use cases
-
Automatisch ophalen van het belastbaar inkomen voor een inkomensgerelateerde premieberekening.
-
Valideren van inkomensgegevens bij een aanvraag die rekening houdt met de personenbelasting.
-
Nagaan of een aanvrager en eventuele partner gezamenlijk werden aangeslagen.
Setup
Idem als bij alle MAGDA-connectoren. Zie MAGDA algemene setup.
Specifieke applicatie eigenschappen
Geen.
Services en functies
Onderstaande functie 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.
givePersonalIncomeTax
Gegevens opvragen over het aanslagbiljet van de personenbelasting van een persoon voor een bepaald inkomensjaar.
Workflow expressie
${magda.givePersonalIncomeTax(String insz, String year, String source, String startDate, String endDate, String ipcalcodes, String dossierId)}
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.
${magda.givePersonalIncomeTax(String insz, String year, String source, String startDate, String endDate, String ipcalcodes, String uri, String hoedanigheid, String dossierId)}
Java-code
GeefAanslagbiljetPersonenbelastingResponse response = magda.givePersonalIncomeTax(insz, year, source, startDate, endDate, ipcalcodes, dossierId);
Variant waarbij de magda aansluitingsgegevens expliciet worden meegegeven.
GeefAanslagbiljetPersonenbelastingResponse response = magda.givePersonalIncomeTax(insz, year, source, startDate, endDate, ipcalcodes, uri, hoedanigheid, dossierId);
Input
|
Inputparameters |
Data type |
Voorbeeld |
Uitleg |
|---|---|---|---|
|
|
String |
‘85010212345’ |
Identificatienummer voor de sociale zekerheid (rijksregisternummer) |
|
|
String |
‘2025’ |
Inkomensjaar |
|
|
String |
‘FODFIN’ |
Enkel “FODFIN” en “KSZ” mogelijk als bron. Indien er een andere bron opgegeven wordt bekomt men een XSD validatie fout (SOAP Fault). Geeft men een niet toegelaten bron op, dan bekomt men een uitzondering. |
|
(verplicht indien bron ‘KSZ’, optioneel indien bron ‘FODFIN’) |
String (date format: YYYY-MM) |
'2025-07' |
Startdatum referteperiode |
|
(verplicht indien bron ‘KSZ’, optioneel indien bron ‘FODFIN’) |
String (date format: YYYY-MM) |
‘2025-07' |
Einddatum referteperiode |
|
(steeds leeglaten) |
String |
null |
Filter op codes die gebruikt worden in het aanslagbiljet. Mogen niet opgegeven worden door de afnemer! |
|
(withUri variant) |
String |
'https://authenticatie.vlaanderen.be/op/v1/afnemers/mijnOrganisatie' |
Deze info verkrijg je tijdens het onboardingproces bij Magda |
|
(withUri variant) |
String |
'12345’ |
IDPC-code (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 voor GeefAanslagbiljetPersonenbelasting-02.00.
Output
Je krijgt een getypeerd GeefAanslagbiljetPersonenbelastingResponse-object terug. Dit object bevat de gegevens van het aanslagbiljet (inkomensjaar, artikelnummer, gegevens van de gevraagde persoon en eventueel een gerelateerde persoon bij een gezamenlijke aangifte) als een lijst van code/waardeparen (IPCAL-codes), zoals aangeleverd door FOD Financiën of de KSZ.
Gepseudonimiseerd voorbeeld:
<Antwoord>
<Referte>550e8400-e29b-41d4-a716-446655440000</Referte>
<Inhoud>
<AanslagbiljetPersonenbelasting>
<GevraagdePersoon>
<INSZ>850102XXX45</INSZ>
<FiscaleStatus>
<Code>A</Code>
<Omschrijving>Titularis</Omschrijving>
</FiscaleStatus>
</GevraagdePersoon>
<GerelateerdePersoon>
<INSZ>870505XXX12</INSZ>
<FiscaleStatus>
<Code>B</Code>
<Omschrijving>Partner</Omschrijving>
</FiscaleStatus>
</GerelateerdePersoon>
<Inkomensjaar>2024</Inkomensjaar>
<Artikelnummer>727960743</Artikelnummer>
<Items>
<Item>
<Code>A7223</Code>
<Waarde>1365304</Waarde>
</Item>
</Items>
</AanslagbiljetPersonenbelasting>
</Inhoud>
</Antwoord>
Error-handling
Aan deze functie gerelateerde foutcodes:
|
Code |
Type |
Toelichting |
|---|---|---|
|
30001 |
FOUT |
Geen gegevens gevonden voor de vraag |
|
20002 |
FOUT |
INSZ in de vraag heeft een ongeldige structuur |
|
40006 |
FOUT |
Fout in autorisatie |
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
GeefAanslagbiljetPersonenbelastingResponse response = magda.givePersonalIncomeTax(insz, year, source, startDate, endDate, ipcalcodes, 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_AANSLAGBILJET_NIET_GEVONDEN", uitzondering.getDiagnose());
}
if ("20002".equals(code)) {
throw new BpmnError("MAGDA_ONGELDIG_INSZ", uitzondering.getDiagnose());
}
if ("40006".equals(code)) {
throw new BpmnError("MAGDA_AUTORISATIE_FOUT", uitzondering.getDiagnose());
}
}