Your ERP (SAP, Uyumsoft, Logo, Mikro) remains the single source of truth for personnel and payroll. The Intranet Portal mirrors that data read-only and opens it to every employee as a personal profile, payslip, personnel document, org chart and live analytics dashboard for HR management. For group companies without an ERP, the same screens are populated via Excel import, so no one is left out.
SAP, Uyumsoft, Logo or Mikro hold the employee master record and payroll; that is exactly where they belong and where they should stay. But an ERP does not offer a mobile, self-service front-end open to 5,000 employees: staff cannot view their own payslip, download a personnel document, or find their place on the org chart. Building this bridge layer inside the ERP itself, opening a SAP/Uyumsoft screen and license for every single employee, is both a GDPR liability and a prohibitive cost. The Intranet Portal leaves the ERP as the single source of truth and safely opens personnel data to everyone through a read-only mirror, minimised in line with GDPR. It never touches the ERP; it becomes the self-service layer that runs on top of it.
From the SAP OData service, only active staff (Personnelstatus=3) are pulled, together with company code, personnel area, cost centre, org unit, position and job fields; in Uyumsoft the data comes from the hrmd_register + hrmd_employee tables keyed on the registration code. The portal refreshes the mirror and never writes any field back to the ERP.
Every employee sees their own record on web and mobile: contact details, department, job title, hire date, manager, emergency contact and bank/IBAN information. The user account is matched automatically to the personnel record by registration/personnel code; where no match exists, there is a manual mapping route.
Employees view their own payslip period by period: gross pay, income tax, employee social security contribution, stamp duty, deductions and net pay shown separately; the PDF payslip can be downloaded. Payroll is calculated in the ERP and the portal only displays it read-only to the relevant person.
Documents such as contracts, diplomas, medical reports and driving licences are stored by type, with issue and validity dates recorded. Documents that have expired or will expire within 30 days are flagged automatically; HR confirms each document through verification (verified_by).
Using the manager_id and direct-report relationships, you see live who reports to whom, in which department and in which position they work. Positions are defined with a min/max salary band, level and a 'management position' flag; the chart is fed by the ERP's org unit data.
A role-based HR dashboard covering demographics, hiring, turnover, overtime, attendance and leave, training, diversity and occupational health & safety. Clicking a monthly headcount in/out figure opens the underlying list of people; the list exports to JSON or Excel (xlsx).
For group companies not connected to a payroll ERP, personnel data is uploaded in bulk via an Excel template: errors are first surfaced in a preview step (import/preview), then the records are saved. This way, those in SAP/Uyumsoft and those without both use the same self-service screens.
Sync runs under a lock: while a SAP sync is in progress, a second one cannot be started (10-minute window), every run is written to SapSyncLog, and manual triggers are logged with the user's identity. A scheduled task performs idempotent daily or hourly refreshes.
Viewing, creating, editing, deleting and exporting personnel are protected by separate permissions (RBAC); the personnel list is gated behind a dedicated HR permission. Personal data such as national ID number and date of birth are mirrored at the minimum necessary; sensitive fields are shown according to permission level.
A scheduled sync pulls active staff from the SAP OData / Uyumsoft hrmd tables and updateOrCreates them into the local employees mirror table, keyed on registration/personnel code. The ERP remains the single source of truth; the mirror is refreshed read-only.
The portal user is linked to the personnel record by registration code; denormalised fields (company, job title, department, active status) are fed from the matched personnel record. Users with no match are mapped manually from the HR panel.
Every employee sees their own profile, payslip, personnel documents and place on the org chart from web or mobile. Access is restricted by RBAC; each person reaches only their own sensitive data.
HR management monitors the demographics, turnover, overtime and OHS dashboards, sees document expiry alerts, and exports the list of people to Excel when needed. For companies without an ERP, data is fed in via Excel import.
The HR & Personnel module is a read/mirror layer that sits on top of the ERP's personnel and payroll data. The ERP remains the single source of truth; the portal pulls the data, applies GDPR minimisation and opens it to the employee, never writing any field back. Companies without an ERP use the same screens via Excel import.
The sap:sync-employees command pulls only active staff (Personnelstatus=3) from SAP, together with company code, personnel area, cost centre, org unit, position and job fields, and writes to SapSyncLog. An FTP-based variant (sap:sync-hr-ftp) is also available.
The uyumsoft:sync-employees command pulls personnel from Uyumsoft's hrmd_register + hrmd_employee tables via GetDataTableWithSQL, upserts by register_id and links to the user via register_code. The token is cached for 2 hours and renewed 5 minutes before expiry.
The mirror is one-way: fields owned by the ERP cannot be changed from the portal. Payroll is calculated in the ERP and the portal only shows the payslip to the relevant employee. Write-back happens only in separately approved, later phases and outside sensitive fields.
For group companies not connected to a payroll ERP, personnel are imported via an Excel template, with errors surfaced in a preview step. This way, even when the master data does not come from an ERP, the same personnel model and self-service screens still work.
Tell us your ERP and your process. We’ll show how this module works and scope it into your subscription — no man-day, licence or setup fee.
Book a Demo →