📄 Download PDF
📄 Download PDF
IDEN
Employee Self-Service Mobile

XERPIUMESS

Standalone Employee Mobile App — Attendance, Leave, Expense, Overtime, Payslip, Loan, Approval, BPJS — Flutter + XERPIUM Backend

16ESS Features
iOS + AndroidFlutter Cross-Platform
Liquid GlassTheme Dark/Light
REST APIXERPIUM Backend

Employee Self-Service Mobile App

XERPIUM ESS is a cross-platform mobile app (iOS & Android) built on Flutter that gives employees self-service access to all HR services — check-in/out, leave requests, expense claims, overtime, payslips, loans, documents, to resignation — all from one app.

🕒
CLOCK-IN
Attendance + Geotag
🎫
LEAVE
Request + Balance
💰
PAYSLIP
View + PDF Download
✅
APPROVAL
Approve/Reject Mobile

Dashboard & Navigation

🏠

Home Dashboard

  • Greeting — Employee name + position, avatar with initials shown
  • Today's Attendance — Real-time check-in/out status today
  • Quick Actions — 4 quick buttons: Check In, Check Out, Leave, Expense
  • Menu Grid — 6 shortcuts: Attendance, Leave Request, Expenses, Timesheet, Office Map, BPJS
  • Bottom Navigation — 5 tab: Home, Attendance, Leave, Overtime, Profile
  • Dark/Light Toggle — Switch theme straight from the dashboard header
🎨

Liquid Glass Theme

  • Glassmorphism — Modern semi-transparent design with blur & subtle borders
  • Light Mode — Pastel gradient #E8EDF2 → #F4F6F9, slate blue text
  • Dark Mode — Dark gradient #111122 → #1A1D28, elegant white text
  • Primary Color — Teal/Emerald #06BEA0, gradient to #0AA08C
  • Material 3 — ColorScheme.fromSeed, native M3 components
  • Card Glass — Adaptive opacity (75% light, 50% dark) + border 0.4-0.5 alpha
🔑

Login & Autentikasi

  • Server URL — XERPIUM endpoint configuration (cloud/on-premise)
  • Database — Select target XERPIUM database
  • Email + Password — Log in with XERPIUM credentials
  • Token-based Auth — JWT/session token stored in app memory
  • Forgot Password — Link reset password
  • Splash Screen — XERPIUM ESS branding, "Get Started" button
👤

Employee Profile

  • Avatar & Initials — Profile photo or name initials
  • Personal Data — Name, position, company, department
  • Contact — Work email, phone number — editable
  • BPJS — BPJS Health & BPJS Employment numbers
  • Edit Profile — Update work email & work phone directly
  • Menu Hub — 8 menus: Payslip, Loan, Salary Advance, Documents, Resignation, Announcements, Approvals, Edit Profile
  • Logout — Delete token, return to login screen
📷
Screenshot: Dashboard & Profile
Home Dashboard, Today's Attendance, Quick Actions, Menu Grid, Dark Mode, Profile Screen, BPJS Card

Attendance & Leave — Mobile-First

Check in/out straight from your phone, monthly attendance history, leave balance, leave requests — all with integrated approval workflow.

Workflow Check-in/out

Open App
→
Check In
→
Geolocation + Photo
→
Status: Present
→
Check Out
→
Recorded
🕒

Attendance

  • Check In — Clock-in via mobile, sends latitude/longitude & photo (base64)
  • Check Out — Clock-out, geolocation & photo data saved
  • Real-time Status — Dashboard immediately shows "Present" / "Not Checked In" status
  • Local Time — Convert UTC to user timezone (Asia/Jakarta, WITA, WIT, etc.)
  • Monthly History — Full list with date, clock in/out time, late/present status
  • Summary Card — Total Present, Late, Days in a month
  • Late Detection — Automatic is_late flag per record
🎫

Leave Request

  • Leave Balance — Orange gradient card: remaining/max per leave type, taken
  • Multi Leave Type — Annual leave, sick, permission, maternity, collective leave
  • Leave Request — Form: select leave type, date from-to (date picker), reason
  • Validation — Leave type required, date from-to required, dateTo ≥ dateFrom
  • Leave History — Request list with status: Draft → To Approve → Approved → Refused
  • Status Workflow — 6 state: draft, confirm, validate1, validate, refuse, cancel
  • Cancel Leave — Cancel requests that are still pending
📷
Screenshot: Attendance & Leave
Attendance History, Summary Card, Check-in Button, Leave Balance Card, Leave Request Form, Leave History

Expense Claims & Overtime

Employees submit expenses & overtime straight from their phone. Managers approve/reject from mobile. Everything is recorded in the XERPIUM backend.

💰

Expense Management

  • Submit Expense — Form: description, amount (Rp), notes, date auto-filled with today
  • Receipt Upload — Attach receipt photo as base64 (receipt_base64 field)
  • Summary Dashboard — Total Rp, Pending count, Approved count
  • Expense History — Full list with color status: Draft, Submitted, Approved, Done, Rejected
  • Format Rupiah — Numbers formatted with thousand separators (1,000,000)
  • Workflow Approval — Draft → Submitted → Approved → Done (accounting posting)
⏰

Overtime

  • Overtime Types — Load overtime types from XERPIUM (workday, holiday, split shift)
  • Request Form — Select overtime type, date, notes
  • Overtime History — List: type, date, start-end time, duration (hours), status
  • Status Tracking — Draft → Confirmed → Done (gray → orange → green)
  • Automatic Duration — Overtime hours computed by the XERPIUM backend
  • Payslip Integration — Approved overtime flows into payroll calculation
📷
Screenshot: Expense & Overtime
Expense Summary, Expense List, Expense Form, Overtime List, Overtime Request Form

Payslips, Loans & Advances

Employees access digital payslips, download PDFs, request loans & salary advances — all from mobile.

📄

Payslip

  • Payslip List — List: period name, number, date from-to, gross, net
  • Detail Slip — Bottom sheet: gross amount, net amount, status, period
  • Download PDF — Open payslip PDF in a new tab (web) or download
  • Status — Draft / Done / Waiting / Rejected with green/orange colors
  • Format Rupiah — Gross & net formatted with thousand separators
🏦

Loans

  • Loan List — List with expansion tile: name, amount, balance, status
  • Installment Details — Number of installments, total paid, breakdown per month (date + Rp + paid status)
  • Request Form — Loan amount, tenor (months), reason
  • Default Tenor — 6 months, adjustable
  • Status — approve (green) / refuse + cancel (red) / pending (orange)
  • Auto Deduction — Installments automatically deducted from payslip (XERPIUM backend)
💸

Salary Advance

  • Advance Payment List — List: name, amount Rp, reason, status
  • Request Form — Advance amount, reason
  • Status Tracking — approve / reject / cancel / pending
  • Salary Deduction — Automatically deducted from the next payslip (XERPIUM backend)
📋

XERPIUM Backend Integration

  • Payslip — Data from XERPIUM hr.payslip, PDF generated server-side
  • Loan — hr.loan + installment schedule, auto accounting journal
  • Salary Advance — hr.salary.advance, deducted from next payslip
  • BPJS & Income Tax Art. 21 — All tax & BPJS calculations are done in the XERPIUM backend
  • Accounting — Automatic journals: salary expense, BPJS payable, income tax Art. 21 payable, cash/bank
📷
Screenshot: Payslip, Loan & Salary Advance
Payslip List, Payslip Detail + Download PDF, Loan List + Installment Detail, Salary Advance List, Request Forms

Resignation, Documents, Announcements & Approval

Advanced HR features: resignation requests, document tracking with expiry alerts, company announcements, and manager approval — all from mobile.

🚫

Resignation

  • Request List — List: name, last day, status (approved/cancel/pending)
  • Request Form — Resignation reason, last working day (date picker), type
  • Resignation Type — Normal Resignation / Fired by Company
  • Workflow — Submit → Manager Approval → Exit Checklist (XERPIUM backend)
  • Auto Status Update — Employee status: Active → Resigned → Terminated
📁

My Documents

  • Summary Dashboard — Total documents, Expiring (≤30 days), Expired
  • Expiry Tracking — Automatically calculate days remaining, flag: Valid / In Xd / Expired
  • Document List — Name, document type, issue date, expiry date
  • Detail View — Type, issued date, expiry date, attachment count, description
  • Color Coding — Green (valid), Orange (expiring ≤30 days), Red (expired)
  • Pull-to-Refresh — Refresh data with a pull-down gesture
📢

Announcements

  • Announcement List — List: title, reference, date
  • Detail Popup — Title, reference number, issue date
  • Company-wide — Announcements from HR/management to all employees
  • Notifications — Notification icon in dashboard header
✅

Approvals (Manager)

  • Pending Approvals — List of requests awaiting approval: leave & expense
  • Context per Item — Employee name, detail (leave dates / expense name)
  • Approve/Reject — Two buttons: green (Approve), red (Reject)
  • Multi-type — Support leave approval & expense approval
  • Instant Sync — Approve/reject immediately updates status in the XERPIUM backend
  • Workflow-aware — Multi-level approval (validate1 → validate) handled by backend
📷
Screenshot: Resignation, Documents, Announcements & Approvals
Resignation Form, Document List with Expiry Tags, Announcement Detail, Approval Cards with Approve/Reject

Technical Architecture & API

Flutter frontend + XERPIUM REST API backend. Clean, structured architecture, easy to customize.

🔧

Tech Stack

LayerTechnology
Frontend FrameworkFlutter 3.x (Dart)
State ManagementStatefulWidget + setState
HTTP Clientpackage:http (native Dart)
Iconsflutter_svg + Material Icons
ThemeLiquid Glass — Custom glassmorphism
BackendXERPIUM REST API (JSON-RPC)
AuthToken-based (JWT/session via /api/hr/auth/login)
TimezoneMulti-TZ support (Asia/Jakarta, WITA, WIT, UTC, etc.)
PlatformiOS + Android + Web (Flutter cross-platform)
📡

API Endpoints — 30+ Endpoint

CategoryEndpoint
AuthPOST /api/hr/auth/login
Dashboard/api/hr/dashboard
Attendance/api/hr/attendance/status, checkin, checkout, history
Leave/api/hr/leave/balances, request, history, cancel
Expense/api/hr/expense/submit, history
Overtime/api/hr/advanced/overtimes, overtime/request, overtime/types
Profile/api/hr/profile, profile/update
Payslip/api/hr/payroll/payslips, payslip/detail, payslip/pdf/{id}
Loan/api/hr/payroll/loans, loan/request
Salary Advance/api/hr/payroll/salary-advances, salary-advance/request
Resignation/api/hr/advanced/resignations, resignation/request
Announcements/api/hr/advanced/announcements
Documents/api/hr/advanced/documents
Approvals/api/hr/advanced/approvals, approval/action
⚙

Customization & Extensibility

  • Add New Screen — Create a folder in screens/, register it in the ProfileScreen menu hub
  • Add API — New method in ApiClient, call from screen
  • Change Theme — Edit constants.dart: kPrimaryColor, gradient, light/dark colors
  • Multi-language — Add Flutter localization delegate
  • Push Notification — FCM integration for approval notifications, announcements
  • Offline Mode — Add local DB (sqflite/Hive) for data caching
  • Deep Link — Open payslip PDF / approval straight from the notification
  • Biometric Auth — local_auth package for fingerprint/Face ID

Why XERPIUM ESS?

AspectManual / WhatsApp / EmailXERPIUM ESS
Check-in/outManual in books/paper forms✓ Mobile + geolocation + photo, real-time
Leave RequestWhatsApp to supervisor, not recorded✓ Structured form, automatic balance, approval workflow
Expense ClaimsPaper + wet signatures✓ Submit + receipt photo + mobile approval
OvertimeManual notes, often disputed✓ Structured requests, auto duration, payslip integration
PayslipPaper printouts, easily lost✓ Digital + PDF download, access anytime
LoansPaper forms, manual tracking✓ Request + detailed installments + auto salary deduction
Employee DocumentsPhotocopies in the HR cabinet✓ Digital + automatic expiry alert (30 days)
Approval ManagerChat/email, slow, no audit trail✓ Mobile approve/reject, instant sync, audit trail
AnnouncementsEmail blasts, unread✓ In-app announcements + notifications
ResignationManual letters, unclear process✓ Form + workflow + exit checklist
Tema✗ None✓ Liquid Glass dark/light, Material 3
Cross-Platform✗ Limited✓ iOS + Android + Web (Flutter)

Business Benefits

⏱
80%
HR Processing Time Reduction
📈
100%
Audit Trail Digital
📱
24/7
Employee Access

🎯 For Employees

  • Full self-service — No need to contact HR for routine matters
  • Transparansi — View leave balance, payslips, loan status in real time
  • Mobilitas — Check in, request leave, claim expenses from anywhere
  • Proactive notifications — Document expiry, announcements, approval status
  • Paperless — Everything digital, no printing/photocopying needed

🏢 For HR & Managers

  • Approval mobile — Approve/reject leave, expenses, overtime from your phone
  • Data terpusat — All HR transactions are recorded in the XERPIUM backend
  • Automatic accounting — Auto-generated expense, payroll, loan journals
  • BPJS & Income Tax Art. 21 Compliance — All calculations comply with Indonesian regulations
  • Audit-ready — Full digital audit trail, ready for internal/external audit

🌎 For Business

  • Productivity — Cut HR admin time by up to 80%
  • Happy employees — Self-service = higher satisfaction & engagement
  • Low cost — Paperless, digital process, no additional infrastructure needed
  • Scale-ready — From 10 to 10,000+ employees, same architecture
  • ERP Integration — ESS is the entry point to the entire XERPIUM ecosystem

💻 For IT & Developers

  • Flutter cross-platform — One codebase for iOS, Android, Web
  • Clean architecture — Screen/service separation, easy to maintain
  • Standard REST API — JSON-RPC 2.0, easy to test with Postman/curl
  • Extensible — Add new features without major refactoring
  • Open source ready — Can be customized to internal needs
Try nowContact