MAGDA Inkomen

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

insz

String

‘85010212345’

Identificatienummer voor de sociale zekerheid (rijksregisternummer)

year

String

‘2025’

Inkomensjaar

source

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.

startDate

(verplicht indien bron ‘KSZ’, optioneel indien bron ‘FODFIN’)

String (date format: YYYY-MM)

'2025-07'

Startdatum referteperiode

endDate

(verplicht indien bron ‘KSZ’, optioneel indien bron ‘FODFIN’)

String (date format: YYYY-MM)

‘2025-07'

Einddatum referteperiode

ipcalcodes

(steeds leeglaten)

String

null

Filter op codes die gebruikt worden in het aanslagbiljet. Mogen niet opgegeven worden door de afnemer!

uri

(withUri variant)

String

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

Deze info verkrijg je tijdens het onboardingproces bij Magda

hoedanigheid

(withUri variant)

String

'12345’

IDPC-code (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)

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:

HTML
<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());
    }
}