Starting point
Personnel master data was in SAP HR, while time-and-attendance and HR processes ran in Idenfit. A one-way integration built by a previous supplier connected the two. The revision request centred on one point: the integration must not erase information managed by hand in Idenfit.
What is transferred
A custom RFC function in SAP is called as a SOAP service; nothing is written back to SAP. Profile, address, personal data, company, branch, unit, position, collar type, dates, social security number, family, education and bank details are transferred to Idenfit. Leave and absence records are out of scope. Codes for bank, university, faculty, school type, degree, disability level and social security group are translated into descriptions through local mapping tables.
Protecting data kept in Idenfit
Idenfit also cleared fields that an update request left empty. The service therefore reads the person's current Idenfit record first, merges it with the SAP data and keeps the shift, time and pay settings managed in Idenfit. Department, position and termination reason are matched to Idenfit definitions by name; missing definitions are created in Idenfit.
Leavers
Staff with a leaving action in SAP are deactivated in Idenfit with the leave date and reason; when SAP gives no reason, a default is used. This behaviour can be switched on or off per company.
Kontinus flow
A separate Windows service reads, per branch, the staff changed in Idenfit since the last synchronisation and sends them to Kontinus in batches. Fields such as name, birth details, education, start and leave dates, position and department are transferred; the IDs returned by Kontinus are stored in a local table.
Operation
Each company code works with its own Idenfit account and receives its own email report listing created, updated and failed staff numbers separately for active staff and leavers. Owners are emailed when the service stops, and daily logs are kept. Requests to Idenfit are throttled on the service side, and selected staff numbers can be excluded by configuration.