Vejledning til import af data til Visma Enterprise

This document provides a detailed description of the fields in the XML master data file that eADM imports from Visma Enterprise HRM (VEP). It is intended for technical personnel responsible for setting up and maintaining the integration.

The file is delivered as a <personsXML> document containing one <person> element per employee. Each person record holds identity details, contact information, and one or more <employment> records describing the employee's positions, organisational placement, and compensation.

Warning: The source file can contain sensitive information, including salary details, tax data, bank account numbers, and dependent information. Review the Filtering and Transforming Import Data guide before importing an unfiltered file, and remove any elements that are not required by the integration.


Medarbejderoplysninger

Eksempel på medarbejderoplysninger

Below is an anonymised example of a <person> element for a single employee. All identifying values (name, national identity number, contact details, organisation number) have been replaced with placeholder data.

XML
<person personIdHRM="10023">
    <authentication>
        <initials>KARNOR</initials>
        <userId>1042</userId>
        <username>KARI NORDMANN</username>
        <alias>KARNOR</alias>
    </authentication>
    <careerInfo>
        <jobTitle>Sykepleier</jobTitle>
        <workTasks>Sykepleier</workTasks>
    </careerInfo>
    <contactInfo>
        <email>kari.nordmann@utfjord.kommune.no</email>
        <workPhone>00000000</workPhone>
        <privateMobilePhone>00000000</privateMobilePhone>
        <paycheckByEmail>false</paycheckByEmail>
    </contactInfo>
    <dateOfBirth>1985-01-01</dateOfBirth>
    <dependents/>
    <employments>
        <employment>
            <bankDetails>
                <accountNumber>00000000000</accountNumber>
                <alias>Hovedkonto</alias>
                <nationalityCode>NO</nationalityCode>
            </bankDetails>
            <category id="F3"><description>Fast tilsett utvida</description></category>
            <company>
                <companyId>1</companyId>
                <companyName>Utfjord kommune</companyName>
                <organizationNumber>000000000</organizationNumber>
            </company>
            <companySeniority>2018-01-01</companySeniority>
            <employeeId>10023001</employeeId>
            <employmentPercentage>100.0</employmentPercentage>
            <lastChangedDate>2026-07-01T08:00:00</lastChangedDate>
            <pension name="KLP fellesordning" value="18"/>
            <positions>
                <position isPrimaryPosition="true" validFromDate="2026-01-01">
                    <chart id="5" name="Utfjord kommune">
                        <unit id="1001" name="Helse og omsorg">
                            <manager id="6001" name="Ola Leder"/>
                        </unit>
                    </chart>
                    <costCentres>
                        <dimension2 name="Helse og omsorg" value="2000"/>
                    </costCentres>
                    <employmentPositionPercentage>100.0</employmentPositionPercentage>
                    <positionCategoryNumber>1</positionCategoryNumber>
                    <positionInfo>
                        <positionCode name="Sykepleier" positionCode="7174" positionId="1" tableNr="50"/>
                        <positionType name="Fast" value="F"/>
                        <publicPositionCode name="Sykepleier" value="7174"><set>KS</set><setType>KSSKODE</setType></publicPositionCode>
                    </positionInfo>
                    <positionPercentage>100.0</positionPercentage>
                    <positionStartDate>2018-01-01</positionStartDate>
                    <positionStatistics includeInAA="true" includeInPAI="true">
                        <workClassification name="Sykepleier" value="2223114"/>
                        <workMunicipality name="UTFJORD KOMMUNE" value="0000"/>
                    </positionStatistics>
                    <salaryInfo>
                        <basicSalary>000000.00</basicSalary>
                        <salaryStep>0</salaryStep>
                        <salaryTable name="Kommuneansatte kap. 4" value="4025"/>
                        <yearlySalary>000000.00</yearlySalary>
                    </salaryInfo>
                    <weeklyHours>37.50</weeklyHours>
                </position>
            </positions>
            <taxDetails>
                <taxDeductionCard cardId="0000" cardName="Månedstabell" cardType="M"/>
                <taxPercentage>00.00</taxPercentage>
            </taxDetails>
        </employment>
    </employments>
    <familyName>Nordmann</familyName>
    <genderCode>FEMALE</genderCode>
    <givenName>Kari</givenName>
    <municipality name="UTFJORD KOMMUNE" value="0000"/>
    <nationalityCode>NO</nationalityCode>
    <postalAddress>
        <address1>Eksempelveien 1</address1>
        <countryCode>NO</countryCode>
        <postalArea>UTFJORD</postalArea>
        <postalCode>0000</postalCode>
    </postalAddress>
    <socialSecurityOffice name="NAV UTFJORD" value="0000"/>
    <ssn>00000000000</ssn>
</person>

Bemærk: A person can have several <employment> records (e.g. one per employer within a multi-company setup), and each employment can hold several <position> records. Only one position per employment is marked isPrimaryPosition="true".

Identity, Authentication and Contact Fields

XML-sti

Beskrivelse

Datatype

Obligatorisk

Anvendelse

person@personIdHRM

Internal Visma Enterprise person ID.

Heltal

Ja

Uniquely identifies the person record; used as the source key for matching during synchronisation.

ssn

Norwegian national identity number (fødselsnummer).

Streng

Ja

Primary identifier used to match the person across eADM, Active Directory, and Feide.

givenName / familyName

First name and last name.

Streng

Ja

Used to build display names and email addresses in target systems.

authentication/username

Full name as registered for logon.

Streng

Nej

Reference field; not normally used directly.

authentication/alias

Username alias.

Streng

Nej

Can be used as a candidate value for the target-system username (e.g. sAMAccountName).

dateOfBirth

Date of birth.

Dato

Nej

Can be used in age-based rule sets.

genderCode

Gender (MALE / FEMALE).

Streng

Nej

Rarely used in access rules.

careerInfo/jobTitle

Free-text job title.

Streng

Nej

Can be exported to target systems as a descriptive title; not used for access control.

contactInfo/email, privateEmail

Work and private email address.

Streng

Nej

Used in notification flows, particularly before a work account exists.

contactInfo/workPhone, privateMobilePhone

Work and private phone numbers.

Streng

Nej

Used in directory synchronisation and notification flows.

postalAddress

Home address.

Streng

Nej

Rarely used; consider filtering out (see Warning above).

Employment and Position Fields

XML-sti

Beskrivelse

Datatype

Obligatorisk

Anvendelse

employment/employeeId

Employee number for this specific employment relationship.

Heltal

Ja

A person can have several employments; this uniquely identifies each one.

employment/category

Employment category code and description (e.g. F3 / "Fast tilsett utvida").

Streng

Nej

Distinguishes permanent, temporary, and hourly employment types; used in rule sets.

employment/company

Employer entity (name and organisation number).

Streng

Nej

Used when importing data from multiple companies (see "Importing data from multiple companies").

employment/employmentPercentage

Overall employment percentage across all positions.

Decimal

Nej

Used to distinguish full-time from part-time employment.

position@isPrimaryPosition

Marks the primary position.

Boolean

Ja

Determines which position governs the user's main account, department, and manager. See "Using the Position Filter".

position/chart/unit

Organisational unit the position belongs to.

String / ID

Ja

Used to place the user in the organisational hierarchy and to assign group memberships.

position/chart/unit/manager

Line manager of the unit.

String / ID

Nej

Used for manager look-ups, approval flows, and onboarding/offboarding notifications.

position/positionInfo/positionCode

Internal position code and title.

Streng

Nej

Used for role-based access control.

position/positionInfo/positionType

Position or employment status code (e.g. F "Fast" [permanent], PF "Foreldrepermisjon" [parental leave], PU "Perm u/lønn" [unpaid leave], V "Vikar" [temporary substitute]).

Streng

Nej

Source field for eADM's QualificationCode attribute. See "Understanding the QualificationCode Attribute" below.

position/positionInfo/publicPositionCode

Statutory position code (KS tariff, "KSSKODE").

Streng

Nej

Used for tariff-based rules and statutory reporting.

position/positionPercentage

Percentage this specific position occupies.

Decimal

Nej

Used in position filters. See "Using the Position Filter".

position/positionStartDate, positionEndDate, @validFromDate

Position validity dates.

Dato

Nej

Used to activate and deactivate access tied to the position.

position/costCentres/dimensionX

Cost centre / budget dimension.

Streng

Nej

Used for organisational reporting; rarely used for access control.

position/leave

Leave period, type, and percentage.

String / Date

Nej

Can be used to suspend or adjust access during long-term leave.

Compensation, Tax and Statistics Fields

XML-sti

Beskrivelse

Datatype

Obligatorisk

Anvendelse

position/salaryInfo/basicSalary, yearlySalary

Salary figures.

Decimal

Nej

Not used for access control. Highly sensitive; recommended to filter out before import (see Warning above).

position/positionStatistics/workClassification

Standard occupation classification (STYRK).

Streng

Nej

Used for statutory statistics reporting, not for access control.

statistics/paiEducation

Registered education level (PAI / SSB education code).

Streng

Nej

Statutory reporting field; a separate concept from eADM's QualificationCode attribute, see below.

employment/taxDetails

Tax withholding details (tax card, percentage).

String / Decimal

Nej

Sensitive; not used by eADM. Recommended to filter out.

dependents/dependent

Family members registered for pay or insurance purposes.

Streng

Nej

Sensitive; recommended to filter out unless specifically required.


Organisational Hierarchy

The organisational hierarchy is delivered separately from the employee data, as a <charts> file containing one <chart> element with a flat list of <unit> elements. Each unit references its parent, so the hierarchy is reconstructed by the importing system rather than being nested in the XML.

Example of Organisational Data

Below is an anonymised example showing a top-level unit and one of its child units.

XML
<charts>
    <chart id="5" name="Utfjord kommune">
        <units>
            <unit company="1" kode="40" id="1" name="Kommunedirektør" unitType="Kommunedirektør" parentid="0">
                <manager id="6001" name="Ola Leder">
                    <proprietorType>PERMANENT</proprietorType>
                </manager>
                <contactInfo>
                    <phone/>
                    <email/>
                </contactInfo>
                <tasks>
                    <task id="8" description="Tilvisar">
                        <employees>
                            <employee id="6001" name="Ola Leder">
                                <proprietorType>PERMANENT</proprietorType>
                            </employee>
                        </employees>
                    </task>
                </tasks>
                <roles>
                    <role id="4" description="Leiar">
                        <employees>
                            <employee id="6001" name="Ola Leder">
                                <proprietorType>PERMANENT</proprietorType>
                            </employee>
                        </employees>
                    </role>
                </roles>
            </unit>
            <unit company="1" kode="7" id="200" name="Helse og omsorg" unitType="Kommunalområde" parentid="40">
                <manager id="6002" name="Kari Nordmann">
                    <proprietorType>PERMANENT</proprietorType>
                </manager>
                <contactInfo>
                    <phone/>
                    <email/>
                </contactInfo>
                <tasks/>
                <roles/>
            </unit>
        </units>
    </chart>
</charts>

Bemærk: The top-level unit (here, "Kommunedirektør") has parentid="0". Every other unit's parentid refers to the kode of its parent unit, not the parent's id. Confusing these two attributes is a common source of hierarchy errors; see "Visma's Recommended Organizational Structure and its Impact on eADM".

Organisational Field Descriptions

XML-sti

Beskrivelse

Datatype

Obligatorisk

Anvendelse

chart@id, chart@name

Identifier and name of the organisation chart (typically the municipality or company).

Integer / String

Ja

Root of the imported hierarchy.

unit@id

Internal Visma Enterprise unit ID.

Streng

Ja

Matches position/chart/unit@id in the employee file, used to place employees in the hierarchy.

unit@kode

Short numeric chart code for the unit.

Heltal

Ja

Referenced by child units' parentid to build the hierarchy. See Note above.

unit@parentid

Den kode of the parent unit (0 for the top-level unit).

Heltal

Ja

Builds the parent-child structure of the organisation.

unit@name

Department or unit name.

Streng

Ja

Displayed in target systems and used to build group names.

unit@unitType

Type of unit (e.g. "Kommunedirektør", "Kommunalområde", "Eining", "Team", "Ikkje tilsett").

Streng

Nej

Can be used in rule sets to distinguish organisational levels. See "Visma's Recommended Organizational Structure and its Impact on eADM".

unit@company

Company ID the unit belongs to.

Heltal

Nej

Used when importing data from multiple companies.

manager@id, manager@name

The unit's manager.

Streng

Nej

Used for manager look-ups, approval flows, and onboarding/offboarding notifications.

tasks/task

A named task (e.g. "Attesterar", "Godkjenne fråvær") with the employees, and optionally a supervisor, assigned to it.

Streng

Nej

Used to grant task-specific access, such as approval or invoicing rights, independent of formal position.

roles/role

A named role (e.g. "Leiar", "BI tilgang") with the employees, and optionally a supervisor, assigned to it.

Streng

Nej

Used to grant role-specific access rights independent of formal position.

contactInfo/*

Postal address, visiting address, phone, and email for the unit.

Streng

Nej

Typically empty in practice; rarely used.


Understanding the QualificationCode Attribute

In HR systems like Visma Enterprise, a qualification code is a standardized tag used to record an employee’s formal education, licenses, and skills.

Instead of typing free text, HR uses these uniform codes so the system can automatically use the data for three main purposes:

  • Payroll & Tariffs: Links to job codes to ensure correct salary placement (e.g., registering a new degree automatically flags the employee for a pay raise).

  • Resource Management: Allows managers to easily track who is authorized to perform specific duties (e.g., checking who holds a valid healthcare license or heavy machinery certificate).

  • Reporting & Compliance: Provides clean data for internal competence mapping and statutory government reporting (like to Statistics Norway).

Typical Examples: "Bachelor's Degree," "HPR Authorization (Healthcare)," or "First Aid Certification."


Senest opdateret: