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
- Nieuwe medewerker (algemene toelichting)
Beschrijving
Mogelijke acties met de connector |
||
Post / INSERT |
Records toevoegen
|
|
Put / UPDATE |
Records wijzigen 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 (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 |