Visma HRM MA
Managment Agent for Visma Enterprise HRM
Type: ECMA 2.2
Versjonsnummer: 1.4.1
Dato: 02.07.2019
Målsystem Versjon: 2019.07
Objekttyper: group, person, unit, employments
Beskrivelse
Managmenet Agenten jobber mot Visma Enterprise Webservices. Personer og Organisasjonskart leses via HRM_WS. Visma Enterprise HRM eksporter ikke grupper, men agenten generer grupper basert på hvilke avdelinger personene tilhører.
Parametre
Hostname: Angi servernavn på visma sin web server som hoster hrm_ws
Port: Angi porten web-servicen benytter på serveren. F.eks 8090
Protocol: Velg mellom http eller https
Timeout (sek): Angi hvor mange sekunder man skal vente på visma webservice svar
Visma Enterprise HRM kan bruke lang tid på å generere en XML avhenging av webserver og databaseytelse.
Export type:
Velg mellom Simple og Advanced
Simple: Denne kan eksportere data tilbake til enterprise_ws/secure/user og er inkludert som standard når man har mulighet til å hente data ut fra webservicen. Advanced krever en egen lisens og er ikke standard.
Attributter som er støttet
- alias (multivalue) (add/delete)
- initials (kun opprette nytt) (add)
- email (add/delete)
- workphone (add/delete)
- workmobile (add/delete)
Advanced: Denne kan eksportere data tilbake til hrm_ws/secure/persons/import og krever egen lisens for å kunne ta i bruk.
Attributter som er støttet i agenten
- email
- paycheckByEmail (satt til true) som kommer med om man har med email feltet i eksport
- workphone
- workmobile
- alias (multivalue)
- privatemobile
- privatephone
- jobtitle
Username: Brukernavn for Visma webservicene
Password: Passord for Visma webservicene
Selskap: De selskapene (firma) i visma hrm som du ønsker å hente. Flere selskap skilles med komma [,]
Prefix personDN med selskapsnummer: Hvis man importerer fra flere selskaper i Visma kan man velge å prefikse personDN attributtet med selskapsnummer. Dette for å forhindre dubletter på import fra de ulike selskapene. Viktig at da personDN brukes som anker attributt i agenten. Det erstatter da tidligere anker på personIdHRM evtentuelt
Fra Ansattnummer: Managment agenten henter ansatte som har ansattnummer (employeeId) som er mellom "Fra og Til" ansattnummer parametrene. Starten på rangen kan f.eks være 10000
Når det skal angis en range med brukere så er det feltet empployeeID som benyttes, men skal man hente bare en bruker så er det HrmID feltet som benyttes.
Til Ansattnummber: Managment agenten henter ansatte som har ansattnummer (employeeId) som er mellom Fra og Til ansattnummer parametrene. f.eks 30000
Logg med debug?: Brukes ved feilsøking. Gir en mer fullstendig logg som beskriver alle kall og eventuelle feil eller mangler under import/export
Hent personer frem i tid (Checkbox): Visma HRM_WS har muligheten for å hente ut brukere med startdato frem i tid. huk av checkboksen for å hente brukere med startdato frem i tid.
Antall dager frem i tid: Brukes sammen med "Hent personer frem i tid". Angir hvor mange dager før brukeren starter du ønsker. F.eks 60 henter brukere 60 dager før startdato i HRM
Ignorer ansattkategorier: Brukes for å ikke trekke inn ansattkategorier inn i ConnectorSpace. Kan være hensiktsmessig for å få raskere kjøretid på agenten, vs å gjøre dette på filter i selve agent-oppsettet
Hent organisasjonsinfo (Checkbox): Huk av hvis du ønsker å hente organisasjonskartet fra Visma HRM_WS
(Krever egen lisens for å kunne hente ut organisasjonsinfor fra webservice)
Dato Offset: Enkelte kunder av Visma har opplevd at denne må settes til noen dager frem eller tilbake i tid. Default er 0 (dvs at den henter dagens dato). Alternativt vil [-2] f.eks hente data som er definert i webservice som to dager tilbake i tid
Lag grupper (Checkbox): Huk av om du ønsker at det skal genereres grupper basert på avdelingsinfo på brukeren.
Visma exporterer ikke grupper, men managment agenten kan lage grupper basert på felter på personobjektet. Feks. alle som har avdeling "Utdanningsetaten" blir samlet og lagt i en gruppe kaldt Utdannnigsetaten
Gruppeprefix: Hvis du ønsker å prefixe gruppene så kan det legges inn her.
F.eks HRM_ vil gi gruppenavn HRM_ + gruppenavn
Gruppesuffix: Hvis du ønsker å surfixe gruppene så kan det legges inn her.
F.eks HRM_ vil gi gruppenavn gruppenavn + _HRM
benyttes både pre og post-fix på gruppenavn vil begge legges til gruppenavnet
Merk at det kan være hensiktmessig å gjøre dette om dere har ID-er på enheter i Visma HRM som også kan være lik personers ID-er. På importen vil da agenten oppfatte disse objectene som om de allerede er importert, og ikke importere objektet igjen, selv om det da her er snakk om en enhet. Pre og postfix er derfor anbefalt
Velg gruppetyper: Huk av for de ulike gruppetyper du ønsker å lage - Unit grupper (krever organisasjons webservice lisens) - Dimension grupper (dimension2 benyttes) - BusinessNumber grupper - Company grupper
Flow
Person
Import
CS Object Type | CS Attributes | Mapping Type | MV Object Type | MV Attribute | Advanced Rule | Kommentar |
---|---|---|---|---|---|---|
person | businessNumbername | Direct | person | basOrgName | ||
person | businessNumbervalue | Direct | person | basOrgNumber | ||
person | companyName | Direct | person | company | ||
person | dateOfBirth | Direct | person | basPersonBirthDate | ||
person | Direct | person | ||||
person | employeeId | Direct | person | employeeID | ||
person | endDate | Direct | person | employeeEndDate | ||
person | familyName | Direct | person | lastName | ||
person | familyName, givenName | Advanced | person | displayName | VismaHRM_DisplayName | |
person | givenName | Direct | person | firstName | ||
person | jobTitle | Direct | person | jobTitle | ||
person | manager | Direct | person | manager | ref til leder | |
person | personIdHRM | Direct | person | basHRMID | ||
person | personIdHRM | Direct | person | basUniqeID | ||
person | positionCode | Direct | person | basPostitionID | ||
person | positionCodeName | Direct | person | basPostitionTitle | ||
person | ssn | Direct | person | basSSN | ||
person | startDate | Direct | person | employeeStartDate | ||
person | unitId | Direct | person | basOrgUnitNumber | ||
person | unitName | Direct | person | basOrgUnitName | ||
person | unitName | Direct | person | department | ||
person | workMobile | Direct | person | mobile | ||
person | workPhone | Direct | person | officePhone | ||
person | genderCode | Direct | person | gender | ||
person | alias | Direct | person | uid | kan være multivalue | |
person | loginID | Direct | person | |||
person | initials | Direct | person | uid | kan bare skrives hvis tomt | |
person | userId | Direct | person | |||
person | workTasks | Direct | person | |||
person | privateEmail | Direct | person | |||
person | privatePhone | Direct | person | |||
person | privateMobile | Direct | person | |||
person | category id | Direct | person | |||
person | categorydescription | Direct | person | |||
person | lastChangedDate | Direct | person | |||
person | employmentPercentage | Direct | person | |||
person | businessNumbername | Direct | person | basOrgName | ||
person | businessNumbervalue | Direct | person | basOrgNumber | ||
person | companyId | Direct | person | |||
person | companyName | Direct | person | |||
person | organizationNumber | Direct | person | |||
person | companyNumbername | Direct | person | |||
person | companyNumbervalue | Direct | person | |||
person | positionPercentage | Direct | person | |||
person | positionStartDate | Direct | person | |||
person | positionEndDate | Direct | person | |||
person | yearlyHours | Direct | person | |||
person | positionCode | Direct | person | |||
person | positionId | Direct | person | |||
person | tableNr | Direct | person | |||
person | positionCodeName | Direct | person | |||
person | positionTypeValue | Direct | person | |||
person | positionTypeName | Direct | person | |||
person | publicPositionCodeName | Direct | person | |||
person | publicPositionCodeValue | Direct | person | |||
person | dimension2name | Direct | person | department | ||
person | dimension2value | Direct | person | departmentNumber | ||
person | dimension3name | Direct | person | |||
person | dimension3value | Direct | person | |||
person | employments | Direct | person | referanse til employments |
Export
CS Object Type | CS Attributes | Mapping Type | MV Object Type | MV Attribute | Advanced Rule | Kommantar |
---|---|---|---|---|---|---|
person | alias | Direct | person | basUniqueID | (multivalue) | |
person | initials | Direct | person | basUniqueID | ||
person | Direct | person | ||||
person | workPhone | Direct | person | phone | ||
person | workMobile | Direct | person | mobile | ||
person | privatemobile* | Direct | person | |||
person | privatephone* | Direct | person | |||
person | jobtitle* | Direct | person | title | ||
person | paycheckByEmail* | Direct | person | |||
> *Dette er kun mulig med Advanced Export valgt |
Group
Import
CS Object Type | CS Attributes | Mapping Type | MV Object Type | MV Attribute | Advanced Rule |
---|---|---|---|---|---|
group | groupId | Direct | group | basUniqueID | |
group | groupName | Direct | group | displayName | |
group | members | Direct | group | member |
Export
Ingen flyt tilbake
Unit(Org Units)
Import
CS Object Type | CS Attributes | Mapping Type | MV Object Type | MV Attribute | Advanced Rule |
---|---|---|---|---|---|
unit | managerid | Direct | organizationalUnit | manager | |
unit | postaladdress1 | Direct | organizationalUnit | street | |
unit | postalarea | Direct | organizationalUnit | postalAddress | |
unit | postalcode | Direct | organizationalUnit | postalCode | |
unit | unitcompany | Direct | organizationalUnit | company | |
unit | unitemail | Direct | organizationalUnit | ||
unit | unitid | Direct | organizationalUnit | basUniqeID | |
unit | unitname | Direct | organizationalUnit | displayName | |
unit | unitparent | Direct | organizationalUnit | basParentOrgUnitRef | |
unit | visitaddress1 | Direct | organizationalUnit | physicalDeliveryOfficeName |
Export
Ingen flyt tilbake
Unit(Org Units)
Import
CS Object Type | CS Attributes | Mapping Type | MV Object Type | MV Attribute | Advanced Rule |
---|---|---|---|---|---|
employments | EmploymentId | Direct | employments | ||
employments | E_EmployeeId | Direct | employments | ||
employments | E_HRMID | Direct | employments | ||
employments | DateFrom | Direct | employments | ||
employments | DateTo | Direct | employments | ||
employments | OrgUnitId | Direct | employments | ||
employments | OrgUnitDescription | Direct | employments | ||
employments | PostCode | Direct | employments | ||
employments | PostCodeDescription | Direct | employments | ||
employments | MainPosition | Direct | employments | ||
employments | E_ManagerId | Direct | employments | ||
employments | PositionTitle | Direct | employments | ||
employments | PositionId | Direct | employments | ||
employments | PositionType | Direct | employments | ||
employments | PositionPercentage | Direct | employments | ||
employments | PositionDescription | Direct | employments |
Export
Ingen flyt tilbake
Kode
Repository
VigoBAS Git Repository: https://dev.azure.com/VIGO-BAS/VIGO-BAS/_git/vigo-bas Mappe: agents/visma-hrm-ma
NB! Dette repositoryet innholder submoduler. Ta hensyn til dette ved utsjekk av koden
Kildesystem Dokumentasjon
Webservicer
Er det nødvendig med dokumentasjon av webservicene til Visma, kan dette skaffes ved å kontakte visma direkte.
Visma HRM_WS XML Eksempler
Person
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <person personIdHRM="2019" xsi:noNamespaceSchemaLocation="http://vismaweb:8090/hrm_ws/schemas/person/enterprisePersonExport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <authentication>
<initials>OLNO</initials>
<userId>3234</userId>
<username>OLA NORMANN</username>
<alias>OLNO</alias>
<alias>OLA.NORMANN</alias>
</authentication>
<careerInfo />
- <contactInfo>
<email>ola.normann@vigobas.no</email>
<mobilePhone>99999999</mobilePhone>
<workPhone>77777777</workPhone>
<paycheckByEmail>false</paycheckByEmail>
<privateMobilePhone>99999999</privateMobilePhone>
</contactInfo>
<dateOfBirth>1942-12-17</dateOfBirth>
- <dependents>
- <dependent>
<aloneWithChild>false</aloneWithChild>
<birthYear>1986-04-30</birthYear>
<chronicallyIll>false</chronicallyIll>
- <contactInfo>
<mobilePhone>+4799999999</mobilePhone>
</contactInfo>
<name>Kari Normann</name>
- <postalAddress>
<address1>Sivert Tobiesens Gate 4</address1>
<countryCode>NO</countryCode>
</postalAddress>
<primary>true</primary>
<relation>COHABITANT</relation>
</dependent>
</dependents>
- <employments>
- <employment>
- <bankDetails>
<accountNumber>47602212345</accountNumber>
<alias>Hovedkonto</alias>
<nationalityCode>NO</nationalityCode>
</bankDetails>
- <category id="F">
<description>Fast avlønning</description>
</category>
- <company>
<companyId>1</companyId>
<companyName>Vigo IKS</companyName>
<organizationNumber>852852852</organizationNumber>
</company>
<employeeId>1923</employeeId>
<employmentPercentage>100.0</employmentPercentage>
<lastChangedDate>2016-09-21T11:31:25.843</lastChangedDate>
<lastEmployeed>1989-08-20</lastEmployeed>
<paymentInAdvance>0.00</paymentInAdvance>
<pension name="KLP 11" value="10" />
- <positions>
- <position isPrimaryPosition="true" validFromDate="2016-02-01">
- <chart id="2" name="Orgkart Vigo">
- <unit id="119000" name="IT-senteret">
<manager id="1234" name="Sjef Sjefsen" />
<roles />
</unit>
</chart>
- <costCentres>
<dimension2 name="IT-senteret" value="000000042080" />
<dimension3 name="IT-sjef" value="119000" />
</costCentres>
<customId>3</customId>
- <fixedTransactions>
- <fixedTransaction uniqueKey="15284">
<amount>234.67</amount>
<costCentres />
<number>0.00</number>
<payCode>100</payCode>
<rate>0.00</rate>
<type name="AUTOMATIC" value="A" />
</fixedTransaction>
- <fixedTransaction uniqueKey="6678">
<amount>500.00</amount>
<costCentres />
<number>0.00</number>
<payCode>104</payCode>
<rate>0.00</rate>
<type name="B" value="B" />
</fixedTransaction>
- <fixedTransaction uniqueKey="3184">
<amount>16725.00</amount>
<costCentres />
<number>0.00</number>
<payCode>100</payCode>
<rate>0.00</rate>
<type name="B" value="B" />
</fixedTransaction>
</fixedTransactions>
<lastChangedDate>2016-02-25T15:39:55.743</lastChangedDate>
<location name="Sentraladministrasjonen" value="1" />
<positionCategoryNumber>1</positionCategoryNumber>
- <positionInfo>
<positionCode name="Rådgiver" positionCode="5509" positionId="2" tableNr="50" />
<positionType name="Fast dagtid" value="FD" />
- <publicPositionCode name="Rådgiver" value="8530">
<set>KS</set>
<setType>KSSKODE</setType>
</publicPositionCode>
</positionInfo>
<positionPercentage>100.0</positionPercentage>
<positionStartDate>2007-08-01</positionStartDate>
- <positionStatistics includeInAA="true" includeInPAI="true">
<businessNumber name="SENTRALADMINISTRASJONEN" value="874056952" />
<companyNumber name="TFK SENTRALADMINISTRASJONEN" value="974795132" />
- <servicePlace id="1900">
<name>E Kont.Sentradm.</name>
</servicePlace>
<workClassification name="Rådgiver (data)" value="2130106" />
<workMunicipality name="TROMSØ KOMMUNE" value="1902" />
</positionStatistics>
- <salaryInfo>
<authorizedPosition value="1190116" name="IKT-rådgiver" />
<basicSalary>120700.00</basicSalary>
<salaryTable name="Ansatte kap. 5" value="50" />
- <wageFrame code="P">
<description>Personlig lønn</description>
</wageFrame>
<wageFrameAutoRiseCode>A</wageFrameAutoRiseCode>
<yearlySalary>120700.00</yearlySalary>
</salaryInfo>
<shiftWork>false</shiftWork>
<weeklyHours>37.50</weeklyHours>
<workDaysInWeek friday="true" monday="true" saturday="false" sunday="false" thursday="true" tuesday="true" wednesday="true" />
<yearlyHours>1950.00</yearlyHours>
</position>
</positions>
<startDate>1984-08-20</startDate>
- <statistics>
<paiEducation name="Videregående kurs 11 fra vid.skole, studieretning håndverk og industri" value="518" />
</statistics>
- <taxDetails>
<cardYear>2016</cardYear>
<deductionLimit>false</deductionLimit>
<fullTax>false</fullTax>
<secondEmployee>false</secondEmployee>
<taxDeductionCard cardId="2408" cardName="Månedstabell" cardType="M" />
<taxExemptionCard>0.00</taxExemptionCard>
<taxPercentage>44.00</taxPercentage>
</taxDetails>
<union name="Skolenes Landsforbund" value="882" />
</employment>
</employments>
<familyName>Normann</familyName>
<genderCode>MALE</genderCode>
<givenName>Ola</givenName>
- <hrmAuthentications>
- <hrmAuthentication>
<logonId>OLA.NORMANN</logonId>
<type name="EXTERNAL_USER" value="3" />
</hrmAuthentication>
</hrmAuthentications>
<lastChangedDate>2016-02-24T09:07:59.63</lastChangedDate>
<maritalStatus>COHABITANT</maritalStatus>
<municipality name="Vigo KOMMUNE" value="1902" />
<nationalityCode>NO</nationalityCode>
- <postalAddress>
<address1>SIVERT TOBIESENS GATE 4</address1>
<countryCode>NO</countryCode>
<postalArea>Oslo</postalArea>
<postalCode>0007</postalCode>
</postalAddress>
<socialSecurityOffice name="NAV Oslo" value="1902" />
<ssn>171245123455</ssn>
</person>
Unit
<unit id="119000" company="1" kode="196" name="IT-senteret" parentid="3">
<contactInfo>
<email>support@vigobas.no</email>
<fax/>
<phone>77777777</phone>
<postaladdress1>Postboks 6600</postaladdress1>
<postaladdress2/>
<postalarea>Oslo</postalarea>
<postalcode>0007</postalcode>
<visitaddress1>Strandveien 13</visitaddress1>
<visitaddress2/>
<visitpostalarea>Oslo</visitpostalarea>
<visitpostalcode>0007</visitpostalcode>
</contactInfo>
<manager id="1234" name="Sjef Sjefsen"/>
<roles>
<role id="1" description="Leder">
<employees>
<employee id="1234" name="Sjef Sjefsen"/>
</employees>
</role>
<role id="5" description="Ass.leder">
<employees/>
</role>
<role id="9" description="Avd.leder">
<employees/>
</role>
<role id="24" description="BI-tilgang">
<employees/>
</role>
</roles>
<tasks>
<task id="2" description="Attestant timelønn">
<employees>
<employee id="1783" name="Hans Hansen"/>
<employee id="3945" name="Mons Monsen"/>
<employee id="2898" name="Tor Torsen"/>
</employees>
</task>
<task id="3" description="Anviser timelønn og fravær">
<employees>
<employee id="1234" name="Sjef Sjefsen"/>
</employees>
</task>
<task id="4" description="Sekretær">
<employees/>
</task>
<task id="14" description="Attestant fravær">
<employees/>
</task>
<task id="15" description="Attestant ferie">
<employees/>
</task>
<task id="18" description="Attestant personalskjema">
<employees>
<employee id="1783" name="Hans Hansen"/>
<employee id="3945" name="Mons Monsen"/>
<employee id="2898" name="Tor Torsen"/>
</employees>
</task>
<task id="21" description="Attestant Expence">
<employees>
<employee id="1783" name="Hans Hansen"/>
<employee id="3945" name="Mons Monsen"/>
<employee id="2898" name="Tor Torsen"/>
</employees>
</task>
<task id="22" description="Anviser Expence">
<employees>
<employee id="1234" name="Sjef Sjefsen"/>
</employees>
</task>
</tasks>
</unit>