Medewerkers toevoegen, wijzigen of verwijderen (UpdateConnector KnEmployee)

UpdateConnector voor het toevoegen en wijzigen van medewerkers.

Naam UpdateConnector: KnEmployee

Let op:

Profit bevat ook een aparte UpdateConnector met een unieke sleutel (GUID): KnEmployeeGUID. Je hebt deze UpdateConnector alleen nodig als je de standaard sleutelvelden in KnEmployee niet kunt gebruiken.

Hierbij gelden de volgende algemene regels:

  • Bij een INSERT zal Profit de meegegeven GUID gebruiken, mits deze uniek is. Zo niet, dan zal Profit hiervan een standaard SQL-melding genereren. Als je geen GUID meegeeft, zal Profit zelf een GUID toevoegen.
  • Bij een UPDATE of DELETE zal Profit het record opzoeken op basis van de GUID, maar de overige sleutelvelden zijn wel verplicht. Bij een foutieve of ontbrekende GUID wordt de regel afgekeurd.

De status in de XML (update, insert) wordt niet gebruikt in de connector KnEmployeeGUID voor de objecten zonder GUID (dit zijn de instanties). Als de medewerker op de datum al een regel heeft wordt deze bijgewerkt, anders wordt deze toegevoegd. De status delete wordt wel gebruikt.

Als je voor de nieuwe medewerker ook een nieuwe persoon wilt toevoegen, of bij een bestaande medewerker de persoon/persoonsgegevens wilt wijzigen, gebruik je de updateconnector KnPerson.

Let op: 

AFAS biedt naast het Help Center twee platforms voor het testen van connectoren en het raadplegen van specificaties, namelijk AFAS Connect en API Docs.

In dit artikel is gave nieuwe functionaliteit verwerkt die wordt uitgeleverd met een patch op Profit 4.

Met de UpdateConnector KnEmployee kun je nu ook meerdere persoonsdocumenten vastleggen, via het subobject AfasIdentityDocument.

Inhoud

Voorbereiding

Beschrijving

Mogelijke acties met de connector

Post / INSERT

Records toevoegen

Put / UPDATE

Records wijzigen

Xml-voorbeeld downloaden

Xml-voorbeeld downloaden (einde dienstverband in o.b.v. WAB, zie de uitleg hieronder)

Subrecords toevoegen (Insert sub record, update main record)

In de REST-request geef je de sleutelwaarden mee in op het object AfasEmployee en je voegt een gevuld subobject toe.

De request URL bestaat uit: ../Endpoint/Subobject.

Bijvoorbeeld voor het toevoegen van een contactregel:

../KnEmployee/AfasContract

DELETE

Records verwijderen

Xml-voorbeeld downloaden

Xml-voorbeeld downloaden (bankrekening verwijderen)

JSON-voorbeelden downloaden (voor KnEmployee en KnEmployeeGUID)

Bij een DELETE-actie via REST geef je geen body mee met daarin een JSON-bericht. Je roept het juiste adres aan met de methode DELETE. In het adres plaats je de informatie waarmee je aangeeft wat er verwijderd moet worden, bijvoorbeeld welke medewerker, of welk contract bij welke medewerker.

Let op: net als in Profit kun je een medewerker met een contract niet verwijderen. Verwijder eerst het contract en daarna de medewerker.

Aandachtspunten:

  • Je kunt in een xml één contract van een medewerker toevoegen of wijzigen.

In dienst melding

Als je een medewerker in dienst wilt melden, moet je ook de velden in de volgende segmenten aanleveren:

  • AfasContract
  • AfasOrguniFunction
  • AfasTimeTable
  • AfasSalary
  • AfasAgencyFiscus

Reden einde arbeidsovereenkomst

Een werkgever moet bij ontslag de reden uit dienst registreren o.b.v. de Wet Arbeidsmarkt in Balans (WAB).

Gebruik hiervoor het veld Reden einde arbeidsovereenkomst (DvbViAo). Dit veld is verplicht voor uitdienstmeldingen via de UpdateConnector.

Je vindt de veldwaarden via de functie HRM / Medewerker / Uit dienst. Via de tabel hierboven kun je bij Update een XML-voorbeeld downloaden.

Gebruik een GetConnector om de juiste waarde voor Reden einde arbeidsovereenkomst op te halen. Dit kan via de GetConnector gebaseerd op de gegevensverzameling Vrije tabellen met een vast filter op het veld Tabel met waarde RedenEindeAO.

Instanties

Je kunt andere instanties dan de instantie Belastingdienst alleen aanleveren als deze aan de werkgever van de medewerker gekoppeld zijn.

Geboortenaam en/of partnernaam vastleggen

Bij het toevoegen van een medewerker is het veld Geboortenaam en/of partnernaam altijd aangevinkt. De UpdateConnector negeert de velden 'SpNm' en 'Is' Voorvoegsel) als deze in de xml zijn vastgelegd. Het is echter wel mogelijk om een tussenvoegsel aan te leveren, namelijk met het veld 'IsBi'. Bijvoorbeeld:

<IsBi>van der</IsBi>

Hierdoor wordt het veld Voorv. geb.naam (in HRM / Medewerker / Medewerker, tabblad Algemeen) gevuld. Het veld Voorvoegsel wordt gevuld met de dezelfde waarde.

IBAN

In het veld 'IbCk'; bepaal je of op IBAN gecontroleerd moet worden. In het veld 'Iban' vul je het IBAN-nummer.

Formatieverdeling

Je kunt een UPDATE uitvoeren op formatieverdelingsregels (segment AFASOrgunitFunction / AfasSalaryCost).

Contract, salaris, rooster en functie records

Als de medewerker nog geen contract heeft (in dienst melding) is het mogelijk om het contract met onderliggende salaris-, rooster- en functiegegevens in één keer aan te leveren.

Als je in één keer een nieuw contract met een nieuw rooster aanlevert, volgt een foutmelding bij het rooster. Door het toevoegen van het contract wordt namelijk automatisch een rooster toegevoegd. Hierdoor ontstaat een fout als er nog een record op dezelfde datum wordt toegevoegd. Dit probleem treedt niet op bij de UpdateConnector 'KnEmployee', omdat daar o.b.v. de datum wordt gezocht naar een bestaand record en niet gekeken wordt naar de status in de XML.

Dit komt ook voor bij andere combinaties zoals rooster/salaris.

Je kunt een contract verwijderen met de UpdateConnector 'KnEmployeeGuid'.

Subdienstverband of nevendienstverband

Geeft het type dienstverband op in het veld 'PEmTy':

  • S: subdienstverband
  • N: nevendienstverband

Fase-indeling Flex en Zekerheid

Als je gebruik maakt van KnEmployee i.c.m. de Fase-indeling Flex en Zekerheid dan moet je het veld ViFz de volgende waarden gebruiken:

  • O: Onbekend of n.v.t.
  • 1: Fase 1 met uitzendbeding
  • AU: Fase A met uitzendbeding
  • B: Fase B
  • C: Fase C
  • 2: Fase 2 met uitzendbeding
  • 3: Fase 3
  • AZU: Fase A zonder uitzendbeding, met uitsluiting van loondoorbetalingsverplichting
  • 4: Fase 4
  • AZ: Fase A zonder uitzendbeding
  • 41: Fase 1 zonder uitzendbeding
  • 42: Fase 2 zonder uitzendbeding
  • 43: Fase 1 zonder uitzendbeding, met uitsluiting van loondoorbetalingsverplichting
  • 44: Fase 2 zonder uitzendbeding, met uitsluiting van loondoorbetalingsverplichting
  • W: Wettelijk regime
  • K: Ketensysteem

ABP

Je kunt de medewerkergegevens voor ABP aanmaken via de UpdateConnectoren KnEmployee en KnEmployeeGuid. De velden zijn opgenomen in het segment AfasAgencyABP.

Rooster - Uren per dag (UpdateConnector)

Gebruik het AfasDailyHours voor het toevoegen van een roostermutatie van het type 'uren per dag'.

XML structuur - AfasDailyHours

Het element AfasDailyHours is bedoeld voor het vastleggen van roosters van het type 'uren per dag'. Hiermee kunnen zowel gelijke weken als wisselende weken worden vastgelegd. Dit is een type object binnen AfasEmployee > Element > Objects.

Identificatie attributen

Binnen de XML-node "AfasDailyHours" kunnen 1 of meerdere xml-nodes met de naam 'Element' gemaakt worden. Deze hebben 1 xml-attribuut, namelijk "DaBg". In dit verplichte attribuut moet de begindatum van de roostermutatie worden meegegeven. Om een bestaande roosterregel te wijzigen moet de begindatum van de betreffende regel worden gebruikt.

Voorbeeld:

<AfasEmployee>

<Element EmId="FLOORA">

<Objects>

<AfasDailyHours>

<Element DaBg="2021-01-01">

...

</Element>

</AfasDailyHours>

</Objects>

</Element>

</AfasEmployee>att

Het element AfasDailyHours heeft de volgende velden:

Code

Omschrijving

Type

Verpl

SeNo

Standaard rooster

geheel getal

N

AhWk

Uren verlofopbouw per week

Getal

N

StPa

Wisselende weken

J / N of 1 / 0

J

NrWk

Aantal weken

Geheel getal

N

StWk

Beginnen met week

Geheel getal

N

CIAg

Oproepovereenkomst

J / N of 1 / 0

N

YrHr

Jaaururennorm

J / N of 1 / 0

N

HrMn

Min uren per week

Getal

N

HrMx

Max uren per week

Getal

N

HrPm

Min. uren per periode

Getal

N

Immc

Min/max contract

J / N of 1 / 0

N

DfHo

Afwijkende uren per week aangifte

Getal

N

FaSn

Kind ouderschapsverlof

Geheel getal

N

VaDl

Type verdeling ouderschapsverlof

Tekst

N

Perc

Percentage verdeling ouderschapsverof

Getal

N

PlDe

Geplande einddatum ouderschapsverlof

Datum / Tijd

N

AfasDailyHoursWeek

Het element AfasDailyHoursWeek is bedoeld voor het vastleggen van roosteruren per week. Binnen een element van het type AfasDailyHours kunnen 0 of meerdere weken worden opgenomen, afhankelijk van de keuzes bij het rooster:

  • Standaard rooster

Als gebruik wordt gemaakt van een standaardrooster (als het optionele veld SeNo gevuld is) dan worden de uren per dag bepaald door het standaard rooster en zijn geen AfasDailyHoursWeek objecten nodig.

  • Gelijke weken

Als het een rooster van het type Uren per dag, gelijke weken is (als het verplichte veld StPa de waarde N of 0 heeft) dan is precies 1 AfasDailyHoursWeek object vereist.

  • Wisselende weken

Als het een rooster van het type Uren per dag, wisselende weken is (als het verplichte veld StPa de waarde J of 1 heeft) dan zijn minimaal 1 en maximaal 6 AfasDailyHoursWeek objecten vereist.

Identificatie attributen

Binnen de xml-node "AfasDailyHoursWeek" kunnen 1 of meerdere xml-nodes met de naam 'Element' gemaakt worden. De hebben 1 xml-attribuut, namelijk: "WkNo". In dit verplichte attribuut moet het volgnummer van de roosterweek worden meegegeven.

Dit volgnummer moet uniek zijn, oftewel er mogen geen 2 'Element' nodes aanwezig zijn met hetzelfde volgnummer. De waarde van het volgnummer is minimaal 1 en het maximaal het aantal dat is opgegeven in het veld Aantal weken (NrWk).

Het element AfasDailyHoursWeek heeft de volgende velden:

Code

Omschrijving

Type

Verpl

NHMo

Aantal uur maandag

Getal

N

NHTu

Aantal uur dinsdag

Getal

N

NHWe

Aantal uur woensdag

Getal

N

NHTh

Aantal uur donderdag

Getal

N

NHFr

Aantal uur vrijdag

Getal

N

NHSa

Aantal uur zaterdag

Getal

N

NHSu

Aantal uur zondag

Getal

N

PLMo

Aantal uur ouderschapsverlof maandag

Getal

N

PLTu

Aantal uur ouderschapsverlof dinsdag

Getal

N

PLWe

Aantal uur ouderschapsverlof woensdag

Getal

N

PLTh

Aantal uur ouderschapsverlof donderdag

Getal

N

PLFr

Aantal uur ouderschapsverlof vrijdag

Getal

N

PLSa

Aantal uur ouderschapsverlof zaterdag

Getal

N

PLSu

Aantal uur ouderschapsverlof zondag

Getal

N

Direct naar

  1. UpdateConnector beschrijvingen