Dayforce logoVisma.net ERP logo

HR to ERP

Dayforce to Visma.net ERP integration: employees with department, class and calendar from the primary assignment

With an integration between Dayforce and Visma.net ERP, every employee from Dayforce appears automatically as an employee in Visma.net, with department, branch and calendar of their primary assignment and an employee class based on their employment. KoppelHet passes on changes that take effect later in Dayforce on that date, and a termination makes the employee inactive in Visma.net.

What the integration does

Organisations that run HR and payroll in Dayforce and process projects, hours or expenses in Visma.net ERP enter every new employee twice. A transfer recorded in advance in Dayforce has to be changed in Visma.net by finance on the right day.

  1. HR hires someone in Dayforce, with a primary assignment and an employment status.
  2. Every hour KoppelHet fetches the changed employees, with assignments and statuses.
  3. KoppelHet creates the employee in Visma.net with department, branch, calendar and class.
  4. KoppelHet passes on a change with a later effective date on that day.
  5. After the last working day KoppelHet sets the employee to inactive.
Dayforce → KoppelHet → Visma.net ERPSOURCEDayforceTARGETVisma.net ERPKoppelHetmapping · logging · monitoringDayforce → KoppelHet → Visma.net ERPSOURCEDayforceTARGETVisma.net ERPKoppelHetmapping · logging · monitoring
Out: Employee with employee number, name and work email · Department, branch and calendar from the primary assignment · Employee class from the pay class · Status active or inactive

What to watch for with Dayforce and Visma.net ERP

  • Dayforce records a pay class on the employment, such as full-time or part-time, and a pay type, such as salaried or hourly. Visma.net divides employees into classes with their own defaults. KoppelHet chooses the employee class from those two Dayforce fields, through a table finance sets up.
  • A field without a value is missing from Dayforce's response, just like a field the API role has no access to. Visma.net rejects an employee without a department or calendar. KoppelHet therefore distinguishes: if a required field is missing, it does not create the employee and reports whether it is an empty field or missing rights.
  • In Dayforce field access must be enabled per data element, including all parent elements. At the start KoppelHet checks with a known employee that department, location, pay class and work email are all visible, before the first employee goes to Visma.net.
  • Dayforce can record changes in advance and lets you request them for a date range. Visma.net has no effective date on an employee. Every night KoppelHet checks which changes take effect the next day, and only changes the department or branch in Visma.net on that day.
  • An employee in Dayforce can have several assignments, one of which is primary. An employee in Visma.net has one department and one branch. KoppelHet takes those of the primary assignment; the employee books hours for the other assignment on the project in Visma.net.
  • Branches in the Visma.net API are read-only, while locations in Dayforce are added freely. KoppelHet links each Dayforce location to an existing branch and calendar through a table. A new location without a row in the table becomes an alert to finance.
  • Dayforce looks up an employee in the API by XRefCode, which can differ from the employee number. Visma.net uses the employee's number as the key in the URL. KoppelHet uses the employee number as the employee number in Visma.net and keeps track of the XRefCode itself.

How we build and run it

  • The integration runs on the KoppelHet platform, hosted in a data centre in the EU.
  • Every sync and every error is visible in the functional log; on an error your administrator is notified.
  • A change that cannot go through is not half-applied but queued for another attempt.
  • KoppelHet is ISO 27001 certified. Data travels encrypted and stays on the platform no longer than needed.
  • After go-live we manage the integration and adjust it when your process changes.
  • The integration fits next to your existing integration layer. Only the fields in the design are transferred; the platform keeps no register of its own.

Implementation, architecture and compliance

Implementation and price

This is not an app you switch on. We build the integration for your organisation on our platform, with building blocks we reuse on every project. So it is custom work that does not start from scratch.

A consultant prepares the intake and analyses both systems. We then record the mapping and exceptions field by field, test in the test or acceptance environment and go live at a moment you choose. Costs are a one-off amount for the setup and a monthly amount for platform, monitoring and support.

Price indication · Basic

Leave your work email and you see the price indication right away.

We only use your address to follow up on your question about this integration.

Frequently asked questions

Does the payroll journal from Dayforce also go to Visma.net?

Not in this integration. The journal is a payroll to finance integration, which can be added later as an extension.

Do clocked hours from Dayforce go to Visma.net projects?

Not in the smallest setup. Hours on projects are booked in Visma.net; a flow of hours can be added later as an extension.

Technical details for IT

For those who want to know how it works under the hood: APIs, fields and sources used.

  • Dayforce through the REST API (/api/{CompanyName}/V1/Employees/{XRefCode}). Changed employees through GET Employee XRefCodes with FilterUpdatedStartDate and FilterUpdatedEndDate; details with Expand on WorkAssignments (Position with Department, Location, IsPrimary, EffectiveStart, EffectiveEnd) and EmploymentStatuses (EmployeeNumber, PayClass, PayType), with ContextDateRangeFrom and ContextDateRangeTo. Web Services Field-Level Access per element; empty fields are left out.
  • Visma.net ERP through the Service API with Visma Connect (OAuth 2.0 client credentials). POST /v1/employee (required employeeCd, department, employeeClass, branch, calendar and contact with lastName and email), PUT /v1/employee/{employeeCd} with If-Match, status Active or Inactive; GET /v1/branch (read-only); GET /v1/employee with lastModifiedDateTime for the comparison.

Which fields are transferred

The key fields. The full mapping is agreed per customer.

Field in DayforceField in Visma.net ERPNotes
EmploymentStatuses.EmployeeNumberemployeeCdFixed key; KoppelHet stores the XRefCode separately
FirstName, LastNamecontact.firstName en lastName
Werk-e-mailcontact.email
WorkAssignments.Position.Department (IsPrimary)department
WorkAssignments.Location (IsPrimary)branch en calendarThrough a table
EmploymentStatuses.PayClass en PayTypeemployeeClassThrough a table
EmploymentStatuses (beëindigd, EffectiveStart)status Inactive

Related

Which systems do you want to connect?

Tell us which systems you use and what should happen automatically. Together we define the smallest working solution, with a clear design and a quote before building.