Attendance to Mudad & WPS: Payroll Export Guide
"Link the fingerprint machine to Mudad" is one of the most common requests HR teams make in Saudi Arabia — and it is based on a small misunderstanding. Mudad does not receive attendance. It receives the wage protection (WPS) file: what each employee was paid and into which account. Attendance matters because it changes what employees are paid — absences, lateness and overtime — so the real task is getting clean attendance totals into payroll, and payroll's file into Mudad on time. This guide walks through that chain, with the Ministry's rules as of September 2026.
Short answer: attendance reaches Mudad through payroll. Close the month in your attendance system, export the totals, calculate salaries in your payroll system, generate the WPS file, and upload it on Mudad Business within 30 days. TECFY Attendance handles the first part — capturing, calculating and locking the month, then exporting reports to Excel or PDF — but it does not connect to Mudad or produce WPS files itself.
What Mudad and WPS actually require
The Ministry of Human Resources and Social Development (HRSD) describes the service as an electronic upload of a sealed file containing pay and reconciliation data, with the establishment's compliance rate updated immediately (HRSD service page).
| Item | Rule |
|---|---|
| Platform | Mudad Business (no longer the Ministry's e-services site) |
| Prerequisites | Establishment registered with the Ministry, GOSI registration, bank accounts for the establishment and employees |
| Steps | Select the establishment → Upload Files → choose wage type and month → select the file → upload → check Compliance Information |
| Fee | Free |
| Upload window | 30 days — reduced from 60 days, effective 1 March 2025 (SPA, 3 February 2025) |
The 30-day window is why attendance matters: if the month is not closed and reviewed quickly, payroll runs late, and the file misses its window.
The chain from punch to Mudad
| Stage | Where it happens | Output |
|---|---|---|
| 1. Capture punches | Attendance system — devices, phones, browser | Raw access log |
| 2. Calculate each day | Attendance system, against each employee's shift | Late, early leave, absence, overtime per day |
| 3. Apply exceptions and close | Attendance system — leave, excuses, remote work, manual entries | Locked monthly totals |
| 4. Calculate salaries | Payroll system | Payslips — deductions, overtime pay, GOSI |
| 5. Produce the WPS file | Payroll system or bank | Wage protection file |
| 6. Upload | Mudad Business | Compliance rate |
TECFY Attendance covers stages 1 to 3 and hands over at stage 4. HR and payroll suites such as Jisr, ZenHR and Bayzat say on their websites that they cover stages 4 to 6 as well; see Jisr vs ZenHR vs TECFY Attendance.
Step by step with TECFY Attendance
The steps below follow our user guide, which is currently available in Arabic.
1. Clear the month before closing it. Our period management guide sets out a four-point check: no pending leave, excuse or manual-attendance requests; overtime completion reports submitted (an approved overtime request without its report counts zero hours); recalculate the period; then review the monthly report.
2. Lock in two stages. First lock requests, so employees can no longer submit or edit requests for those dates while HR keeps correcting. Then lock the period, which freezes it — no edits, no recalculation. You can set default lock days for every period so this happens on schedule.
3. Run the monthly report and export it. The comprehensive monthly report shows attendance, lateness, early leave, absence and leave with the day numbers behind each total — useful when a figure is disputed. Choose only the columns payroll needs, then export (reading and exporting results). Note the period and filters with the file: an exported file does not carry its context.
4. Hand over to payroll. Payroll applies your rules to the totals: deductions for absence and lateness beyond your thresholds, overtime pay, allowances and GOSI. TECFY Attendance holds the inputs payroll uses — contract basic and hourly salary, allowances, and the employee's bank, account number and IBAN — but the payslip itself is calculated in payroll.
5. Generate the WPS file and upload it on Mudad within the 30-day window.
See how TECFY Attendance closes the monthIf your payroll runs in Odoo
Odoo's Saudi Arabia payroll localization is one way to cover stages 4 and 5. According to Odoo's documentation it includes rule parameters for Saudi and non-Saudi GOSI contributions and a Saudi overtime rate, tracks end-of-service provisions, and generates WPS files — as long as each employee has a trusted bank account (IBAN), the company's establishment bank account is configured, and the employee's 10-digit national or Iqama ID is recorded. TECFY is an Odoo Silver Partner; the Odoo support team can set up payroll in an existing Odoo, and TECFY does not provide payroll or accounting services itself.
Why the numbers in Mudad do not match attendance
| Symptom | Usual cause | Fix |
|---|---|---|
| Overtime missing from pay | Approved request with no completion report | Chase reports before locking the period |
| A whole department marked absent | A fingerprint device or its connector program stopped sending | Check the inactive-devices count daily; after the fix, add the missed punches in bulk and recalculate |
| Negative hours or false absences on night shifts | Shift end time not set to the next day | Set the day offset on the shift's end time |
| Figures changed after payroll ran | Period left open, requests still coming in | Lock requests first, then the period |
| Deductions for one late minute | No grace thresholds on the contract type | Set absence-day and late-minute thresholds before deduction |
Checklist for each month
- Pending requests resolved and overtime reports in.
- Devices all active; missed punches added and recalculated.
- Requests locked, monthly report reviewed, period locked.
- Export with period and filters noted, sent to payroll.
- Payroll run, WPS file generated.
- File uploaded on Mudad within 30 days; compliance rate checked.
For the rules behind the overtime figures, read Saudi Labor Law working hours and overtime. Still choosing a system? Start with how to choose a workforce attendance system.
Frequently asked questions
Can an attendance system upload directly to Mudad?
Some HR and payroll platforms integrate with Mudad; TECFY Attendance does not. Mudad receives the wage protection file, which is produced by payroll, so attendance data reaches Mudad through your payroll system: attendance totals go into payroll, payroll produces the WPS file, and the file is uploaded on Mudad.
How long do I have to upload the wage protection file?
From 1 March 2025 the Ministry of Human Resources and Social Development reduced the permitted upload period on Mudad from 60 days to 30 days, so each month's file must be uploaded within one month.
What do I need before uploading to Mudad?
According to the Ministry's service page: the establishment registered with the Ministry, registration with Social Insurance (GOSI), and bank accounts for the establishment and its employees. The service is free and is accessed through Mudad Business.
Which attendance figures does payroll need?
Per employee for the period: days worked, absences, late and early-leave minutes that exceed your deduction thresholds, unpaid leave, and approved overtime hours split by type, such as normal days versus rest days and public holidays.
Can Odoo produce the WPS file?
Yes. Odoo's Saudi Arabia payroll localization includes GOSI rules and an overtime rate parameter, and can generate WPS files from payslips, provided each employee has a trusted bank account (IBAN) and a Saudi national or Iqama ID recorded.
Ready to get started with TECFY?
Get in touch