Skip to content
BENAA homeالعربية

All work

Manufacturing · 2026

HR, attendance and payroll system

An HR system for a manufacturer with plants and offices in two countries. It manages employee files and contracts, shift rosters, attendance from devices and a mobile app, leave and overtime approvals, and a monthly payroll that follows each country’s rules.

Built by

Tech leadUI/UXFrontendMobileBackendQA
Client
Withheld at the client’s request
Countries
Egypt · Saudi Arabia
Platforms
Web · iOS · Android
Typical timeline
4–6 months
Squad
7 people · 5 disciplines

Technologies

  • Laravel
  • Next.js
  • Flutter
  • PostgreSQL
  • Redis
  • Attendance devices API
  • Firebase (FCM)
  • Docker

The product

10 images

01

Brief

Payroll took a week and still had errors.

Context

The company runs shifts at its plants and office hours elsewhere. Attendance came from fingerprint devices, paper sheets and WhatsApp messages from supervisors.

Problem

HR merged spreadsheets by hand every month, overtime was disputed, and the payroll rules for two countries lived in one person’s head.

Goals

  • Attendance from every source in one place
  • Leave and overtime approved in the app
  • Payroll rules written down, per country
  • Payslips employees can trust

02

Team

The squad behind it.

Tech leadArchitecture and payroll rules per country×1Senior
Product designerEmployee self-service and HR flows×1Senior
Frontend engineerHR and payroll web app×1Senior
Mobile engineerEmployee app: check-in, leave and payslips×1Senior
Backend engineersAttendance, the payroll engine and integrations×2Senior
QA engineerPayroll test cases and release checks×1Senior

Meet the team

03

UI/UX design

Self-service first, HR second.

Who worked on it

UI/UXFrontendMobile

Most HR questions are “how many leave days do I have?” and “why is my pay different?”. The employee app answers both, so HR spends its time on exceptions instead of repeating answers.

A payslip that explains itself
Shift roster: gaps and overtime visible before it is published
  • Leave balance up frontBefore the request, not after.
  • Payslip explainedEach deduction and allowance labelled.
  • Approvals in one tapManagers approve from the notification.

04

Frontend

The payroll run as a checklist.

Who worked on it

UI/UXFrontend

HR runs payroll step by step: lock attendance, review exceptions, approve overtime, preview the run, then publish payslips. Every step shows what changed since last month.

Payroll as a checklist, per country
Employee profile in Arabic, with an expired health certificate flagged
HR overview across both countries, with expiring documents
  • Month-on-month changesDifferences highlighted per employee.
  • Bank filesSalary transfer files exported per bank.
  • Locked periodsNo edits after payroll is approved.

05

Mobile

Check in at the gate, not in a queue.

Who worked on it

UI/UXMobileBackend

Office and field staff check in from the app within the site’s location, while plant workers keep their fingerprint devices. Both feed the same attendance record, and employees request leave and view payslips in the same app.

Check in inside the site's boundary
Leave request showing the balance before and after
Manager approvals on the phone, one tap each
  • Location check-inOnly inside the site’s boundary.
  • Works offlineCheck-ins sync when the signal returns.
  • Arabic and EnglishEach employee picks a language.

06

Backend & architecture

Payroll rules as code, per country.

Who worked on it

Tech leadBackend

Each country’s rules — social insurance, tax, end of service and overtime rates — are written as versioned rule sets with their own tests. Attendance from devices and the app is merged into one timeline per employee before any calculation runs.

Approvals show the balance and the shift gap before you decide
  1. Decision 1

    Versioned rule sets per country

    When the law changes, past payrolls must still recalculate the same.

    Trade-off · Each legal change is a small release with tests.

  2. Decision 2

    One attendance timeline per employee

    Devices, the app and manual fixes must not disagree.

    Trade-off · Late device uploads trigger a recalculation.

  3. Decision 3

    Approved payroll runs never change

    Payslips and bank files must always match.

    Trade-off · Corrections go into next month as adjustments.

07

QA

Every payroll rule has a test case.

Who worked on it

BackendQA

HR and finance wrote example employees with known results: new joiners, leavers, overtime, unpaid leave and mid-month raises. Every release recalculates them, and they must match to the last decimal.

A week of attendance from three sources, with every fix traced
  • Known-result employeesWritten with HR and finance.
  • Parallel runOld and new payroll compared before go-live.
  • Device testsCheck-in on real phones and sites.
HR, attendance and payroll system

Arrow keys or a swipe to move · Esc to close

Tell us what you’re building.

A short message is enough. A senior engineer replies within 1 working day.