The Opening: One Excel Roster Eats 12 Hours of a Manager's Month
A drinks chain with 4 stores and 47 staff. Each month the store manager spends 8 to 12 hours building the roster: collect time-off requests in a LINE group, hand-assemble the schedule in Excel, discover someone has been given 8 consecutive working days, and start over. At month end HR spends another 6 hours pasting the time-clock CSV export into a second sheet to calculate overtime. Last year a labour inspection found two employees exceeded the 46-hour monthly overtime cap, and the fine was NT$20,000. The real cost of the process: roughly 18 management hours a month (about NT$12,000 in labour cost), plus one-off compliance exposure.
When It Fits, and When It Does Not
| Custom scheduling and attendance system fits | Not a fit — use off-the-shelf SaaS or stay put |
|---|---|
| 30+ employees with shift work and cross-site cover | Under 10 staff, fixed schedule, no shifts |
| Complex shift rules (early/mid/late, night shifts, flexitime) | Clock-in only, no scheduling need |
| Needs integration with existing payroll or ERP | Payroll fully outsourced and staying that way |
| Multi-site, needs GPS or facial verification | Single office where door badges already log entry |
| Industry-specific rules (medical rotas, security exemptions, peak-hour F&B) | Simple rules that market SaaS already covers |
Honest advice: if you have 12 people and a roster that repeats every two weeks, spending NT$300,000 on a custom system is waste. Run market SaaS for a year and revisit once your exceptions no longer fit.
Alternatives Matrix
| Option | Upfront | Monthly | Pros | Cons |
|---|---|---|---|---|
| Excel + physical time clock | NT$3,000–8,000 | 0 | Almost no barrier | Manual calculation errors, no audit trail, hard to prove in inspection |
| Market HR SaaS | NT$0–20,000 setup | NT$50–150 per person | Fast, regulatory updates included, payroll module | Unusual shift rules do not fit, fixed report formats, data held elsewhere |
| SaaS + custom extension | NT$80,000–200,000 | SaaS fee + maintenance | Keeps regulatory updates, adds your own rules | Limited by their API, upgrades can break customisation |
| Fully custom system | NT$280,000–800,000 | NT$8,000–25,000 maintenance | Rules fit exactly, you own the data, deep ERP integration | You track regulation changes, 3–5 month build |
The Full Process
- Weeks 1–2: rule inventory. Write every shift type, rotation rule, leave type and overtime definition into a rule table, each with its legal basis. Deliverable: a rules specification with 30–50 entries. Tools: Notion or Google Sheets. Do this badly and everything downstream gets rebuilt.
- Weeks 3–4: flow design and wireframes. Map four roles: employee (request leave, clock in, view roster), manager (schedule, approve), HR (month close, reports), owner (cost dashboard). Deliverable: Figma wireframes plus a permission matrix.
- Weeks 5–10: core build. Scheduling engine with conflict checks, clock-in module (GPS/Wi-Fi/face), approval workflow, hours calculation engine. Suggested stack: Laravel backend with a Flutter mobile client. Deliverable: testable internal build.
- Weeks 11–12: compliance calculation validation. Re-run the last three months of real clock data and compare line by line against HR's manual results. Deliverable: a variance report with zero tolerated discrepancies.
- Weeks 13–14: pilot. Run one store or department in parallel with the old process until results match. Deliverable: pilot report and training materials.
- Weeks 15–16: full launch and handover. Deliverable: administrator manual, data export script, monitoring setup (UptimeRobot).
Real Cost Breakdown
- Rule inventory and interviews: 24–40 hours, about NT$36,000–60,000
- UI/UX design for four roles: 40–60 hours, about NT$60,000–90,000
- Scheduling engine and conflict checks: 60–90 hours, about NT$90,000–135,000
- Clock-in module including mobile app: 50–80 hours, about NT$75,000–120,000
- Hours and overtime calculation engine: 40–60 hours, about NT$60,000–90,000
- Testing, validation and training: 30–40 hours, about NT$45,000–60,000
Hidden costs people forget:
- Apple Developer Program US$99/year, Google Play US$25 one-off
- Background location review cost: iOS scrutinises background GPS closely, averaging 1–2 extra rejections at 3–7 days each
- Third-party facial recognition API at roughly NT$0.3–1.5 per check; 47 staff clocking twice daily is about NT$850–4,200 per month
- Regulatory maintenance: minimum wage and holiday adjustments at least twice a year, 4–8 hours each
- Device fragmentation testing on Android: budget 8–16 hours
Implementation Reality vs Client Expectation
- Expectation: "The system schedules automatically — one click and the roster appears."
Reality: full auto-scheduling needs an explicit optimisation goal (lowest labour cost? highest staff preference?). Most companies cannot articulate one. What works is "system generates a draft, manager adjusts," which already saves 70% of the time. - Expectation: "GPS clock-in will be accurate."
Reality: indoor positioning error runs 50–200 metres and basement locations have almost no signal. The practical answer is GPS plus in-store Wi-Fi SSID verification, or a fixed in-store tablet. - Expectation: "Once overtime calculates correctly, we are done."
Reality: the time sink is exception handling — missed punches, buddy-punching disputes, typhoon days, date attribution for overnight shifts. Exceptions consume over 30% of development hours. - Expectation: "Staff will be happy about the new system."
Reality: attendance systems are among the few that employees resist by default, because they make previously grey areas explicit. Pre-launch communication and the pilot matter as much as the code.
Traps and How to Avoid Them
- Trap 1: building before the rules are inventoried. Discovering mid-build that security staff fall under a special working-hours exemption means rewriting the hours engine. Fix: the rules specification must be signed by HR and the labour-management committee representative before development starts.
- Trap 2: hard-coding overtime rates. A minimum wage change then requires a code change and redeploy. Fix: put every rate, cap and multiplier in a configuration table maintained by an administrator.
- Trap 3: no audit trail. Inspectors want proof that records were not altered. Fix: log every edit (who, when, what, why) and make original records non-deletable — only markable as void.
- Trap 4: undefined date attribution for overnight shifts. Does a 22:00–06:00 shift belong to the start day or the end day? It changes weekly hours directly. Fix: specify "attributed to the shift start date" in the rules document and apply it system-wide.
- Trap 5: no offline tolerance. Store internet drops and nobody can clock in. Fix: cache punches locally on the mobile client, sync on reconnect, and flag them as offline entries.
- Trap 6: big-bang launch. 47 people hitting problems simultaneously will break HR. Fix: run in parallel for at least one full payroll cycle.
Success Metrics and 90-Day Roadmap
- Day 30: rules specification signed off, wireframes confirmed, development environment ready. Metrics: 30+ rule entries, four role flow diagrams.
- Day 60: core scheduling and clock-in usable, historical recalculation validated. Metrics: zero variance against HR manual calculation, system response under 2 seconds (see the web.dev LCP standard).
- Day 90: pilot complete and fully launched. Metrics: manager scheduling time down from 12 hours to under 3 per month, month close from 6 hours to 1, clock-in success rate 99%+, employee app adoption 95%+.
Decision Checklist
- ☐ Do you have more than 30 employees?
- ☐ Are there two or more shift types or rotation rules?
- ☐ Do you need cross-site or cross-department cover scheduling?
- ☐ Have you ever been cited in a labour inspection over hours or overtime?
- ☐ Do managers spend more than 6 hours a month scheduling?
- ☐ Does HR month close take more than 4 manual hours?
- ☐ Do you have rules that market SaaS cannot accommodate?
- ☐ Do you need integration with existing payroll or ERP?
- ☐ Do you need on-site verification such as GPS or facial recognition?
- ☐ Do you have explicit data retention and audit requirements?
- ☐ Can you assign one internal owner for 4 hours a week throughout?
- ☐ Can you accept a 3–5 month build?
- ☐ Is your budget NT$280,000 or above?
Eight or more ticks and a custom system usually pays back. Five or fewer, start with market SaaS.
FAQ
How long and how much for a scheduling and attendance system?
A typical build (30–100 staff, 3–5 shift types, mobile clock-in app) takes 3–5 months at NT$280,000–800,000. A web-only version without a native app can come in at NT$180,000–300,000 in 2 months.
Can we do clock-in only and skip scheduling?
Yes, and it is the most common phase one. Clock-in plus hours reporting runs about NT$120,000–200,000 over 6–8 weeks. After three months of real punch data, designing the scheduling rules is far more likely to succeed.
Who maintains the system when regulations change?
Put it in the contract. The recommended pattern is to expose rates, hour caps and holiday settings as admin-maintainable parameters that the client adjusts. Only a change to the calculation logic itself requires the developer, which happens about once or twice a year.
Will employees resist mobile clock-in?
Yes, and usually not because it is hard to use but because it feels like surveillance. Three practical fixes: state publicly that location is captured once at the moment of punching with no background tracking; offer an in-store tablet alternative; and launch employee-benefiting features such as roster lookup and shift swaps at the same time.
How long must attendance data be retained?
Attendance records must be retained for five years under Taiwan labour law. Design for five years of data volume and query performance, and provide scheduled export backups.
Get in Touch
ScriptWalker's custom scheduling and attendance system starts at NT$280,000, including rule inventory, four role interfaces, scheduling engine, hours calculation and training. If you are unsure whether to build or buy, we also offer a free two-hour rule inventory session and you keep the resulting rules list either way.
- Email: [email protected]
- Phone: 0916-224-047
- LINE: @ufv9089p