AP
AttendPro
Staff Management Platform
Manage your staff
the smart way
Attendance, payroll, leaves & advances — all in one place. Built for small businesses.
v1.30.0
👁️
Selfie Proof
Anti-proxy attendance with photo verification
💰
Auto Payroll
Salary slips with deductions & OT auto-calculated
📋
Leave Mgmt
Staff requests, you approve or reject instantly
☁️
Cloud Sync
Real-time Firebase sync across all devices
AttendPro
One-time setup
Setup Your Business
Takes 2 minutes. Everything can be changed later.
Business Info
Owner Account
Staff Company Code

Staff enter this code to connect their phone. Keep it simple and easy to share — e.g. AMAR24

AttendPro
Join Your Company
👋
Enter Company Code
Ask your employer for the company code. You only need to do this once.

This connects your phone to your employer's business. Your attendance data goes to them.

AttendPro
Connect this device
🔐
Owner Login
Enter your owner credentials to connect this device to your business.

This only needs to be done once per device.

AttendPro
Staff Login
Who are you?
Enter your username
Staff
AttendPro
--:--
Today's Status
📭
No requests yet
Recent Punches
🔐
Owner Login
Enter your credentials
AttendPro
Kiosk Login
🖥️
Kiosk Mode
For shared devices at the shop counter
AttendPro Kiosk
👋 Who are you?
Tap your name to punch in or out
🛡️
Super Admin
AttendPro · AppCentrik
Request Leave
Your manager will review and approve or reject.
Request Advance
Manager approval required. Approved amount will be deducted from your salary.

⚠️ Advances are subject to manager approval only. Approved amounts are deducted from your next salary automatically. Frequent requests may be declined.

Edit Attendance
Editing punch for staff
Leave punch-out blank if staff is still in.
Give Advance
Record a direct advance payment to staff
Salary Settings
Months before keep the salary they had. Months already paid always keep the salary they were paid on.
Join Existing Business
Enter the Business ID from your owner's Settings page. You only need to do this once on each new device.

💡 Ask your owner to go to Owner Panel → Settings → Business ID and share the code with you.

?
—
—
AttendPro
Staff Management Platform
v1.30.0
🔔 Notifications
Tap to enable
📋 What's New
v1.30.0 CURRENT
+Salary is now worked out exactly and rounded only once, at the total — so it matches a staff member's own calculation. Each line still shows whole rupees and the lines always add up to the total
+Overtime uses the exact hourly rate (e.g. ₹48.39/hr instead of ₹48), and hourly rates are shown with paise
+Months already paid keep the amounts they were paid with
v1.29.8
+Salary slip, PDF and email wording is clearer for staff: "Duty time: 11:00 am – 9:30 pm (10h 30m on duty) · Salary counted on 10 hours a day", late days say "no fine", and short hours explain that time not worked is not paid
v1.29.7
+Salary & shift settings opens instantly again (it no longer waits for the server before showing)
v1.29.6
+Computer layout opens pages faster: Staff, Payroll, Advances, Attendance and others no longer wait for today's punches and the request list to download first
+Clicking another page while one is still loading now always ends on the page you clicked
v1.29.5
+Salary history now shows the paid hours of each period ("duty 11:00 am – 9:30 pm (10h 30m) · paid on 10h/day"), so duty time and paid hours are not confused
v1.29.4
+Payroll (computer layout): "↩ Undo payment" on a paid salary — removes the payment, puts the recovered advance back on the balance, and recalculates with the current salary settings so you can correct it and mark it paid again
v1.29.3
+Bank details: live checks while typing — "✓ Account numbers match" / "✗ do not match", and the IFSC shows the bank and branch name (e.g. "HDFC Bank · Kothrud, Pune") or warns if it is not found
+Payroll (computer layout): the right panel no longer slides under the top bar when the page scrolls — the selected name stays in view
v1.29.2
+Payroll (computer layout): the selected staff member's name stays at the top of the right panel while you scroll, and their row in the list is clearly highlighted
v1.29.1
+Email slip: the PDF now has the salary slip and the day-by-day statement together
+Email slip: new "Download PDF + open Gmail" — opens Gmail in the browser, addressed to the staff member with the subject and text; just attach the saved PDF and send. No Mail app needed
v1.29.0
+Salary history: when you change a salary, choose the month it applies from. Earlier months keep the old salary and duty time
+Salary Settings → Salary history: add the salary a staff member had before (e.g. ₹17,500 up to October), edit or delete earlier salaries
+Every payment now keeps a copy of the salary it was paid on, so later salary changes never alter a paid month or its slip
+Advances (computer layout): grouped by month with the total given each month; advances already included in an opening balance are marked "in opening balance"
v1.28.5
+Payroll (computer layout): new 🔒 Finalize button, separate from Mark paid. Finalize locks a salary once you have checked it; press Mark paid on the day you actually pay. Advances are deducted only when marked paid
+Select several staff and press "Finalize selected" to finalize them together; "Reopen to edit" unlocks a finalized salary
+If attendance changes after finalizing, the salary shows "changed" with a button to finalize at the new amount
v1.28.4
+Computer layout: the browser tab shows the page you are on (e.g. "Payroll · AttendPro"), so several open tabs are easy to tell apart
v1.28.3
+Computer layout: Cmd-click (Mac) or Ctrl-click (Windows) a sidebar item — Today, Payroll, Staff… — to open it in a new tab. Each page has its own address, and a reload stays on the same page
v1.28.2
+Fixed: on the computer Payroll page, the advance and incentive boxes in the right panel no longer lose the cursor after each digit
v1.28.1
+Faster opening: the start-up screen goes away sooner and the QR scanner is only downloaded when someone scans
+Computer layout opens faster: last month's punch check runs in the background instead of holding up every page
+Excel / PDF export and staff "My history" now download only the chosen month, not every record ever saved
v1.28.0
+New option in Settings → Notifications: an alert for every punch in and out, for each staff member and session, within seconds of the punch (off by default)
v1.27.1
+Notification server checks every 5 minutes instead of 2 (less work; request alerts arrive within about 5 minutes, 11:20 message still on time)
v1.27.0
+Owner notifications that arrive even when the app is closed: new leave & advance requests, who is in the store at 11:20, and a day-end summary when everyone has punched out (full day, short day, absent, missed punch-out)
+Settings → Notifications: turn on for each phone or computer, choose times, send a test. Needs the AttendPro server switched on (one-time setup)
v1.26.1
+Staff bank details: account holder name, account number (entered twice to avoid mistakes) and IFSC — 🏦 Bank button on each staff member
+Payroll shows the bank details with Copy buttons when paying, and slips paid by bank transfer show the account (last 4 digits)
v1.26.0
+Email slip now makes a PDF salary slip. "Share PDF → Mail / Gmail" attaches it for you (the staff email is copied to paste in To). Where sharing isn't available, "Download PDF + open email" saves it and opens your mail app
v1.25.9
+Staff email: add it when adding staff, or with the ✉️ Email button on each staff member
+✉️ Email slip in Payroll: opens your mail app with the full salary slip written in the email, addressed to the staff member — check and press Send
v1.25.8
+Faster opening: the app opens straight away from the copy saved on this device and refreshes in the background — no more blank screen while the internet is slow (owner, staff phones and shop kiosk)
+On a very slow connection the saved app opens after 4 seconds instead of waiting for the full download
v1.25.7
+Salary slip: new line "Advance still owed after this month" under Advance Recovered, with the total owed — shown on the preview and the PAID slip
v1.25.6
+Computer Payroll: when the advance is bigger than the salary, it now says how much can be recovered and how much carries to next month (it wrongly said "Cleared"). New line "Advance still owed after this month" under the salary
v1.25.5
+Computer Payroll: steps and summary cards are now 2×2 on the left, and the selected employee's panel starts at the top of the page — no scrolling to see their details
v1.25.4
+Duty time (e.g. 10:00 am – 9:30 pm) now shown next to the paid hours per day — in Salary Settings, the day-by-day statement, the salary slip and Payroll — so staff know paid hours don’t shorten their duty time
v1.25.3
+Payroll: “📄 Day-by-day statement” — every day of the month with punches, hours paid, short / overtime and the money for that day, the rules in plain words, and totals that match the slip. Days where saved hours don’t match the punch times are highlighted
v1.25.2
+Shift timeline: the red “now” line no longer slides into the menu after midnight / before 9 am — it shows only during shop hours on the timeline
v1.25.1
+Faster: staff selfies are now saved small (about 10× lighter), like the kiosk
+Computer layout keeps each month in memory instead of downloading it again on every page
+Settings → Attendance → “Shrink stored photos” makes old months load fast too (one time)
v1.25.0
+Computer layout: new Analytics page — attendance %, on-time %, hours, overtime vs last month, day-by-day and weekday charts, arrival times, insights and a sortable staff table
v1.24.1
+Computer payroll: inactive staff only show in a month they actually worked (and still owe an advance) — not in every month after they left
v1.24.0
+New computer layout for the owner panel (laptop / desktop) — the phone layout is unchanged
+Today: shift timeline, late and open-session alerts, live activity, quick punch, approvals
+Attendance register: everyone × every day on one screen — click a day to fix it
+Payroll salary sheet: incentives and advances in the rows, Save all, step tracker, pay several at once
+Search anything with ⌘K / Ctrl+K · “Use classic view” keeps the old layout on a computer
v1.23.4
+Payroll: “🎯 Sales Incentive — all staff” list — enter everyone's incentive for the month and save in one go (paid staff are locked)
v1.23.3
+Payroll: “Apply to Salary” now saves the incentive and advance for that staff + month — they stay after a refresh until you mark paid
+Paid months show the amount that was paid; if attendance changes later, it shows the new amount too and asks you to Update Payment
v1.23.2
+Payroll: incentive and advance amounts update the salary only when you press “✓ Apply to Salary” (or Enter). Mark as Paid waits until changes are applied
v1.23.1
+Payroll on a computer: Incentive & Advance now sits right above the Salary Breakdown (② → ③ → ④ in one column); net amount and attendance stay in view on the left
v1.23.0
+Owner panel on a computer now uses the full screen: tabs in a left sidebar, pages in two columns
+Payroll: inputs on the left, breakdown and Pay button on the right — no scrolling
+Reports: calendar and stats on the left, log on the right; Staff, Settings, Today and Fix spread out too
+Phone layout unchanged
v1.22.9
+Payroll page in salary-day order: ① Attendance → ② Incentive & Advance → ③ Salary Breakdown → ④ Pay & Record
+Pay button shows the amount, e.g. “✓ Mark ₹11,562 as Paid”
+Payment History comes next; giving advances moved into a tap-to-open “Advances” section at the bottom
v1.22.8
+Staff tab: inactive staff moved to their own “Inactive Staff” list below the active ones (tap to show)
v1.22.7
+Salary Settings: Auto OT rate label now says salary ÷ days in month (as payroll already calculates) and shows the rate range by month length
v1.22.6
+Reports log for one staff is now a single list by date — punches, weekly offs, holidays, leave and missing days together
+Missing days are highlighted in red; weekly offs, holidays and leave in blue
+“Missing entries” count at the top of the log — goes to 0 when all are filled
+Days worked on a weekly off are tagged “Worked on weekly off”
v1.22.5
+Reports log shows the day (Mon, Tue…) next to each date in Missing Entries and Existing Records
v1.22.4
+Settings organised into 5 sections — Business, Pay/Holidays/Leave, Attendance, Staff Phones & Shop Phone, Security — tap to open
+Store QR code moved into Settings → Staff Phones & Shop Phone (the QR tab is gone, so the tab bar is shorter)
+Fix, Reports, Payroll and staff history no longer go past the current month
v1.22.3
+Requests count from the date they were made, everywhere: the Inbox files them by request date, and an advance approved later is dated by its request
+Advances already approved from the Inbox are corrected once to their request date
v1.22.2
+Version number shown beside the name at the top of every screen (owner, staff, shop phone)
+Payroll opens on last month; a badge shows when the current (unfinished) month is selected
+Inbox files approved and rejected requests by approval date — matches the advance tracker (e.g. asked 30 Sep, approved 1 Oct → October)
v1.22.1
+Settings → 🎉 Shop Holidays: see the whole year's holidays, add one at a time or paste a full list (one per line, e.g. "20-10-2026 Diwali")
v1.22.0
+Daily rate is now salary ÷ days in that month — full attendance pays exactly the monthly salary in every month (was salary ÷ 30)
+Shop holidays are paid (Settings → Pay Rules can switch this off) — they were previously unpaid
+Payroll for the current month no longer counts today as absent while the day is in progress; future months show nothing
+Punch-out photo shown as a small badge on the punch-in photo (Today and Reports); tap to view
+Advance list grouped by month like the Inbox: current month open, older months on demand
v1.21.4
+Payroll breakdown in a clear order: earnings, late deduction, Gross Salary, advance recovered, Net Payable; absent and short hours shown separately as information
+Payment History shows only the selected staff member, one entry per month, with mode and advance recovered
+UPI / GPay payment mode; button reads "Update Payment" for a paid month
+Typing an incentive or advance amount no longer reloads on every key
v1.21.3
+Payroll staff list hides inactive staff (shown only if they still owe an advance)
+Advance tracker shows only the selected staff member's balance and transactions; "Show all" to see everyone
v1.21.2
+Cleaner attendance rows on Today and Reports: photo, name and buttons on top; sessions and durations full-width below
v1.21.1
+Staff history now shows the whole month — dates 1–9 were missing because only the 20 latest punches were listed
+Multiple sessions are shown one per line with their duration and a day total (Today, Reports and staff history)
v1.21.0
+Settings → 💰 Pay Rules: choose whether weekly offs are paid (default: paid) and whether leave approved from the Inbox is paid (default: unpaid)
+Advance opening balance per staff (Payroll → Advances → ✏️ Opening): set what each person owes today and start clean
+Advances before the opening balance are shown as "Before opening"; the opening is recovered first in payroll
v1.20.6
+Mark as Paid again (or after changing amounts) now updates the payment — the advance is no longer recovered twice
+Paid months show advance figures as they were at payment time
+Late deduction now shown on the payroll screen and salary slip
+Incentive and advance amounts no longer carry over when switching staff or month
+Half-day leave: hours worked that day are paid, plus ½ day if the leave is paid
+Advances show Settled / ₹ left / Pending; recovered advances can no longer be deleted
+Inactive staff can be selected in Payroll for their final settlement
v1.20.5
+Fix tab flags days that need a check: very short days and a first punch-in 3+ hours after start time (missed punch-in?)
+"✓ Looks right" to dismiss a genuine short or late day; leave, holidays and weekly offs are never flagged
+Inbox opens only the current month
v1.20.4
+⚡ Auto-fix now also cleans up today's double taps — no need to remove them by hand
v1.20.3
+Inbox months are now collapsible sections with request count and approved advance total; tap a month to open it
v1.20.2
+Selfie is now required for every punch, on the shop phone and staff phones — no photo, no punch
+Inbox shows the date of every request, grouped by month; only the last 3 months load, older ones on demand
+Reports log now shows the whole month for All Staff, grouped by date
v1.20.1
+⚡ Auto-fix double taps — removes all clear duplicate sessions for the month in one tap; unclear days stay for you to check
v1.20.0
+New 🛠️ Fix tab — finds double taps, missing punch-outs and overlapping sessions for any month
+One-tap Remove for duplicate sessions and Edit times for wrong punches, so payroll is right before you pay
v1.19.0
+Leave requests from the shop phone — staff tap "Request Leave" on the kiosk, pick their name, enter their PIN and submit
+Kiosk requests land in the owner's Inbox for approval, just like requests from the staff app
+Staff can see the status of their last 3 leave requests on the kiosk
v1.18.8
+Offline punches are now stored in the phone's database instead of small browser storage, so punches taken offline are no longer lost when storage fills up
+Fixed a rare case where a quick punch-out could be dropped while the punch-in was still syncing
+Old cached attendance data is cleaned up automatically to free space on staff phones
v1.18.7
+Fixed duplicate punch sessions — double taps are now blocked, and a repeat punch within 20 seconds is ignored
+Offline-first punch — success shows instantly, saving continues in the background and retries automatically if the network is slow or offline
v1.18.6
+Fixed super admin dashboard — Advances stat was always showing ₹0 due to a wrong collection name
+Business cards now show last punch-in date with a color-coded activity indicator
v1.18.5
+Hotfix — restored missing saLoadDashboard function wrapper that was breaking app load on all devices
v1.18.4
+Fix punch-out — owner can manually set punch-out for staff who forgot
+"Fix Out" button on Today tab and Reports for any open session
+Defaults to current time, recalculates hours worked automatically
v1.10.0 Advance Ledger + Split Shifts
+Split shift support — multiple punch in/out per day, total hours summed
+Advance ledger — running balance per staff with carry forward
+Payroll shows outstanding advance with breakdown — you decide recovery amount
+Mark as Paid auto-settles advance and carries balance to next month
+Staff dropdown shows ⚠️ advance outstanding badge
+Static printable QR code (GPS + selfie handles verification)
+Company code onboarding — staff join by entering store code once
v1.5.0 GPS Location Flagging
+GPS check on every punch — flags if outside store radius
+Distance from store shown on each record
+Store GPS + allowed radius configurable in Settings
v1.4.0 Multi-device Login
+Login from any device using owner username & password
+"I already have an account" flow on landing screen
✦Fix: Connect button unresponsive (ES module scope)
v1.3.0 PWA + Notifications
+Installable PWA — add to home screen on mobile & desktop
+Push notifications for punch, leave & advance events
+Profile section with version history (👤 button)
v1.2.0 PWA + Notifications
+Installable PWA — add to home screen on mobile & desktop
+Push notifications for punch, leave & advance events
+Profile section with version history (👤 button)
✦Fix: landing screen buttons unresponsive (ES module scope)
v1.1.0 Firebase Cloud Sync
+Firebase Firestore — real-time sync across all devices
+Offline mode with localStorage cache fallback
+Business setup flow with unique business ID
+Loading bar indicator for all async operations
v1.0.0 Initial Launch
+Staff login — username + 4-digit PIN with persistent session
+QR scan + selfie proof attendance with anti-proxy
+Leave requests — full day, half day, custom hours
+Advance requests with owner approve / reject
+Auto payroll — OT, absent & late deductions
+Printable salary slips per staff per month
+Owner inbox with pending badge + quick Give Advance