User Manual

Roznamcha

Everything you need to track attendance, manage staff, calculate payroll, and run your organisation — from your phone.

All features · All roles · Superadmin, Manager, Staff

? How do I…?

The same answers the app gives when you tap ? at the top of any screen. ▶ Show me opens a practice copy of a sample shop in a new tab, where each button lights up in turn: nothing you do there is saved, and your own business is never touched.

Someone has left or resigned

End their employment from their last working day. Their history stays; after that day they are not marked or paid.

  1. Open Staff at the bottom.
  2. Tap the person who has left.
  3. Tap ✏️ to edit them.
  4. Tap ⏸ End Employment.
  5. Pick their last working day.
  6. Tap Confirm.
  7. Tap Save. Until you tap Save, nothing is kept.
  8. If it asks "Change the employment dates?", tap Save anyway. The marks after their last day stop counting; they are kept, not deleted.

Then: Their card turns light red and says Not Active. From the day after their last day they are not marked Present and not paid. Everything before stays.

Someone came back to work

Start a new employment period for someone who had left. Their old history stays.

  1. Open Staff at the bottom.
  2. Tap the person coming back. A light red card means their employment has ended.
  3. Tap ✏️ to edit them.
  4. Tap ▶ Resume Employment.
  5. Pick the day they start again.
  6. Tap Confirm.
  7. Tap Save. Until you tap Save, nothing is kept.

Then: From that day they are on Today's list again, ready to be marked. Their earlier periods and history stay as they were.

Leave for several days

Mark leave or absence for one person over a range of dates, past or ahead.

  1. Open Staff at the bottom.
  2. Tap the person going on leave.
  3. Tap 📅 Mark Leave / Absence Range.
  4. Choose the kind: Absent, Sick, Casual, Earned, Half Day or Late.
  5. Pick the first day.
  6. Pick the last day.
  7. Tap Apply.
  8. Check the days it lists, then tap the button to mark them.

Then: Holidays inside the range are skipped. Days ahead show under 🔜 Upcoming Leave in their detail, and on those days they are not marked Present by themselves.

Marking today's attendance

On a working day everyone is marked Present by themselves. Change only the people who are not.

  1. Open Today at the bottom.
  2. Everyone starts as ✅ Present. Tap the button beside someone who is not.
  3. Tap what happened, for example ❌ Absent.
  4. Tap Done.

Then: It is saved as soon as you tap. In your own business, keep the app open until the dot at the top turns green.

Giving an advance

Record money given before salary day. It comes off that month's Net Payable.

  1. Open Today at the bottom.
  2. Tap 💰 beside the person.
  3. Under Add Advance, type the amount.
  4. Add a note if you like.
  5. Tap + Add Advance.

Then: The advance is listed for this month and Net Payable goes down by that amount. With Track Outstanding Advances on in Settings, it also shows as a balance until it is settled.

Marking one salary as paid

Record a salary payment for one person and one month.

  1. Open Export at the bottom.
  2. Tap 📋 History.
  3. Tap the person's row for the month. Pending means not paid yet.
  4. The amount starts at their net pay. Change it if you paid a different amount.
  5. Tap ✓ Mark Salary as Paid.

Then: The month shows Paid with the date. If you paid less or more than the net, it shows Pending or Overpaid. For a second payment in the same month, tap + Add another payment. The 💰 beside a person on Today opens the same window for this month.

Taking leave off again

Remove leave that was marked by mistake, or leave that was cancelled.

  1. Open Staff at the bottom.
  2. Tap the person. Leave booked ahead shows under 🔜 Upcoming Leave.
  3. Tap 📅 Mark Leave / Absence Range.
  4. Choose the first option, Present, which removes leave.
  5. Pick the first day of the leave to take off.
  6. Pick the last day.
  7. Tap Apply.
  8. Tap Remove leave.

Then: Days up to today become Present. Days ahead go back to unmarked and are marked on the day, as usual.

Changing a past day's attendance

Open Records, go to the day, and mark it the way you mark today.

  1. Open Records at the bottom.
  2. Tap ‹ to go back a day, or tap the date to pick one.
  3. Tap the button beside the person.
  4. Tap the right mark, for example ½ Half Day.
  5. Tap Done.

Then: That day is changed for that person only. Everyone else on it stays as they were.

Setting a holiday

Make a day a holiday or off day from its banner, on Today or in Records.

  1. Open Records at the bottom.
  2. Tap › to go to the day. Days ahead can be set up to a year early.
  3. Tap the banner that says Working / Event Day.
  4. Tap No, holiday / off day.

Then: The day shows Holiday / Off Day. Nobody is marked on it, and Stats and pay skip it. For today, use the same banner on Today. A past day first shows what changes and asks.

Marking a whole team's salaries paid

Record the month's salary for many people in one go.

  1. Open Export at the bottom.
  2. Tap 💰 Payroll.
  3. Choose the team, or All Teams.
  4. Choose the month.
  5. Tap 💸 Mark Salaries Paid.
  6. Check the date paid. Each amount starts at that person's net pay; clear a box to skip someone.
  7. Tap Review.
  8. Check the total, then tap ✓ Record.
  9. Tap Record the payments.

Then: Each person's month shows Paid. Anyone already paid for that month was left out. Advances are not settled here; settle them in each person's own 💰 window.

The month's payroll

See each person's pay for a month: days, advances and net pay, with a total. Download it as a spreadsheet.

  1. Open Export at the bottom.
  2. Tap 💰 Payroll.
  3. Choose the month.
  4. Each row shows the days and the pay. Net is after advances. The Total is at the foot.
  5. Tap Export Payroll CSV to download it as a spreadsheet.

Then: The figures are worked out from the marks. Each person's 💰 window shows the full working, and Payment History shows what was actually paid.

Adding a person

Add a new staff member with their team, salary and joining date.

  1. Open Staff at the bottom.
  2. Tap ➕ at the top.
  3. Type their full name.
  4. Choose their team.
  5. Tap + Add Salary / Increment.
  6. Type the monthly salary. Choose Daily Rate instead if you pay by the day.
  7. Choose the month it applies from: for someone new, the month they join.
  8. Tap Save.
  9. Check the Initial Joining Date.
  10. Tap Add.

Then: They are on Today's list and marked Present from their joining day, going back at most 30 days.

Changing a salary or giving an increment

Add a new salary from a month you choose. Months before it keep the old one.

  1. Open Staff at the bottom.
  2. Tap the person.
  3. Tap ✏️ to edit them.
  4. Under Salary History, tap + Add Salary / Increment.
  5. Tap Increase By to type only the raise. New Amount types the whole salary instead.
  6. Type the raise.
  7. It applies from next month unless you choose another month.
  8. Tap Save.
  9. Tap Save on the form. Until you tap Save, nothing is kept.

Then: From that month the new salary is used, and months before it keep the old one. To change many people at once, tap 💰 at the top of the Staff tab (Bulk Update Salaries).

Adding a manager with permissions

Let someone else mark attendance on their own phone, only for the teams and switches you choose.

  1. Open Settings at the bottom.
  2. Tap Teams & People.
  3. Beside Managers, tap + Add.
  4. Type their name.
  5. Type the email address they sign in with.
  6. Tap the teams they look after.
  7. Switch on what they may do, for example Mark Attendance (Today).
  8. And Mark Leave / Absence Range, if they may book leave.
  9. Tap Save.

Then: When they sign in with that email, they see this business with only those teams and switches. You can change or remove them here at any time.

Downloading attendance

Download a spreadsheet (CSV) of attendance for a team and a period, or make a PDF from Stats.

  1. Open Export at the bottom.
  2. Tap 📥 Export.
  3. Choose the team, or All Teams.
  4. Choose the period.
  5. Tap Download CSV. The file goes to your phone's Downloads.

Then: The file opens in Excel or Google Sheets. For a sheet to print, open Stats, choose 📊 Table, then 📄 PDF or Share.

Things Roznamcha does not do

  • Salary slips (payslips). Roznamcha does not make salary slips. The nearest thing: in Export, 📋 History, choose the person, then 📄 Export PDF. It lists what they were paid, month by month. The Payroll CSV has each person's working for a month.
  • PF, ESI and TDS. Roznamcha does not work out PF, ESI, TDS, gratuity or bonus. The nearest thing: download the month's Payroll CSV and give it to whoever files these for you.
  • Leave balance. Roznamcha does not keep a leave balance or carry leave forward. The nearest thing: open Stats, choose the period, and tap the person. Their detail counts each kind of leave and absence they took.
  • Staff signing in themselves. Staff do not sign in to Roznamcha. You, or a manager you add, mark them. The nearest thing: add a manager, who signs in on their own phone and marks only the teams you give them.

1 Introduction & Overview

Roznamcha: Attendance & Salary (formerly Attendance Manager) is a mobile-first web app for tracking staff attendance across one or more organisations. It saves to the cloud as you work, and can be installed on your Android home screen like a native app. It is not an offline app: if the signal drops, it keeps what you mark only while it stays open, so keep it open until the dot beside your picture turns green (marks not yet sent are lost if the app is closed or swiped away; see Sync status in section 4). While a business is open, the day on screen, your people, teams, managers and business settings update live on every signed-in device within seconds — see Live updates in section 4 for exactly what does and does not update by itself.

📱 Works on

Android (home screen install)✓
iPhone / iPad browser✓
Desktop browser✓
Short signal drops, with the app kept open✓

✨ Key features

Multiple organisations✓
Role-based access✓
Salary & payroll✓
CSV & PDF export✓
Tip: You can always get back to this manual from inside the app — look for the 📖 User Manual link in Settings, or at the bottom of any ? Help popup.

The six tabs

TabWhat it's forWho sees it
TodayMark attendance for today's dateSuperadmin, Managers with permission
RecordsView or edit any past date's attendanceSuperadmin, Managers with canEditRecords
StaffAdd, edit, manage people and teamsEveryone. A manager sees their own teams, or every team (read only) with View All Teams
StatsAttendance reports, list and table viewsAll roles
ExportDownload attendance CSV, payroll, payment historySuperadmin, Managers with canExport
SettingsConfigure org, teams, managers, payroll, backupSuperadmin only

Finding a feature: the ? button

Tap ? at the top of any screen, beside the sync dot, and type what you want to do in your own words: resign, chhutti, advance, salary slip. English, Hinglish and a few Hindi words all work, and small spelling mistakes are forgiven. The same search is on the sign-in screen (How do I…?, under Try a demo), on the business list, at the top of every i help pop-up, and as the How do I…? section at the top of this manual. Owners and managers both have it; a manager sees a note when a feature needs a permission they do not have, and never sees owner-only features. In a club (Attendance Only Mode) the guide leaves out what a club does not use (salaries, advances, payroll, employment dates, salary slips, PF and ESI) and gives the rest in club words: event day, No event, groups and People, and the search box suggests absent or event day. Show me there still plays in the practice copy, and your club is never touched.

Each answer gives the steps with the exact button names. For the most asked features, ▶ Show me opens a practice copy of a sample shop over your screen. One button at a time lights up with a sentence saying what to do: tap Next and the app presses it for you, or tap the lit button yourself. On the last step the button reads Finish: it presses the last button and shows what happened. When a step asks you to read something, such as the days a question lists, that stays bright, and the sentence sits above the window rather than over it.Back goes one step back, and ✕ Close (or the phone’s Back button) closes the practice copy. Nothing you do there is saved, and your own business is never touched: you come back exactly where you were, with anything you had typed still there.

If the app does not do something (salary slips, PF or ESI, a leave balance), the answer says so plainly and points to the nearest thing it does. If nothing matches, Ask us opens an email to roznamcha@asmlabs.in with your words already in the subject. Nothing you search for is stored.

2 Roles & Permissions

People who sign in have one of two roles per organisation: superadmin (the owner) or manager. Staff are the people whose attendance and pay you record; they do not sign in. Your role badge appears in the top header.

Superadmin Manager

Superadmin

The person who created the organisation. Has full access to every feature — attendance, records, staff, stats, export, settings, backup, and admin transfer. There is always exactly one superadmin per organisation.

Manager

Added by the superadmin. Can be scoped to specific teams and granted specific permissions. Their capabilities depend entirely on what the superadmin enables.

Mark Attendance (Today)🔧
Edit Previous Date Records🔧
Mark Leave / Absence Range (any date)🔧
Add / Remove / Edit Staff🔧
Record Salary & Advances🔧
Export Data🔧
View All Teams (Staff, Stats & Export — read only)🔧

🔧 = Superadmin controls this per manager

Staff

Staff are the people whose attendance and pay you record. They do not sign in to the app, and staff records do not hold an email address. A manager who also works for the business can have a staff record as well; they sign in as a manager.

Managers and teams

A manager sees and edits only the staff in the teams they are assigned to. When a manager adds a staff member they must choose one of their own teams, and they can move people only between their own teams. Pay rules, teams and every other business setting are managed by the superadmin only. If a team a manager was assigned to has been deleted, the manager's card in Settings says Team removed for it (it used to show “?”), and the app ignores that team for the manager; saving the manager again tidies it away.

Deleting a team (Settings → the team → Delete This Team) moves everyone in it to No Team in one save: the people on the staff list, the people in Removed staff who were in it (September 2026; before, they kept pointing at the deleted team), and the team’s managers stop managing them. The confirmation counts both groups. Attendance and pay are not changed. Someone restored later comes back with No Team, and if a team was deleted before this change, Restore notices and says so.

Record Salary & Advances is its own permission. A manager without it sees no pay figure anywhere (September 2026): no Estimated Pay and no Outstanding Advance in a person’s detail, no salary list in the person form, no 💰 Bulk Update Salaries on the Staff tab (even with Add / Edit Staff), and the salary record does not open for them. They cannot record an advance, settle one, or mark a salary paid, and the Payroll and History tabs under Export are hidden from them. Salaries already set are kept exactly as they are when such a manager edits a person; the owner sets pay. If the owner switches the permission while the manager has one of these screens open, it closes or redraws at once — including the Add Salary / Increment window, a Bulk Update Salaries review, the Mark Salaries Paid window, and any question that shows pay figures (such as “Replace ₹…?”, “Count this ₹… as still owed?” or the amounts in “salary is already marked paid”), and nothing in them is saved. A person saved by such a manager keeps exactly the salary already on record, even if a salary line was added just before the switch (September 2026). This is what the app shows; the database itself still lets a signed-in manager read the business’s records (see the next paragraph). The app itself no longer even downloads salaries, advances or salary payments onto the phone of a manager without this permission (2026); what the database allows is in the next paragraph.

“Already paid” for a manager without this permission. When such a manager changes a day in a month already marked paid, the app still names the people already paid for that month who work that day, without any figure, and asks them to tell the owner. Because their phone holds no salaries, it may name someone whose pay would not actually change: it is safer to warn once too often than to miss someone.

Mark Salaries Paid follows this permission too, not Add / Edit Staff (September 2026: before, a manager with this permission but without Add / Edit Staff never saw that button). A manager who can mark attendance, or add and edit staff, already has this permission switched on, so nothing they do today stops working; the superadmin can switch it off for anyone who should not touch money. If it is switched off while the manager is looking at Payroll or Payment History, the app moves them to the attendance export at once, even if a window was open on top, and says so; the export buttons themselves also check the permission, so a screen left open cannot download pay figures.

What the app enforces and what the database enforces. The database now checks, for every manager, that they have the matching permission before it accepts a change to attendance, the working-day calendar, staff records, advances or salary payments — so those limits hold even outside the app. Which team somebody may touch is checked by the database for staff records, and by the app for attendance and for money. Reading is not team-scoped: a manager who signs in can read the business’s records. If that matters for your business, give managers only the permissions they need and add only the people you trust to manage.

Removing someone's access

Removing a manager also removes their sign-in to this organisation: it disappears from their organisation list and they can no longer open it. Their records stay with the organisation. To give them access again, add them back with the same email.

What the removed manager sees. If their app is open, it tells them at once — “Your access was removed” — and takes them back to their own list of organisations. If they open the app later, it says “You no longer have access” and does the same. It never opens the business and leaves them on an empty screen with no explanation, which is what happened before.

All or nothing. Removing a manager takes them off the list, removes their permissions and cuts their sign-in in one save, so it either happens completely or not at all (“Not removed” — check your connection and try again). Until September 2026 the sign-in was a second save, and if only that one failed the app had to tell you their sign-in could not be cut off yet; that can no longer happen. If a second manager entry uses the same email address, the app says that their sign-in stays for that reason. Two manager entries with the same email are refused outright.

Changing a manager's permissions while they are using the app takes effect within seconds. If they are on a tab that the permission controlled — Records, for example — the app moves them to a tab they can still use and tells them why, rather than leaving the old screen up.

3 First-Time Setup

Signing in

  1. Open the app and tap Continue with Google (or Continue with Email to sign in with a link sent to your inbox instead; the app shows which address the email comes from, normally Roznamcha, roznamcha@asmlabs.in; if you ask for more than three links in 15 minutes the app asks you to wait or use Google). Use the account/email you want as the admin. If you have more than one Google account, Google asks which one to use every time, so pick the account you use for this business. Signing in with a different account shows no organisations, because they belong to the account that created them.
  2. If you have no organisations yet, you land on the Get Started screen. Tap + Create Organisation.
  3. Enter your organisation name.
  4. Answer “Do you pay these people a salary?” This is the one question that changes the shape of the app, so it is asked up front rather than hidden in Settings.
    • Yes — attendance and salary. The full app: attendance, advances, overtime and monthly pay.
    • No — attendance only. Just who turned up. Every salary and payroll screen is hidden, and the people you add are called people rather than staff.
    Either answer can be changed later in Settings → Organisation, and changing it hides or shows the payroll screens without touching any record.
  5. Choose Which days are working / event days? Tap the weekdays to tick or untick them. Monday to Saturday is ticked for you when you pay salaries; nothing is ticked for attendance only (switching the answer above switches this too, until you touch a day yourself).
    • Days ticked: those weekdays are working days automatically and everyone is marked Present; the other days are off. Nobody has to open the app on a normal day, and the app does not ask about the day.
    • No day ticked (for example a kitty party or a group that meets irregularly): each day shows Working / Event Day not set, and when you open the app on a day that is not set, it asks “Is today a working / event day?” In a club (Attendance Only) the same screen asks Which weekdays are event days?, each day shows Event day? Not set yet, and the question is “Was today an event day?”
    You can change this later in Settings → Attendance.
  6. Answer “From which date do you want to keep records?” Today is filled in for you. This is the organisation's start date: records begin here, and every day before it stays locked — you cannot move Records to an earlier day or mark attendance on one. If you are entering attendance that already happened, set the date back now. You can change it later in Settings → Organisation → Start Date, and moving it back simply unlocks those earlier days; nothing already recorded changes. A date more than 30 days back: everyone is marked Present automatically only on the working days of the last 30 days, so the app says, under the date, that older working days are not marked automatically; mark them in Records (a day left blank counts as not marked). The line also says that, after adding your people, you can mark them all Present for those days in one step from Settings → Start Date (see Organisation start date below).
  7. Tap Create. You are now the Superadmin.

Trying the app before signing in

The sign-in screen has a Try a demo button. It opens the app with a sample shop called Sharma Traders: eight staff in two teams, three months of attendance, monthly and daily salaries, a couple of salary advances, some overtime, and last month's pay already marked as paid.

Nobody is signed in and nothing is saved. You can mark attendance, add staff, record an advance and open every screen without touching a real record anywhere. A bar across the top of the screen reminds you that you are in the demo.

Everything works inside the demo, including switching and creating organisations, backing up and restoring, adding managers, and deleting an organisation. Changes are kept in memory only. The two steps that would reach beyond the demo are shown but not carried out: deleting your account goes through every screen and then says nothing was deleted, and transferring ownership shows what would be sent without sending it.

Tap Start for real on that bar, or at the bottom of the organisation list, to leave. The page reloads to the sign-in screen, and everything changed in the demo is gone.

The three steps on an empty organisation

A brand new organisation opens on the Today tab with a short card at the top listing what to do first: create a team, add your first staff member, and mark today. The buttons on it open the right screen, so nothing has to be hunted for. The card disappears by itself the moment one person is on the list, and it never appears again.

Below it, the marking list says what is actually true rather than guessing (fixed September 2026). With nobody added yet it reads “No staff yet. Add the first one and they are marked present automatically from then on”, with a button to add them — where it used to say “No staff in this team” on a business that had no team and no people at all. And Mark All Present and Unmark All are hidden while there is nobody to mark, instead of being offered as buttons that could only fail.

Creating a team is optional for the owner — staff can sit in No Team and be grouped later. A manager, though, must place every person they add in one of their own teams. It is worth doing once people work in different places or on different shifts, because the team filter on Today and Records follows it.

The app asks whether today is a working / event day only when no weekday is ticked as a working day, today has not been set yet, and there is someone on the list. It asks once a day on each device. While the organisation is still empty it does not ask, because there is nobody to mark. An organisation with working days ticked is never asked: its days decide themselves.

Recommended setup order

  1. Go to Settings → Organisation. Check your Start Date (the date you want records to begin from) — you chose it when you created the organisation, and this is where you change it.
  2. Go to Settings → Attendance. Enable the attendance statuses your org uses (e.g. turn off Earned Leave if you don't need it). Check the default working days you chose when creating the organisation.
  3. Go to Settings → Teams & People. Add teams/groups first, then add managers. (The card on an empty Today tab gets you to the same place in one tap.)
  4. Go to Staff tab. Add all your staff members, assign them to teams, and set their salaries.
  5. Go to Settings → Payroll. Choose your salary calculation method and set pay multipliers for leave types.
  6. Start marking attendance from the Today tab.
Tip: On Android, open the app in Chrome and tap the browser menu → Add to Home Screen to install it as a PWA. It will work like a native app.

Switching between organisations

Tap the organisation name in the top header at any time to switch, or open your profile picture and tap Switch organisation. If you belong to multiple organisations, they all appear on the Your Organisations screen — the same screen with the same name whether you have just signed in or come back from inside a business. You can create as many organisations as you need.

The app remembers whichever organisation you were last actively viewing — refreshing the page (or reopening the app) takes you straight back into it instead of the organisation picker, even if you belong to several. Signing out forgets it, and so does deleting a business: after deleting the one you were in, you land on Your Organisations rather than being dropped into another business.

Signing in always shows your list first (September 2026). When you have just signed in — with Google or with an emailed link — the app shows Your Organisations and you choose, even if you have only one business. On a new or shared phone you never land inside a business you did not pick. Coming back to the app, when you are still signed in, works as before: it opens the business you were last in. In one line: when you sign in, you choose; when you come back, it remembers. Someone with no businesses yet sees the “create your first one” screen, as before.

A long list stays short (September 2026). If you have more than 8 businesses, the list shows the first 8 and a See all N businesses button that shows the rest. If a transfer offer to you is among the hidden ones, the button says so. Once the whole list is showing, the same button at the end reads Show fewer and folds it back to the first 8 (the list also starts folded each time it opens). Deleted businesses sit below as one line — Deleted businesses (N) · Show — which opens the list with its Restore buttons; restoring works exactly as before.

When the list will not load

If the app cannot reach the server when it starts, it now says “Can't reach the server” with a Retry button. It no longer says “No organisations yet”, which looked exactly like losing everything. Nothing is ever lost this way — your organisations live on the server, not on the phone.

If only some of your businesses load, the list says how many are missing — “⚠ 1 of your businesses could not be loaded” — with Retry, and the app does not open any business by itself until everything loads. If the list of businesses you own is the part that could not be read, the app shows “Can't reach the server” even if a business you manage did load: it cannot tell yet whether you are its owner or its manager, and it will not guess (September 2026: before, it could open your business as if you were only a manager, without a word).

If one particular business fails to open, the screen says “Could not open this business” and offers three real choices: Retry, Back to my organisations and Sign out. The app also stops opening that business by itself until it works again, so a single bad load cannot trap you.

If the app is opened with no connection at all, and it has never finished loading since the last update, it says “Could not start — check your connection” with a Reload button after about fifteen seconds, instead of sitting on “Initialising…” for ever.

4 Today Tab

The Today tab is your primary daily workspace. It shows all staff active today and lets you mark their attendance quickly.

🏢
Acme Corp
Tap to switch org
superadmin
Today
Records
Staff
Stats
✅ Working Day
Mon 21 Jul 2025
Working
4 / 6 marked today
A
Amit Sharma
Sales · EMP001
✅ P
P
Priya Mehta
Operations · EMP002
SL
R
Rahul Singh
Sales · EMP003
Mark…

Working Day / Holiday banner

The banner at the top of Today shows whether today is a Working / Event Day or a Holiday. Tap it to change the setting. On a holiday, the only thing that can be recorded for a person is holiday work — a full day or a half day for somebody who came in anyway; nothing else can be marked there. See Marking on a holiday.

With default working days ticked, each day follows them automatically: ticked weekdays are working days, the rest are holidays. With no weekday ticked, a day you have not set shows Working / Event Day not set (not Holiday) until you set it. Once a day has arrived, its answer is kept, so changing the default working days later never changes days already past.

Progress counter

Below the banner, a progress bar shows how many active staff have been marked today. Staff who are inactive (not employed on today's date) are excluded from the count. Next to it, the marked count now shows a status breakdown in brackets on working days — e.g. 8/10 marked (7P, 1A, 2EL) — listing only the statuses actually in use, so you can see the shape of the day at a glance without opening Stats. The same summary appears on the Records tab for whatever date you're viewing there. On a holiday there is no attendance to count, so instead of “1/10 marked” it says who worked on the holiday — e.g. 1 worked on the holiday — or nothing at all.

Live updates

Changes made on one device appear on the others within seconds, with no refresh. While a business is open, the app watches five things and updates them as they change: the day you are looking at (today on the Today tab, and whichever date the Records tab is showing), your people, your teams, your managers and the business settings (name, pay method, working-day calendar, closed date, Attendance Only Mode). So two people marking the same day see each other’s marks; a person added on the laptop appears on the phone; a setting changed in one place applies everywhere.

What does not update by itself, on purpose. Past dates you are not looking at, the Stats ranges, Payment History, advances, salary payments, exports and the backup list are loaded when you ask for them, exactly as before — watching all of those would cost far more than it is worth on a phone plan. Move the Records date, change the Stats period, or reopen the tab, and you get the current figures. Your own money changes are the exception (September 2026): a payment, advance or settlement you record shows on Payroll and Payment History as soon as the salary window closes — changes made on another phone still need the tab reopened. The Today tab also reloads the last 30 days by itself when a tab left open overnight comes back on a new day.

An update never wipes what you are doing. If a change arrives while you have a form, a confirmation or the remark box open, the app keeps it and draws it the moment you close the form — nothing you are typing is replaced. If someone else changed the same person or manager while you had them open, saving says “Changed by someone else” and asks you to reopen them, rather than quietly putting your older version back.

If your access is removed while you are working, the app tells you at once and takes you back to your list of businesses, instead of letting you carry on marking into a business you can no longer save to. The same happens to the other devices if a business is deleted. A manager whose owner deletes the business they have open is moved off it at once too (September 2026; before, their screen could stay on the deleted business until they reopened the app). When the app cannot tell whether the business was deleted or the manager was removed, it says “You can no longer open … — The owner deleted it, or removed you as its manager”; anything already saved is kept.

If a permission is switched off while you are on the screen it controlled, the app moves you to a screen you can still use and says why in one line — it no longer takes the tab out of the bottom bar and leaves the old screen sitting there looking editable.

Sync status

A small dot next to your profile picture in the header shows what the app is doing. It has five colours. Tap it for a panel that names the current state and explains it, lists the five colours with a ▶ beside the one showing now, and gives the time of your last save. When the dot is not green, a word appears beside it so you do not have to tap.

  • Green — Up to date. Saved, and this device is receiving other people’s changes live.
  • Blue, blinking — Saving. A change is on its way to the server. It blinks for a moment on every save.
  • Amber — Offline, or Not sent yet. Your change hasn’t reached the server yet. It’s held in the open app, not stored on the phone. Keep the app open and it’s sent as soon as the connection gets through. The word beside the dot says which:
    • Offline — the phone has no connection. Marks you make are held in the open app and sent when the connection comes back, as long as the app stays open.
    • Not saved (3) — offline, and counting what has not reached the server yet. Keep the app open until it goes green. Marks made with no signal live only in the open app: closing it, or swiping it away, loses them. If you try to close the page while changes are waiting, the browser asks whether you really want to leave. The three bulk actions — Mark Salaries Paid, Bulk Update Salaries and Reset All Attendance — count too, as one change each, and none of them can be started again until the last one has gone (since September 2026; before, they were not counted at all).
    • Not sent yet (1) — a change has been on its way for more than eight seconds and the server has not confirmed it, although the phone says it is online (a weak signal, a Wi-Fi that needs a login, a mobile data connection that has stalled). A message says so once. Keep the app open: the change is sent as soon as the connection recovers, and the dot turns green only then. Nothing needs to be entered again. Before September 2026 the dot could stay blue on Saving for ever in this case, and could turn green when the signal came back although the change had still not arrived.
  • Grey — Connecting, or Reconnecting. Other people’s changes aren’t reaching this device right now. The app is starting, or reconnecting by itself. Your own saves aren’t affected. The word beside the dot says which:
    • Connecting — no business is open yet, or the app is still starting.
    • Reconnecting — changes made on other phones have stopped reaching this one, and the app is reconnecting by itself. If it does not clear, the word becomes Not live and a message asks you to close the business and open it again.
  • Red, marked Couldn’t save — the last change was refused or failed. Try it again; if it keeps failing, your access to this business may have changed.

Which version you have (September 2026). The panel also shows the App version this phone is running. Since release 1.1.14 it is written the same way everywhere (here, in Settings, on the sign-in screen and on the business list): 1.1.14 · build 1029 · 2fc8eba — the release name first (the one used in the update notes), then the build number, which climbs by itself with every deploy, then the short code of the exact build. Before that the line began with the build number, so the app seemed to call itself something different from the release. The green dot means your marks are saved — it does not mean the app itself is the newest version. When a newer version is waiting, the panel says “A newer version is ready. Close and reopen the app.” An installed app can keep running the old version until it is fully closed, so close it (swipe it away) and open it again. When the app has checked and nothing newer exists, it says This is the newest version; with no connection it says nothing either way.

Amber and red used to be the same red dot, which said “something is wrong” when usually nothing was. The date of your most recent backup is on the Settings › Backups screen, and is repeated in this panel once you have opened that screen.

“Saved” now means saved. Every save in the app — a team, a manager, an advance, a salary payment, a new business — shows its message only after the server has confirmed it. If a save fails, the app says what went wrong, and the screen stays as it was rather than showing a change that was never stored. Buttons show Saving… and ignore a second tap, so a double tap on a slow connection can no longer record the same advance or payment twice.

What's new after an update

When the app has been updated with changes you will notice, a small window called “✨ What's new” slides up once, after your business (or group) opens, with a few short lines about what changed. Close it with Got it, the ✕, a tap outside it or the phone's Back button; it does not come back for that update.

  • Once for each person on each phone. Two people who share a phone are each told once. If you sign in on a new phone, you may see the latest note there once as well.
  • If you missed a few updates, it shows the notes of the ones you missed, newest first (at most the last three).
  • Only what is true for you. Notes about pay are not shown to a manager who does not have the “Record Salary & Advances” permission, nor in an Attendance Only group; owner-only changes are shown to the owner.
  • Never in the way. It waits until nothing else is open (the question about today, a handover, the backup reminder) and never appears on the sign-in screen, on your list of businesses or in the demo. Somebody using the app for the first time is not shown it.
  • Updates that change nothing you would notice show no window at all.

Confirmations

Whenever an action changes or removes data, the app asks first in its own panel that slides up from the bottom. The buttons name what they do (“Set as holiday”, “Mark casual leave”, “Delete team”), and a short list gives the real numbers: people, days, dates, amounts. Cancel, tapping outside the panel, the phone's Back button or Esc on a keyboard all change nothing.

  • Blue panels are ordinary confirmations.
  • Amber panels (tagged Overwrites) replace something already there, such as Mark Range over existing marks or replacing a salary.
  • Red panels remove something. When there is a safer choice it comes first, in blue; the permanent action sits below a line, in red, with a one-line warning.
  • Where a panel offers more than one choice, each button carries its own line saying what that button does, with the real counts — in grey under a choice that loses nothing, in red under one that does. The list above the buttons only says what the person or day already has.
  • The most destructive actions (Delete Organisation, Reset All Attendance, restoring a backup over current data) ask you to type the business name exactly before the red button works. The two strongest buttons are written in capitals: DELETE PERMANENTLY and DELETE BUSINESS. Delete Organisation hides the business from you and every manager straight away and stops its automatic backups; you can restore it yourself from your business list for 30 days, after which it and its backups are deleted permanently.

The phone's Back button

Back works one step at a time inside the app. With a question panel open, Back closes the panel and changes nothing; a window under it stays open. With a window open — a person's details, the salary window, Mark Range, the status picker, a remark — Back closes the window on top, exactly as its ✕ does, and you stay where you were. On any tab other than Today, Back takes you to Today (a manager who has no Today tab goes to Stats).

Leaving the app takes two presses. On Today with nothing open, the first Back shows the message “Press Back again to leave”, and you stay in the app. The message stays on screen until you do something: the next Back closes the app, and a tap anywhere on the screen instead — a tab, a person, even blank space — takes the message away and Back works one step at a time again. On the sign-in screen and on your list of businesses, where there is nothing to lose, Back still leaves straight away.

One thing to know, set by the phone's browser rather than by the app. The app can only prepare its Back steps while your finger is on the screen, so when it opens a business by itself, before you have touched anything, the first Back closes the app. One tap anywhere and everything above applies.

Closing a window with Back is the same as tapping its ✕: anything typed into it and not saved is not kept, so tap Save first.

Mark All / Unmark All

Two quick-action buttons let you mark everyone Present at once, or clear all marks for the day. Mark All Present asks once and counts only the people who will change, for example “Mark 3 people present? 2 are already present”. Anyone already Present stays exactly as they are, including any overtime logged for them.

Cleared marks stay cleared. On a working day, anyone who has never been marked is filled in as Present automatically when the app opens. Once you clear a person (✕ Clear) or use Unmark All, the app remembers that the day was deliberately left unmarked, and opening the app again does not mark them Present.

What happened on that day? Unmark All asks this with two named choices. Set as holiday is for a day the shop was actually shut: the day stops counting as a working day, and the marks on it are cleared. Unmark All works on today and past days only; to make a future day a holiday, use its banner in Records, which also clears leave booked ahead for that day (book it again if the day comes back). The panel says how many marks it will clear before you agree, so a holiday never shows people present on a day that counts nothing. If you set the day back to a working day it stays blank, so nobody is marked by mistake. Somebody who came in on a holiday is recorded as holiday work instead (see Holiday work). Clear all marks removes the marks of the people shown — holiday work included, and the panel says how many of them are holiday work. Cancel changes nothing. On a day that is not a working day, only Clear all marks is offered.

Team filter chips

Tap any team chip to filter the list to that team. Only teams you have access to appear. All shows everyone.

Compact view

Tap the Compact button in the header to switch to a tighter card layout — useful when you have many staff members and want to see more on screen at once. Notes are hidden unless present. The Compact preference lasts until you close the app.

5 Records Tab

The Records tab lets you view and edit attendance for any past date, and set future dates as holidays or working / event days. It works like the Today tab, but for a date you choose.

Use the ‹ › arrows on either side of the date label to move one day at a time. Tap the date label itself to open a full date picker calendar. You can go back to the organisation's start date and forward up to one year from today.

Back to today in one tap (September 2026): whenever Records is showing any other day, a Today button appears at the right of the date bar. Tap it and Records jumps straight back to today; once you are on today the button goes away. It is not shown when today itself cannot be opened in Records — when the business is closed and today is after its closed date, or when the start date has been set to a day after today. If the connection is too weak to load today, the app says so and stays on the day you were viewing, exactly as the arrows do.

Try to go back past the start date and the app now tells you why it will not: it names the start date and, if you are the owner, offers a Change start date button that takes you straight to Settings → Organisation → Start Date. Moving the start date back unlocks those earlier days for marking; nothing already recorded changes. A manager sees the same explanation and is told to ask the owner.

Future holidays and event days

Move to a future date and tap its banner to set it as a Holiday or a Working / Event Day in advance — for example a festival closure next month. In Attendance Only Mode you can also add the event's host and venue there. Attendance itself cannot be marked on a future date: the cards show a short note that attendance is marked on the day. To record leave planned ahead, use Mark Range.

If the connection is too weak to load the day you pick, the app says so and stays on the date you were already viewing, so you never mark a day it has not been able to load. Mark All Present and Unmark All likewise refuse a day that has not loaded.

When something cannot load

Older months in Stats, Payment History, Upcoming Leave and the Events list are fetched from the server when you open them. On a weak or missing connection these now show Could not load, check connection with a Retry button, instead of showing empty days or ₹0 figures. Nothing you have marked is affected; tap Retry once the signal is back.

Working Day toggle

Tap the banner to set the date as a Working / Event Day or a Holiday, in the same window as on Today. From Records the question names the date it is about (September 2026): “Was Sat, 12 Sept 2026 a working / event day?”, or for a future date “Will … be …?”. In a club it reads “Was 12 Sept an event day?”, with the answers Yes, event day and No event.

A past date shows what will change first (release 1.1.4). Changing a date before today between working day, holiday and “not set” can mark people Present, clear marks and change the month's working days, so the app lists that before anything is changed, and asks. For example, making Sunday 13 September a working day: “6 people are marked Present automatically”, “Left blank, because their marks were cleared on purpose: Asha”, anyone's holiday work becoming an ordinary Present or Half day, and “September goes from 26 to 27 working days”. Making a day a holiday says how many marks are cleared. Keep it a holiday, Keep it a working day or Leave it not set changes nothing. If the month is already marked paid, this is the paid-month question below, with the same list at the top — always one question, never two. Today's date (on the Today tab or here), a future date, and Unmark All's Set as holiday work as before.

A holiday with holiday work on it (September 2026): making it a working day asks first, and names each person — “Arjun’s holiday work (half day) becomes an ordinary Half day”. A full day becomes Present and a half day becomes Half day; from then on it counts as attendance and normal pay, not as holiday work. Keep it a holiday changes nothing. Setting a holiday as a holiday again keeps its holiday work.

A month already marked paid (September 2026): making a holiday a working day changes that month’s pay — the working days every salary is divided by, the automatic Present, holiday work becoming ordinary marks. If anyone’s salary for that month is already marked paid and their pay would change, the app names the month and the people and asks first, before anything is changed. The owner (or a manager with Record Salary & Advances) sees each person’s gross pay before and after; a manager without it sees the names only and is asked to tell the owner. Keep it a holiday changes nothing. The payments already recorded are never changed: Payment History shows each difference in amber. This applies to the banner and to “the whole business worked” alike.

The other way round, too: setting a working day as a holiday in a month already marked paid takes that day out of the month’s working days and clears its marks, so it changes pay as well. The app asks the same question first — the month, and each person whose pay moves, before and after — after the “clear the marks” question if there is one (for a date before today, set from Records, the two are one question, as above). Keep it a working day changes nothing. This covers the banner and Set as holiday in Unmark All’s “What happened on this day?”.

Marked count

Below the team filter chips, a "marked" count matches Today's — e.g. 8/10 marked (7P, 1A, 2EL) — for whichever date you're currently viewing, updating live as you mark attendance or switch team filters.

On a past date, anyone who was removed with Remove, keep history is listed after the current people as Name (removed), with the mark they had on that date. Those rows are read-only and are counted in the “marked” total like any other mark for that day.

Tip: Schedule holidays in advance from their future date here; pre-approve leave with Mark Range.
Note: The Records tab requires the Edit Previous Date Records permission for managers. Without it, managers do not see the Records tab at all. That permission is also what lets a manager turn a past absence back into Present from the Mark Range screen; marking leave and absence itself needs only Mark Leave / Absence Range.

6 Marking Attendance in Detail

Tap any staff card's status button to open the attendance modal for that person.

🏢
Acme Corp
Today
Records
A
Amit Sharma
✅ P
Amit Sharma · 21 Jul
✅ Present
❌ Absent
½ Half Day
⏰ Late In / Early Out
🤒 Sick Leave
← Previous    Next →

Attendance statuses

StatusCodeMeaningSalary effect (30-day basis)
✅ PresentPFull working dayNo deduction
❌ AbsentAAbsent without leave−1 full day deducted
½ Half DayHWorked half the dayConfigurable (default 0.5)
⏰ LateLLate in or early outConfigurable (default full pay)
🤒 Sick LeaveSLMedical leaveConfigurable
🌴 Casual LeaveCLPersonal / casualConfigurable
📋 Earned LeaveELAccrued leave entitlementConfigurable
? Not marked—A past working day with no mark at all (September 2026, release 1.1.11)−1 full day deducted, like Absent (before 1.1.11 it was paid in full)
Tip: Only attendance types enabled in Settings → Attendance appear in the modal. Disable types you don't use to keep marking simple.

Marking on a holiday, or on a day that is not set

Every attendance figure in the app — attendance %, effective days, pay, the payroll table and every export — counts working days only. A holiday carries no attendance marks. The only mark it can carry is holiday work, which is paid separately and never counted as attendance.

On a holiday, tapping a person offers just three things, on one screen. At the top, in one box, is the choice about that one person: “Ravi Kumar worked on the holiday” (their name), with how it is paid underneath, and two buttons, Half day and Full day. One tap records it. The one already recorded shows ticked; to take it off, use Clear.

Below a line marked “or, for everyone”, set apart from that box, is the one choice that is about the whole business, not this person:

  • The whole business worked, so make it a working day — the old route: the date becomes a working day, and everyone with no mark (this person too) is marked Present, exactly as the banner does. Correct them afterwards as on any working day. A manager who may not change that date's calendar is told to ask the owner instead. If that month's salary is already marked paid for anyone whose pay would change, the app names the month and asks first (see Working Day toggle).

Present, Late, Absent and leave are not offered on a holiday. Late is not used on a holiday: somebody who came in for part of the day is a half day of holiday work.

On a day that is “not set” (a business with no weekly schedule, on a day nobody has answered the working-day question for), nothing changes: choosing a status stops and offers “Make it a working day and mark …”, which sets the date as a working day, marks everyone else with no mark Present, and then applies your mark. Holiday work is not offered there, because “not set” means undecided, not a holiday. If that month’s salary is already marked paid for anyone whose pay would change, the app names the month and the people and asks first, counting the mark you are making (see Working Day toggle); Leave it not set changes nothing and marks nobody.

Clearing a mark on such a day is never blocked: taking a stray mark off a holiday is a repair.

The other direction. Setting a working day that already has marks as a holiday says how many marks are on it, then clears them (remarks are kept), so nobody shows as present on a day that counts nothing. If the day is set back to a working day it stays blank, so nobody is marked by mistake. (Corrected September 2026: this paragraph used to say the marks stay; they have been cleared since 16 September.)

Holiday work

Added September 2026, for the cleaner, watchman or helper who comes in on your weekly off day or on a holiday.

  • The day stays a holiday for everyone else. Nobody else is marked, the month's working days do not change, and nobody's normal pay moves.
  • It is a mark of its own: a full day or a half day, shown on the card as “🛠 Holiday work (full day)” in its own colour, so it is never read as Present.
  • It is paid on top of the month's pay, at the Holiday work pay setting: Record only, 1×, 1.5× or 2× (1× unless you change it). A day is worth what a day of overtime is worth: the salary divided by that month's working days (Actual Working Days), the salary divided by 30 (30-Day Basis), or the daily rate.
  • Record only means the holiday work is recorded but adds no pay. It still shows everywhere — on the day, in Stats, in exports and in the person's detail — so you have a record of who came in and is owed a day off in lieu, but nothing is added to their salary.
  • Attendance Only Mode does not use holiday work (September 2026): a day with no event offers only “Make it an event day”. Holiday work recorded in a club before then still shows where it was recorded.
  • The same rules as any mark: today and past dates only, never before the business start date or on or after its closed date, only while the person is employed, only with the permission to mark that date, and a manager only for their own teams. Recording it on a day the weekly schedule makes a holiday also fixes that date as a holiday, so a later change to the schedule cannot turn it into a working day under the mark.
  • A month already marked paid: adding holiday work to it warns first. The owner (or a manager with Record Salary & Advances) sees how much it adds; the payment already recorded is not changed, so the difference shows as Pending: record it with + Add another payment in that month’s salary window.
  • Where it shows: Stats (“🛠 Worked on 2 holidays (1½ days)”, and a “Hol. work” column in Table view), the person's detail (a tile and a Holiday Work list), Payroll (a “Holiday work” column, only when somebody has some), the salary window (“Includes holiday work”), Payment History and every export. It never changes attendance %.
  • If the day later becomes a working day, holiday work on it becomes an ordinary Present (full day) or Half day, after the app names the people (see Working Day toggle).

Leave booked ahead is unaffected: Mark Range is still the way to record future leave, and it pins the days it writes as working days. If the business later declares one of those days a holiday for everyone, that leave stops counting — which is the intended answer, because nobody was working that day.

Adding remarks / notes

Each staff card has a 📝 button. Tap it to add a note for that day — for example, "Doctor appointment" or "Left early due to family emergency". Notes appear in the Attendance Detail log in Stats.

Prev / Next navigation

Inside the attendance modal, use the ← Previous and Next → buttons to move between staff members without closing the modal — useful for fast marking down a long list.

7 Overtime Tracking

When Overtime Tracking is enabled (Settings → Payroll), you can log extra hours worked beyond the standard working day on any Present day.

Enabling overtime

  1. Go to Settings → Payroll → Enable Overtime Tracking and toggle it on.
  2. Set your Default Working Hours / Day (e.g. 8 hours). This is the denominator for converting overtime hours into effective day fractions.
  3. Tap Save Overtime Settings.

Logging overtime on a day

Once enabled, a +OT button appears on each staff card where the day is marked Present. Tap it to open the Overtime modal.

  • Use the − / + stepper to select overtime hours (0–16, whole hours only)
  • The modal shows a live preview: e.g. "+2h = +0.25 effective days" on an 8-hour default
  • Tap Save. The button updates to show the logged hours: +2h

Logged overtime is kept while the person stays Present: tapping Present again, using Mark All Present, or editing their remark does not remove it. It is removed only when you change their status to something other than Present (for example Absent or Half Day), because overtime counts only on Present days.

How overtime affects salary

Total OT hours
÷
Default hrs/day
=
OT fraction (effective days)
+
Base effective days
=
Final effective days

This works identically in both Actual Working Days and 30-Day Basis salary methods. OT is only counted on days marked Present.

Holiday work is priced the same way as a day of overtime, but it is shown on its own line and is not part of effective days. See Holiday work.

Stats table with overtime

In the Stats table view, days with overtime recorded show the effective day value (e.g. 1.25, 1.5) in an amber cell instead of the usual ✓ symbol — instantly distinguishable from standard present days.

Overtime in the files

(September 2026.) The Stats table PDF prints the same number as the screen (for example 1.5 for 4 extra hours on an 8 hour day, in the same amber), and its key says what the number means; until then it printed a plain P. Both spreadsheets end with an OvertimeHours column: the attendance CSV (hours over the period) and the payroll CSV (hours in the month, the hours behind the overtime part of EffDays). In the spreadsheets the day cell still reads P, and no other column moves, so formulas you have built keep working.

Note: Overtime Tracking is not available in Attendance Only Mode.

8 Staff Tab

The Staff tab is where you manage all people in your organisation — add them, edit their details, view their records, and manage employment periods.

Adding a staff member

  1. Tap the ➕ button at the top of the Staff tab, next to the team filter chips (Superadmin or managers with Add/Remove/Edit Staff permission).
  2. Fill in Name (required), Designation and Employee ID, and select a Team. A manager must choose one of their own teams.
  3. Set the Initial Joining Date — this creates their first employment period. The field defaults to today. If it is more than 30 days back, a line under it says that their working days before the automatic-Present window (the last 30 days) are not marked automatically: mark those in Records. The same line appears when you edit someone’s employment periods and move their start further back. A joining date from before the business start date is counted from the business start, so a long-serving employee entered with their real joining date gets the line too (September 2026). For the owner, when those days fall before the business was created in the app, the line adds that you can mark everyone Present for them from Settings → Start Date after saving.
  4. In a club (Attendance Only) this box is called Member since (September 2026), and it is shown when you add a person and when you edit one. It is filled in with today; set an earlier date to enter older meetings for them. It can’t be before the club’s own start date: to add older meetings, first move the start date in Settings → Organisation (a manager is asked to ask the owner). A date already saved before the start, for example from Full Mode, is kept. When the date is earlier than today, the line under the box says how many recent event days (the last 30 days) will be marked present automatically, as for staff in a shop: change any the person missed in Records. A date after today reads “Not on the list until <date>”. The People card and the person’s detail show Member since <date>. Someone with more than one membership period (set in Full Mode) shows the first start only, with a line saying so.
  5. Tap Save.

Staff cards

A long designation is shortened in lists, not in your records. Wherever people are listed — the Staff tab, the team window in Settings, the Removed list — the name and the line under it each show on one line, ending in … if they are too long for the row, exactly as the Today tab has always shown them. Tap the person and their own screen shows the whole thing. There is no limit on what you may type into Designation, and nothing already saved is changed.

Each card shows the person's name, designation, team, and their attendance percentage for the current period. Cards with a light red background indicate the employee is currently not active (employment ended). Tapping a card opens their detail: in Full Mode this always shows the current calendar month, regardless of whatever period Stats happens to be browsing; in Attendance Only Mode it shows Last 60 events instead. In a club the % on the card covers the last 60 events too (September 2026), the same as Stats and the detail behind it, so a monthly club no longer sees every card at 0 % before its meeting; while older events are still loading a card shows “…”. A club’s cards say Not a member now where a shop’s say Not Active. (Opening the same person's detail from the Stats tab's own list, rather than the Staff tab tile, respects whatever period Stats has selected — only the Staff tab tile forces this override.)

This detail view also shows two things above the regular Attendance Detail list, when they apply: an 🔜 Upcoming Leave block for any future-dated leave already marked, and — if Track Outstanding Advances is on and this person has an unrecovered advance — a ⚠️ Outstanding Advance row, tappable straight through to Settle. (The owner, and managers with Record Salary & Advances, only.)

Employment periods

Staff can have multiple employment periods — for example, if someone left and rejoined. The app tracks periods precisely:

  • Currently Employed — has an open period with no end date
  • Upcoming — joining date is in the future
  • Past Period — period with both start and end dates

To end employment: open the staff detail, tap ⏸ End Employment and pick the leaving date. To reinstate: tap ▶ Resume Employment with a new joining date. Both change the edit window only: tap Save to keep them, as the date window says (“Nothing is saved until you tap Save”). Closing the window without Save leaves the person employed. Because the app marks everyone Present each working day by itself, someone who has left has usually been marked for the days after their last day, so Save then asks “Change the employment dates? 3 marks outside the new dates will no longer count…” and lists those days. Tap Save anyway to end their employment: those marks stop counting and are kept, not deleted (see the next paragraph).

Moving a start date later, past days already marked, asks first (September 2026, shops and clubs alike). When you tap Save after moving a joining date, a period’s dates or a club’s Member since so that marks already made would fall outside them, the app reads that person’s marks and says, for example, “3 marks before 1 Oct will no longer count. They are kept and count again if you move the date back.”, listing the dates. Keep the old dates saves nothing; Save anyway saves the new dates. Nothing is deleted either way. If the marks cannot be read (no connection), nothing is saved and the app says so. Moving a date earlier never asks; the recent working or event days it brings in are marked Present straight after Save.

Choosing End employment from the Delete panel is different (September 2026): the leaving date is saved as soon as you confirm it, like the other Delete choices, and the app says “<name>’s employment ended: last working day <date>. Saved ✓”. Only the leaving date is saved; anything else you changed in the edit window still waits for Save. If the connection fails, the date window stays open and says “Not saved”, so you can try again or cancel.

Deleting a person

Tap Delete in the person's edit window. The app first checks what they have, lists it by name (“Akat has 3 attendance marks over 2 months”), and then shows only the choices that fit. Every choice says underneath it what it will do, with the real numbers, so the counts belong to the button you press and not to the panel as a whole:

  • Remove, keep history — “Hide Akat from today's lists. Restore anytime from Removed staff. Akat's 3 attendance marks are kept.” Advances and salary payments are named too when there are any. This is the recommended choice and nothing is lost.
  • End employment (offered when advances or salary payments are recorded for them, they are still employed, and you tapped Delete in their edit window; Delete staff member in a team’s window never offers it, because the dates live in the edit window) — Akat stays on past reports and stops counting after their last working day. You pick the date next; it is saved when you confirm it. Use this when someone has actually left: it is the only choice that stops their pay.
  • DELETE PERMANENTLY (owner only, and only when no advances or salary payments are recorded) — “Erase Akat and all 3 attendance marks permanently. This can't be undone.” It sits below a line, in red. The marks and the record are erased together, so if the connection fails nothing has changed and the app says Not deleted (September 2026). For someone with more than about a year of daily marks this takes several steps: the person is moved to Removed staff first, and if a later step fails the app says how far it got and that you can finish from the 🗑 there.
  • Managers never see Delete permanently. Their remove line says the owner can restore the person, because restoring is on the owner's Staff tab. A manager can delete only people in their own teams, and only while they hold Add / Remove / Edit Staff; this is checked again when Delete is tapped and after the choice, so a window left open after the owner changed their permissions cannot remove anyone.

A salary amount on file, attendance marks and the business mode do not count as money records. Once money is recorded, permanent deletion is never offered.

Removed people, and bringing someone back

“Remove, keep history” hides someone from today's lists but keeps everything they have. The owner finds them again at the bottom of the Staff tab, in a collapsed Removed staff section (“Removed people” in Attendance Only Mode) showing how many there are. The section is not shown at all when nobody is removed, and managers never see it.

Each row shows the person's name, designation, employee id, team and — for anyone removed from 16 September 2026 onwards — the date they were removed. Tap Restore and confirm:

  • They go back on the staff list and today's marking list. Their attendance, advances, salary payments and employment dates are exactly as they were.
  • The working days they were away for stay blank, not Present. The confirmation says how many days that is before you agree. Mark those days yourself if the person should be paid for them.
  • Their pay records are read-only while they are removed: you can open and read a removed person's advances and salary payments, but nothing new can be recorded against them until they are restored.
  • No sign-in is created or restored. Staff do not sign in to this app at all.
  • If the team they were in has been deleted, they come back with No Team, and the confirmation says so.
  • If your plan's staff limit is already reached, the restore is refused and says so; the person stays in the removed list and loses nothing. Remove or end employment for someone else first.

Beside Restore there is a 🗑 button that deletes the person permanently, without restoring them first. Only the owner sees it. The same warning appears as anywhere else: it names how many attendance marks are erased with them, says nothing on any current screen changes because they are removed already, and says their name disappears from past records and exports too. It cannot be undone. If it stops part-way (the connection drops), the app says what was erased and the person stays in the removed list; tap 🗑 again to finish.

If any money is recorded for them — an advance or a salary payment, on any device — the app refuses and says so, listing what is on record. The record has to stay for those entries to make sense. Delete those money records first if you really do want the person gone.

Note: removing someone is not the same as ending their employment. A removed person still has an open employment period, so on the 30-Day Basis the month they were removed in can still show a full month's pay. If they have actually left, use End employment (before or after restoring them) so their pay stops on the right date.

Why a name shows “(removed)”

History is kept, so the app shows it. Someone removed with “Remove, keep history” still appears, written as Akat (removed), wherever past data is shown or exported:

  • Records, on a past date they have a mark on — read-only: the mark and any remark can be seen but not changed.
  • Stats list and table, for a period they were marked in, and the Stats PDF.
  • Payroll Summary and its CSV, Payment History and its CSV and PDF, and the attendance CSV.

They are never in today's marking list, Mark All, Unmark All, Mark Range, teams, manager assignment, Bulk Update Salaries, or any count of current people. Their money figures are unchanged — nothing is recalculated. Only the months they were actually there for are listed, so a removed person never shows up as a pending salary for later months. A manager sees a removed person's past rows for their own teams only, exactly as they would have while the person was there.

“Changed by someone else”

If another person or another device changes someone's name, team, salary or employment while you have their edit window open, saving is refused: the edit window closes and the app says Changed by someone else. Open the person again to see the latest. Nothing is overwritten. Open the person again and make your change on the latest details. If the person was deleted meanwhile, the app says so instead.

Managers work the same way: editing a manager who was removed on another device is refused with This manager was removed on another device — reload, and their sign-in is not given back.

Salary configuration

Open the person (Staff tab, their card, then ✏️). The edit window has a Salary History list: tap + Add Salary / Increment to set their salary. You can add multiple salary entries with effective dates — the app automatically uses the correct salary for each month's calculations, with full history preserved.

Months before the first entry are paid at the earliest salary in the list (corrected September 2026). If someone joined in December but their first salary entry starts in January, December is worked out at that January amount. Before this, those months quietly used the person's latest salary instead, so anyone whose history was typed in after they joined — which is everyone who moved over from the old single-salary field — had every earlier month, and its Payment History row, calculated at a raise they had not been given yet. If an earlier month really should be at a different amount, add an entry for it and the app will use it.

You cannot remove a person’s last salary line (September 2026). Somebody whose salary is saved always keeps at least one line: tapping Delete on the only one says “This is the only salary line” and changes nothing. To stop paying someone, use End employment; to correct the amount or the month, edit the line with ✏️. With two or more lines, any one of them can still be removed. A line typed for a new person, or for someone who had no salary before, can be removed before you tap Save. Before this, removing the only line and saving quietly kept the old amount on record, and every month went on being paid at it, while the form said “No salary configured yet.”

  • Fixed Monthly — prorated based on working days or 30-day basis
  • Daily Rate — paid per effective day worked
  • None — no salary calculation
Tip: Salary with ₹0 or "None" type means that person is excluded from payroll calculations entirely.

Increase By, instead of typing a new total

In the Add Salary / Increment screen, a New Amount / Increase By switch appears whenever the person already has a current salary. Pick Increase By and type a change (e.g. 2000 for a raise, or -500 for a cut) — the screen shows a live preview, Current: ₹X → New: ₹Y, before you save. Only the resulting absolute amount is ever stored; the app never keeps "+2000" as data, so salary history always reads as plain amounts, never deltas.

Adding a salary at a date that's already configured

If you add or edit a salary entry using an effective date that already has one on file for that person, and the new amount is actually different, the app asks before proceeding — it never silently creates a second entry at the same date. Confirming replaces the existing entry with the new amount; declining leaves it untouched. If the amount you enter matches what's already there, nothing happens — there's nothing to change.

Salary dates are chosen as a month

Changed September 2026, everywhere a salary date is set — the single Add Salary / Increment form, editing an existing salary row, and the bulk screen. All three ask “Applies from the start of” and offer a list of months.

The reason: a salary change always takes effect from the 1st of a month. A day picker invited someone to choose the 14th and then wonder why the app behaved as though they had chosen the 1st. Existing records keep whatever date they already carry — nothing was rewritten.

Bulk Update Salaries

Staff tab → 💰 Bulk Update Salaries revises many active staff members' salaries in one pass — useful for an annual revision across the whole team, rather than opening each person's card individually.

  • Applies from the start of — one shared month for every change in this batch. It is a list of months, not a calendar: a salary change always takes effect from the 1st, so picking the 14th of anything was only ever a way to be confused later.
  • It defaults to NEXT month, not this one (changed September 2026). Recording an increment on the 16th used to default to the 1st of the current month, which silently rewrote pay for a month already half worked and possibly already paid for some people. This month is still one tap away, and it is labelled “this month, changes pay already worked” so the risky choice says what it does.
  • A summary before you confirm (added September 2026): how many people, the total now, the total after, and the difference — “8 people, ₹1,86,000 → ₹2,04,000, an increase of ₹18,000 a month.” That single figure is what catches a missing or an extra zero. A list of eight rows does not.
  • Note (applies to all) — one optional shared note, e.g. "Annual revision 2026," attached to every entry created in this batch.
  • Increment all by (₹) — type an amount and tap Apply to All to instantly fill every row with (their current salary + that amount). You can still edit any individual row afterward — apply the flat raise first, then adjust exceptions.
  • Every field is pre-filled with that person's current salary so you can see and adjust rather than retype from scratch. A blank Amount field means "leave this person's salary untouched" — nothing gets written for them. So does a row you leave as it is (changed September 2026): a person whose amount and Monthly / Daily are the same as the salary they already have from that month is not written and not counted. Before, every pre-filled row wrote a same-amount entry for the new month and was counted in “Updated N salaries”. The review says how many people keep their salary, and the message at the end counts only real changes (“Updated 3 salaries · 1 already at that amount”). A permanent reminder of this sits right above the staff list in the form — no need to tap anything to see it.
  • Nothing is written until you review and confirm. Tapping "Review Changes" shows exactly who's changing and to what, with any date conflicts (see above) flagged inline rather than as separate pop-ups — tap "← Back to Edit" to adjust anything without losing what you've already typed.

Only currently active staff appear in the list (a manager sees only their own team's staff). Salary is added the same way as the single-staff flow — additively, as a new history entry — so it never overwrites any other month's salary record. When you confirm, each person's latest record is read again first, so a salary change made on another device in the meantime is kept; anyone removed meanwhile is skipped and counted in the message. With no signal that first read fails and nothing is changed; if the connection drops after it, the sync dot counts the save as one change until it has gone, and the screen cannot be opened again until then.

9 Leave & Absence Ranges

Instead of marking leave day by day in the Records tab, you can apply a leave status across a date range in one action.

Marking a leave range

  1. Go to Stats tab and tap any staff member to open their detail.
  2. Tap 📅 Mark Leave / Absence Range at the bottom of the detail popup (requires Mark Leave / Absence Range permission for managers).
  3. Select the leave type from the dropdown — only types enabled for your organisation appear.
  4. Set the From and To dates. Optionally add a note.
  5. Tap Apply. A confirmation names the leave type and the person, lists the working days and their dates (for example “3 working days: 22–24 Sept”), and says that any marks they already have on those days are replaced and nobody else is changed.
Note: The range only applies to days that are Working Days and where the employee was active. Holidays and inactive dates are automatically skipped, and the confirmation says how many holidays were. Days before the business start date and from its closed date are skipped too (September 2026): the confirmation says how many were skipped, and a range that falls wholly on such days is refused with the reason. Mark Range will not open on a day the business is closed.

A range in a month already paid

(September 2026, release 1.1.18.) If the range covers days in a month whose salary is already marked paid, and it would change that person's pay (for example Absent, a Half day, or leave that your Pay Rules do not pay), the app asks first, with the same question as turning a paid month's day into a holiday: the title says the month's salary is already marked paid, it lists the days and what the range does, then the person's gross pay before and after (for example “Ravi: gross pay ₹27,000 → ₹24,545 (₹2,455 less)”). Mark … anyway marks the range; the payment already recorded is not changed, so Payment History shows the difference. Don’t mark changes nothing. Taking leave off with Present — Remove Leave asks the same way (Remove leave anyway or Keep the leave).

  • Leave that your Pay Rules pay in full does not change the pay, so nothing extra is asked: you see the usual confirmation.
  • A manager without Record Salary & Advances sees the names without any figures, and is asked to tell the owner. Their phone holds no salaries, so it cannot tell whether the pay really moves: it names the person whenever their month is marked paid, even for leave your Pay Rules pay in full (safer to warn once too often).
  • If the month cannot be loaded (no signal), the people are named without figures rather than with figures that may be wrong.
  • A club (Attendance Only) has no pay, so it is never asked.

A range over days that are not set yet

Leave only counts on working days. If your business has no weekly working days ticked (or some days in the range came before you first ticked them), those days are not set: neither working days nor holidays. A range over them does not just say “No working days found” any more (September 2026). The confirmation says how many days are not set and which, for example “5 of these days aren’t set as working days yet (Mon 12 – Fri 16 Oct). Leave can only be marked on working days.”, with these choices:

  • Make them working days and mark leave — sets those days as working days, marks the leave on all of them, and marks everyone else with no mark on those days Present, exactly as the working-day banner does. Shown to the owner, and to a manager who may change the calendar on those dates (Mark Attendance for today, Edit Previous Date Records for any other date). Anyone else sees “Ask the owner to set these days as working days first.” instead.
  • Mark leave on the N working days only — when the range also has working days: marks those and leaves the other days not set.
  • Cancel — changes nothing.

Holidays in the range are still skipped, and the confirmation says how many. If one of the days being made working days is in a month whose salary is already marked paid, the app names the month and the people whose pay would change and asks first; Keep them not set changes nothing. Since release 1.1.18 the same happens for Mark leave on the N working days only (see A range in a month already paid above). A business with no weekly working days also sees a tip: tick your weekly working days in Settings and days are working days by themselves.

In a club (Attendance Only), this is 📅 Mark absent for several events (September 2026), and it marks only days that are already event days. It never offers to turn “not set” days into events, because in a club every event day is a meeting: doing so would add made-up meetings to the Events list and PDF and mark everyone else present at them. The confirmation lists the event days it will mark and counts the rest, for example “1 event day: Sat 5 Sept · Skipped: 29 days with no event”. If someone will miss a meeting that is not in the app yet, mark it once the meeting is scheduled. Clearing works the same way: Present — clear the absence.

Editing a previously marked leave

In the staff detail popup, the Attendance Detail section lists every non-Present day. If you have the Mark Leave / Absence Range permission, each entry shows a ✏️ icon and is tappable — tapping pre-fills the Mark Range modal with that date and status so you can change it.

Removing a leave (marking back as Present)

In the Mark Range modal, the first option in the dropdown is ✅ Present — Remove Leave. Select this and apply the range; the confirmation is titled Remove leave for (name)?. The leave status and note are cleared from those days: days up to today become Present, and future days go back to unmarked, exactly as if no leave had been planned (the person is then marked Present automatically on the day, like everyone else). The message afterwards says Leave removed for N days.

10 Stats Tab

The Stats tab gives you attendance reports across any time period, in list or table format.

Period selector

Choose the time period using the chips at the top:

PeriodWhat it shows
WeekThe last 7 days, today included (not the calendar week)
MonthAny calendar month — select from dropdown
YearAny full year — select from dropdown
Last 60 DaysThe last 60 working days up to today (holidays are not counted), marked or not, from the business start. Since September 2026 (release 1.1.11) these are the same days Year and Custom count, so the three agree. It was called Last 60 Records and took only days that had a saved entry, skipping older days nobody had marked
All timeEvery day from the business start date to today (September 2026, release 1.1.11). A business with no start date starts at its first day with attendance. It works exactly like a Custom range with those dates: the list, the table (a page of whole months at a time) and the PDF. The Export tab’s Attendance CSV offers All time too.
CustomAny date range you specify (max 365 days)

Not marked

(September 2026, release 1.1.11.) A past working day on which someone who was employed that day has no mark at all is Not marked. It counts in the attendance % as a day not worked, exactly as before, but it is shown on its own and never added to Absent:

  • a line at the top of the list and the table, e.g. “Not marked: 4 working days with someone not marked (9 marks missing). Mark them in Records to correct the pay.”, with Open <date> in Records to go straight to the first one;
  • a ? 3 not marked badge on the person's card in the list;
  • ? in the table and in the PDF;
  • a Not marked tile in the person's detail, with the same prompt, and each of those days listed (tap one to open it in Records).

Only working days count: never a holiday, a day that is not set, a day before the business started or after it closed, or a day before the person joined or after they left. Today is never Not marked: the app marks everyone Present automatically when it opens, and until today is marked it shows · (not marked yet). The words “to correct the pay” appear only where pay is shown; Attendance Only businesses and managers without Record Salary & Advances read “Mark them in Records.”

Stats also no longer counts days before the business start date (a Month that began before it) or from the closed date on; neither could ever be marked, and pay has never counted them.

How the attendance % is worked out

(September 2026.) The % is the same in all six places it appears: the Stats list, the Stats table, the table PDF, a person’s detail, the card on the People tab and the attendance CSV. It is the days a person came, out of the working days that count:

  • Late counts as present and Half day as half. Present and Late are a full day; Half day is half a day; Absent and every kind of leave count as not present. So 18 Present and 2 Late out of 20 days is 100%, and the PDF’s Count column can show a half, for example 19.5/21. The Late and Half day counts are still shown on their own. A club that uses only Present and Absent sees no change.
  • Today is not counted until it is marked. While today has no mark it shows · and the % is worked out over the days before it; once today is marked it counts like any other day.
  • A removed person’s days from the day they were removed are not counted (R in the table). Their % covers only the days they were with you, so it no longer falls after they leave, and the list says how many working days that was.
  • A past working day nobody marked (?) still counts as a day not worked, as before (see Not marked).
  • Pay does not change: it has its own rules (Settings → Payroll → pay multipliers).

Until September 2026 only Present counted, and today and a removed person’s later days lowered the %.

List view

Shows each staff member as a card with their Present / Absent / Leave counts, attendance percentage and the working days in the period. The list itself shows no money (September 2026: it never has, although this page and the in-app help both said it did). Tap any card to open their detailed Attendance Detail log, which is where the estimated pay figure is.

Somebody who worked on a holiday in the period also gets a badge such as 🛠 Worked on 2 holidays (1½ days). It never changes the attendance %, because holidays are not working days.

Table view

A grid showing every staff member × every working day in the period, one page at a time (September 2026). A page is made of whole calendar months, never split: starting from the most recent month, older months join the page while it still has at most 25 day columns. A daily shop therefore sees one month per page, while a group that meets about once a month sees many months side by side (1.1.10.1, 22 Sept 2026; 1.1.10 had shown only one month, so such a group saw one column per page). A heading such as Sept 26 · 6 of 6, or Oct 25 – Sept 26 · 1 of 2 for a page of several months, names what is on screen; the ‹ › buttons beside it move to the previous or next page. The table opens on the most recent page, and a period on a single page has no buttons. The PDF prints the same pages, one block after another. Pinned while you scroll (release 1.1.11): the table scrolls inside its own box, and the page line, a small Team: <name> (or All teams) line and the row of dates stay at the top while you scroll down through the names; the name column stays at the left while you scroll across the days. The columns are that month's working days inside the period and from the business's start date on. The % column, and Hol. work, cover the whole period, not just the month on screen, so they are always the same figures as the list. (Until September 2026 the table showed only the last 30 working days of any period, and its % covered only those, so for a year it could differ from the list.) Each cell shows the attendance symbol:

✓ Present ✗ Absent ½ Half L Late SL Sick CL Casual EL Earned

  • ? = Not marked: a past working day with no mark (see Not marked above), in blue on a pale blue cell. R = removed, in pink on a pale pink cell (both since release 1.1.14, on screen, in the key under the table and in the PDF; they were grey before, and got lost among the ticks): the days of somebody removed with Remove, keep history, from the day they were removed onwards — there is nothing to mark there, today or ever (September 2026, release 1.1.14; before that they read · too). Where a removal has no date on record, it starts after their last mark. · = not counted: today, not marked yet — and nothing else. Neither R nor · is counted in the % (September 2026). A line under the table says what every symbol means. (Until September 2026 · stood for all three.)
  • Cells in amber with IA = employee was inactive (not employed) on that date
  • Cells showing 1.25 / 1.5 in amber = Present day with overtime recorded
  • Employees with zero active days in the selected period are hidden entirely
  • Holidays are not columns. When anybody worked on a holiday in the period, a last column Hol. work shows how many days (e.g. 1½); the PDF carries the same column

Attendance Detail (staff popup)

Tap any staff member in List view to open their detail. It shows:

  • Present / Absent / Leave counts with percentages, for the period you are viewing. Present and Absent are out of the days the % counts, so today is left out until it is marked
  • Estimated pay (if salary is configured; shown to the owner and to managers with Record Salary & Advances). When a month is on screen this is the same figure as the Payroll Summary for that month — the whole month's working days, so mid-month it shows what has been earned so far, not a full month's salary. It is an estimate from the marks entered so far and is final at the end of the month. Pay is worked out month by month (September 2026): opened from Stats on a week, a year, Last 60 Days or a custom range, there is no pay figure; one line in its place says “Pay is worked out month by month. Pick a month to see it.” (Before, a figure showed for those periods that took the whole period's absences off one month's salary, which was not a real pay figure.) Opened from the Staff tab it always shows the current month, and its pay.
  • Attendance Detail log — every non-Present day with colour-coded status badge and any note
  • Worked on holidays tile and a 🛠 Holiday Work list (date, full or half day, any note), when there is any in the period. The pay tile says “+ ₹500 holiday work”, or “record only” at that setting
  • 📅 Mark Leave / Absence Range button (if permitted)

Search

The search bar filters staff by name in both List and Table views. Hidden in Events view.

Export PDF (Table view)

When Table view is selected, a 📄 PDF button appears. It generates a landscape A4 PDF of the table for the selected period and team: every month of the period, one block after another, each with its month as a heading. Count and % in each block cover the whole period, the same figures as the list (September 2026: it used to print only the last 30 working days). Count can show a half day, for example 19.5/21.

Every page is labelled (September 2026): the foot of each page carries the business name and the title, and Page 2 of 3, in the Stats table PDF and the Payment History PDF (the Events PDF already numbered its pages). The period is still said once, under the title. Narrow cells no longer break: SL and CL stay on one line in long months, the % stays beside its number, the Not marked heading breaks only between its two words, and today’s · is dark enough to see.

Dates in Stats

Share (Table and Events view)

Beside the PDF button, Share (the standard share symbol, three connected dots) makes the same PDF and opens your phone’s share sheet with the file attached, so it can go straight to WhatsApp, email or Drive (release 1.1.12). Where a file cannot be shared — most computers and older phones — the PDF is downloaded instead and the message says so: “This phone can’t share from the app. The PDF is saved in Downloads.” (release 1.1.12.4). Samsung Internet (which the Play Store app runs in on Samsung phones) says it can share files but then refuses every one, so there the PDF is downloaded at once with the message “Samsung Internet doesn’t allow sharing files. The PDF is in your Downloads; share it from there.” (another browser that refuses the same way gets the same message naming “This browser”). The PDF maker loads quietly in the background as soon as Table or Events view opens, so Share works on the first tap; if the phone still asks you to tap Share again (it took too long since your tap), do. On a phone (430px wide or narrower) Share shows only its symbol. The PDF button reads 📄 PDF at every width (release 1.1.12.4). When Share has to download the PDF instead, the message comes first and stays about six seconds, and the download starts a second later, so the phone’s download notice does not hide it. The row of buttons always stays on one line; where it is still wider than the screen (the narrowest phones, in Events view) swipe it sideways, just like the Week / Month / Year chips above it — the fading right edge shows there is more. Share needs the Export permission, like the PDF.

What each file covers

Every PDF says under its title which team and which period it covers, for example Team: All Teams · Period: Sept 26 (1st Sept 26 to 22nd Sept 26) or Last 60 Days (5th Jul 26 to 22nd Sept 26), said once. A manager who sees only their own teams gets those teams in the header instead of All Teams: with one team it names it (Team: Front shop), with more it names them all, since the rows hold only their own teams (before 25 September 2026 it said All Teams). The small team line above the Stats table does the same. A club’s Stats PDFs read Group: All groups, Last 60 events and “N event days”. The Stats table PDF’s key now also says what IA means: Not employed (a club: Not yet a member). The dates are the days the PDF actually covers: never before the business start date, never from its closed date, never after today (a Custom range from 1 June for a business that started on 1 July reads from 1st Jul 26). The Payment History PDF names its months instead. Amounts in PDFs are written Rs 9,167: the PDF font has no ₹ sign (until release 1.1.12 the Payment History PDF printed it as “¹”). A symbol or emoji the PDF font cannot draw is left out, and a letter it cannot draw (for example Hindi) prints as “?”.

Dates in the Stats headings, the person's detail and the PDF read like 1st Apr 26 and 22nd Sept 26, and a month like Sept 26 (September 2026). The date boxes you type into are unchanged.

11 Export Tab

The Export tab lets you download attendance and payroll data as CSV or PDF files.

Attendance CSV

Every CSV starts with what it covers (release 1.1.12): lines for the Business, Team and Month (Payroll) or Period (attendance, Payment History; with the dates), a blank line, and then the table with its usual header row. A spreadsheet shows them as a few cells above the table. The files are saved so that Excel reads names in any language correctly.

Download a CSV of all attendance records for a team and period. Select the team, period (This Month / Last Month / This Year / Custom), and tap Download CSV. Only Working Days are included as columns — holidays are excluded. Two columns at the end, HolidayWork (days) and HolidayWorkDates (e.g. “18 Sep (half); 25 Sep (full)”), carry holiday work; they are always there, even when empty, and every other column keeps its place. Since September 2026 (release 1.1.11) a last column, NotMarked, counts each person's past working days with no mark, and those days read ? in their cell (today, and any later day, still reads “-”). Columns start at the business start date and stop before its closed date, as in Stats.

(September 2026.) Pct% follows the same rule as Stats (see How the attendance % is worked out), and WorkDays is the days it is worked out over, so Pct% = (P + Late + half of H) ÷ WorkDays can be checked in the sheet. A removed person’s days from the day they were removed read R (they read “-” before, the same as today not marked yet). People who were not employed at all in the period (someone who left before it, or joined after it) are no longer listed with 0%; Stats says “Not employed in this period” for them. A last column, OvertimeHours, was added. After the table and a blank line comes a key: what P, A, H, L, the leave codes, ?, R, - and — mean, and how Pct% is worked out. Absent stays A in the CSV (the PDF prints X), so formulas keep working.

Payroll Summary

Shows estimated salary for each staff member for a selected month. Columns include: working days, present days, effective days, advance deductions, and net estimated pay. Tap Export Payroll CSV to download.

Holiday work gets its own column, Holiday work, before Pay — e.g. “½ day · ₹500”, or “½ day · record only” — only when somebody has some that month. Pay includes it; Eff / Basis does not. The CSV ends with three columns, HolidayWorkDays, HolidayWorkRate, HolidayWorkPay; GrossPay and NetPayable include it. After them, since September 2026 (release 1.1.11), NotMarked: the person's past working days that month with no mark. Then, since release 1.1.14, Paid (every payment recorded for that month, 0 if none) and Pending (the net still to pay, blank when there is no pay figure; until 25 September 2026 it read 0 for any month with a payment), then, since 25 September 2026, Overpaid (what was paid beyond the net, 0 if nothing). Then, since September 2026, OvertimeHours: the overtime hours logged that month, which EffDays already includes. Last, since release 1.1.18, KeptForAdvance: pay kept back on purpose to recover an older advance and marked settled in the question after Mark Salary as Paid (0 if none), so on every line Net minus Paid equals Pending minus Overpaid plus KeptForAdvance; the Total line adds it up. On screen, when a pay figure does not pay such days, Eff / Basis says so underneath (“3 not marked”), and so does the pay box in the person's detail (“3 working days not marked”). The CSV now loads the whole month before it is written, so it never leaves out a day the device had not loaded.

The figure counts the whole month's working days from the organisation's start date, so during the month it shows what has been earned so far rather than a full month's salary. The table says so underneath: pay is an estimate from the marks entered so far, and is final at the end of the month. The pay shown on a staff member's detail popup for the same month is the same number, worked out the same way, and the Payroll CSV matches both.

A payment, advance or settlement you record from this screen or from Payment History shows here as soon as the salary window closes (September 2026; before, only after leaving the Export tab and coming back).

The Total row

(September 2026, release 1.1.14.) The Payroll table ends with a Total row, and so does the Payroll CSV. Only money is added up — Gross, Advance, Net, Paid, Pending and Overpaid. The day counts (P, A, H, Leave, Eff / Basis, Holiday work) are left blank: adding them up would mean nothing.

  • It covers exactly the rows on the screen: change the team and the Total changes with it.
  • People removed with Remove, keep history are counted, because their money for that month is real money.
  • Somebody with no salary set shows “—” in their own row and counts as zero in the Total.
  • In the CSV, the Total is the last line, in the GrossPay, TotalAdvance, NetPayable, Paid, Pending and Overpaid columns. Paid, Pending and Overpaid are real columns near the end of the file (only OvertimeHours, which is hours, comes after them and is blank on the Total line), one amount per person, so every earlier column stays where it was (before 23 September 2026 Paid and Pending were two separate lines under the Total; Overpaid was added on 25 September 2026).

Pending and Overpaid

(September 2026.) Pending is the net still to pay, for each person. Overpaid is what was paid beyond the net. Each person is counted on their own, so one person’s overpayment never reduces another person’s Pending, on the screen, in every file and in every Total. So Net minus Paid equals Pending minus Overpaid.

  • Example, one month: Asha’s net ₹10,000, paid ₹12,000; Ravi’s net ₹10,000, paid ₹6,000; Meena’s net ₹10,000, not paid yet. Pending is ₹14,000 (Ravi ₹4,000 and Meena ₹10,000) and Overpaid is ₹2,000 (Asha).
  • Under a paid person’s pay, the row says ✓ Paid and the date, then Overpaid ₹… when more than the net was paid. A month paid in part reads Part paid and the date instead, then Pending ₹… (release 1.1.18; until then it read ✓ Paid). To pay what is still Pending, open that person’s salary window and tap + Add another payment.
  • One exception. When you pay less on purpose to recover an older advance, and tap Mark ₹… settled in the question that follows Mark Salary as Paid, that part is kept back for the advance and is not Pending. The row says ₹… kept back for an advance, so the difference is explained. An advance settled with the Settle button instead is not linked to any month’s pay, so it does not change Pending.
  • Until 25 September 2026 a month with any payment showed Pending 0, whatever was paid, and nothing showed an overpayment except the Payment History screen.

Mark Salaries Paid, for many people at once

Added September 2026. On Export → 💰 Payroll, the 💸 Mark Salaries Paid button records payment for a whole team in one pass, instead of opening each person's salary record one at a time. The single-person flow is unchanged and is still there for anything unusual.

  • Every amount is editable, and starts at that person's net pay. Change any of them; clear a box to skip that person entirely.
  • Two dates, never mixed up. The month being paid for is whichever month the payroll view is showing. The date paid defaults to today. Paying August in September records it against August, dated September.
  • Anyone already marked paid for that month is left out, and the screen says how many that was. If everybody has been paid, it says so rather than showing an empty list. If one of them was paid less than their net, it says so too: pay the rest with + Add another payment in that person’s own salary window (September 2026).
  • The review states the total AND how many amounts you changed by hand, with each changed row flagged “changed from ₹X”. A stray keystroke in a list of twenty is otherwise invisible.
  • Advances are not settled here. Deducting advances in bulk is where a mistake becomes expensive and hard to unpick, so the batch records payment only and each settlement stays a deliberate act on that person's own screen.
  • If it fails part-way through, it says how many were recorded, and reopening it shows only the people still outstanding.
  • Who sees it: the owner, and a manager with Record Salary & Advances — the same permission every other money record needs. Add / Edit Staff does not matter here (it used to, by mistake, until September 2026).
  • While it is sending, the sync dot counts it (Not saved (1) with no signal), closing the page asks first, and the screen cannot be opened again until it has gone — the app says The last payments are still being sent. Keep the app open. Before September 2026, with no signal you could close it, reopen it, see the same people as unpaid and record them a second time.

Payment History

A full history of all salary payments recorded across any time range. Filter by team, individual staff member, and date range (3 to 36 months). Tap any row to open the salary/advance record for that person and month. Export as CSV or PDF.

The columns are Staff, Month, Gross, Advance, Net, Paid and Status. An advance appears in the row of the month it is Deducted from.

  • Paid is what actually left your hand, which is not always the Net. Until September 2026 no screen and no export showed it: paying ₹10,000 against a Net of ₹9,000 read simply as “Net ₹9,000 · Paid”, so an overpayment left no trace anywhere in the app.
  • It is green when it matches the Net and amber when it does not, with the difference spelled out underneath — “₹1,000 more than net” or “₹500 less than net”.
  • If a person was paid more than once in the same month, the column shows the total and says how many payments it is made of. Before this the app showed only the first payment it found and the others were invisible. The CSV’s Paid Date lists every payment’s date, oldest first; the screen and the PDF show the latest.
  • Status reads Paid (nothing left to pay), Part paid (paid, some still Pending), Overpaid (paid beyond the net), Pending (nothing paid yet) or Nothing due (a Net of ₹0, for example when advances took the whole month’s pay, and nothing paid). Until 25 September 2026 any payment read Paid; until the same day a Net of ₹0 read Pending, although there was nothing to pay.
  • The Total row adds up everything actually paid, and both the CSV and the PDF carry the same figures.
  • Gross includes holiday work, named underneath (“incl. ₹500 holiday work”); the CSV ends with a Holiday work (Rs) column.
  • Changes you make from a row show as soon as the salary window closes, and the CSV and PDF always export what is on screen: if something changed since the table was drawn, it is redrawn first, and if that cannot load, nothing is exported and it says so (September 2026).
  • After changing the team, person or period, the export waits for the table: if the new table could not load (“Could not load” with Retry), or is still loading, nothing is exported and the app says why. Before, the export could download the previous team's rows with a ✓.

The Total row, and Pending

(September 2026, release 1.1.14.) The table on screen, the CSV and the PDF all end with the same Total row: Gross, Advance, Net and Paid added up over the rows you are looking at, with Pending (the net still to pay) and Overpaid (paid beyond the net), each person counted on their own, as in Pending and Overpaid above. Status and date cells stay blank. In the PDF the Total row is bold, part of the table itself so it can never be separated from it, printed once at the end rather than on every page, and its amounts line up under the amounts above them; Pending and Overpaid are named on the line under it, always on the same page as the end of the table (September 2026: it could be left alone on an empty last page). Every page carries the title and its page number. In the CSV the Total is the last line of the table, and Pending (Rs) and Overpaid (Rs) are the file's last two columns: what is still to pay and what was paid beyond the net, blank Pending for a month with no salary set (before 23 September 2026 Pending was a separate line under the Total; until 25 September 2026 it read 0 for any month with a payment). Since release 1.1.18 one more column follows them, KeptForAdvance: pay kept back to recover an older advance and marked settled (0 if none), added up on the Total line; the PDF names it on its own line under the table when there is any. The screens and the files all call the row Total.

CSV by person — one line each, months side by side

(September 2026, release 1.1.14.) Payment History has a second download button, ⬇ CSV by person, beside ⬇ Export CSV. The plain Export CSV is unchanged and is still the usual one: a line for each person for each month. The new file is the same money in the shape most people want for a year's review:

  • One line per person. The months run across the page, oldest first, five columns each: Gross, Advance, Net, Paid, Status.
  • Two header lines: the month's name over its five columns, then the column names. A spreadsheet shows them exactly like that.
  • A Total for that person at the right (Gross, Advance, Net, Paid, Pending, Overpaid, then KeptForAdvance since release 1.1.18) and a Total line at the bottom that adds up every person, month by month and over the whole period.
  • A month somebody was not with you is left blank, never a zero, so a person who joined in August has nothing at all under July.
  • Holiday work is inside Gross here; it has no column of its own (the ordinary CSV still has one).
  • It carries the same Business / Team / Period lines at the top as every other CSV, opens correctly in Excel in any language, and needs the same permissions as the button beside it.
Tip: Payment History requires salary payments to be recorded via the 💰 salary modal on staff cards. If no payments are logged, months show as Pending, or Nothing due where the net is ₹0. A month paid in two goes shows both payments, added up.

People who were removed with Remove, keep history still appear in all three of these, and in the Stats PDF, written as Name (removed), for the months and days they were actually there. Their figures are exactly what they were before they were removed. See Why a name shows “(removed)”.

12 Payroll & Salary

Two salary calculation methods

Configure in Settings → Payroll. Applies to Fixed Monthly salary type only.

Actual Working Days

Pay ÷ working days in month × effective days worked

Best for: organisations with variable working days

30-Day Basis

Pay ÷ 30 × (30 − deductions). A past working day nobody marked is a deduction, like Absent (since release 1.1.11)

Best for: fixed monthly with only absence-based deductions

Pay multipliers

For each leave/absence type, set a multiplier between 0 and 1:

  • 1.0 = full pay (no deduction)
  • 0.5 = half pay (half deduction)
  • 0.0 = no pay (full deduction)

Disabled attendance types are shown greyed out in pay rules — they cannot be configured and are ignored in calculations.

A multiplier must be a number from 0 to 1. Save is refused if any box is empty or outside that range, and it names the one to fix. Previously a cleared box was accepted and every pay figure in the business then showed as ₹NaN until someone noticed and typed the number back in.

Holiday work pay

Settings → Payroll → Holiday work pay decides what a day of holiday work adds to pay. Owner only.

  • Record only — holiday work is recorded and shown (on the day, in Stats, in exports and in each person's detail), but nothing extra is added to their pay. Choose this if you give a day off in lieu instead of paying for the day, and you want a record of who is owed one.
  • 1× (the default) — a full day adds one normal day's pay on top of the month's salary; a half day adds half.
  • 1.5× — a full day adds one and a half days' pay; a half day adds three quarters of a day.
  • 2× — a full day adds two days' pay; a half day adds one day.

A day's pay is worked out the way overtime is: the salary divided by that month's working days (Actual Working Days), or by 30 (30-Day Basis) — for everyone, including somebody who joined mid-month — or the daily rate for daily-wage staff. Changing this setting changes the figure for every month, past months included, as the pay multipliers do. If a month was already paid, record the difference as a separate payment.

Recording salary payments & advances

Tap the 💰 button on any staff card (Today or Records tab) to open the Salary & Advance modal. Here you can:

  • Mark a salary month as Paid and record the payment amount, and add another payment to a month already paid
  • Record salary advances with the date the money was given and the month it is deducted from
  • View advance balance and payment history

Deducted from (September 2026). Each advance shows the month its amount comes off. It starts as the month of the advance’s date — not the month of the window you happened to open, as it used to — and follows the date if you change it. You can pick the month before or after instead, for example an advance handed over on 2 September against August’s pay. Once you pick a month yourself, changing the date no longer moves it. When the month differs from the window you are in, the form says so, and after saving the window moves to that month so you can see the advance.

  • Months with no salary are not offered — before the business started, after it closed, before the person joined or after they left, or with no salary set — and the form lists them with the reason. An advance there would come off nothing and show as Pending for ever. If no nearby month has a salary, the advance cannot be added until the date or the salary is fixed.
  • A month already marked paid warns first. The form says so under the month, and Add (or Save, or Delete) names the payment and how much more comes off — or goes back on — that month’s Net Payable after it was paid. The payment is not changed; Payment History shows the difference in amber.
  • Advances already recorded keep their month. Nothing was moved when this arrived. An older advance whose month differs from its date’s (for example dated 2 September, deducted from August) counts as a month somebody chose, so editing its date does not move it.
  • Editing needs a date, and saves only the amount, date, note and month, so a settlement recorded on another phone meanwhile is kept.

Each advance is weighed against the Gross Pay of the one month it is deducted from to work out Net Payable — it has no effect on any other month's numbers. What you actually record as paid is a free-text amount, pre-filled with the calculated Net Payable but fully editable — the app never forces a specific figure. Since September 2026 the window first loads the whole month it shows if this phone does not hold it yet (opened from an old date in Records, for example), and shows “Loading…” with no figure until it has; before this it could show a Gross, and pre-fill an amount, worked out from only the days already on the phone. With no signal it says the month could not be loaded, with Try again.

More than one payment in a month (September 2026). Once a month has a payment, the salary window lists every payment for that month, oldest first (two with the same date in the order they were recorded; before 25 September 2026 the later one could come first), each with its own date, amount, note and its own 🗑 to remove just that one. Under them, + Add another payment opens the same form again, starting at what is still Pending, dated today; each payment keeps its own date and amount, and nothing already recorded is changed. The summary shows Paid, and Pending or Overpaid, under Net Payable. Example: September paid ₹26,000 on 30 September; on 2 October you record holiday work worth ₹1,000, so September shows Pending ₹1,000; tap + Add another payment and record ₹1,000 dated 2 October. Payment History then shows ₹27,000 in 2 payments. Only the owner and a manager with Record Salary & Advances for that person’s team can add a payment; for anyone else, and for a removed person, the payments can be read but not added to. Before this, a paid month showed only its first payment and there was no way to add a second: the only route was to delete the payment and enter one new total with one date.

Tracking outstanding advances (optional)

Settings → Payroll has a Track Outstanding Advances toggle, off by default. It exists for a specific situation: you record an advance, but later pay full salary without actually deducting it — so the advance is technically still owed, but the month it was given in has already passed.

  • Off by default, and safe to leave off. Nothing about the monthly Gross/Advance/Net calculation ever changes, whether this is on or off.
  • Turning it on never looks backward. Only advances recorded from that day forward are tracked — advances already on the books stay untouched and are never retroactively flagged as owed.
  • Settings tells you the date. While tracking is on, the setting reads “Tracking advances given on or after <date>”, and says plainly that an advance dated before it is not tracked. That date is set once, the first time you switch tracking on.
  • An older advance can be brought in, one at a time. An advance dated before the cut-off shows Not counted — given before tracking started · count it in the month’s Advances list. Tapping count it explains what will happen and, if you agree, adds that one advance to the person’s outstanding balance so it can be settled like any other. The date it was given never changes, the month’s pay calculation never changes, and no other advance is affected. A brought-in advance then reads Counted as outstanding — added by hand · stop counting it, so it is reversible; stopping keeps any settlements already recorded against it.
  • There is deliberately no way to move the cut-off date. Moving it backwards would make every older advance count as owed at once, which for a business that ran for years before turning tracking on would claim debts the app has no evidence are still owed. Bringing them in one at a time is the safe version of the same thing.
  • Once on, any tracked advance not fully recovered shows up two places: a separate ⚠️ Outstanding Advances box at the top of that staff member's Salary modal, and a matching ⚠️ Outstanding Advance row right in their Attendance Detail list on the Staff tab card (tap it to jump straight to Settle). Both are a running balance across every tracked month, kept visually and numerically apart from the month-by-month calculation.
  • Settling is always a manual action. Tap Settle on any outstanding advance to record how much of it has actually been recovered (the full amount or a partial one) — the app never assumes an advance has been paid back on its own. Never more than is still owed (September 2026): a larger amount is refused, with the amount that is owed, and the box is put back to that balance — one more tap settles it exactly. Before, an extra nought was accepted and the advance vanished from the list with the surplus shown nowhere. For the same reason, an advance cannot be edited to less than what has already been settled against it.
  • Two phones at once (September 2026): a settlement, or an undo, recorded on one phone is kept even when another phone settles the same advance at the same moment — before, the later phone’s save wiped the other’s settlement. Each phone still refuses more than it knows is owed, but it cannot see what another phone is doing, so two people (or one phone that was offline) can each settle the same balance. Such an advance stays in the Outstanding Advances box marked “₹X settled more than was given”, with every settlement and its ↩️ Undo, so the extra one can be taken off. It adds nothing to what is owed.
  • One optional prompt: if you mark a month's salary paid for less than that month's Gross Pay (not just Net Payable) and the staff member has an outstanding balance, the app will ask whether the difference should be logged as a settlement — paying the full Gross Pay means nothing was recovered, paying exactly Net Payable means the whole advance was, and anywhere in between recovers that difference. You can always say no — it only applies if you confirm. With a second payment in the same month, the difference is Gross Pay minus all of that month’s payments, less what was already settled with an earlier one, so the same amount is never offered twice. What you settle here is kept back from that month’s pay and is not shown as Pending (see Pending and Overpaid).

Effective days explained

Effective days is the number used to prorate salary. For example on Actual Working Days with 22 working days:

  • 22 Present days → 22.0 effective days → full salary
  • 20P + 1H(0.5) + 1A → 20.5 effective days → prorated
  • 20P + 2h overtime (8hr default) → 20.25 effective days → slightly more

Holiday work is not part of effective days: it is added on top, at the Holiday work pay setting, and the basis never includes a holiday.

The Payroll Summary's Eff / Basis column shows both numbers for each person: the effective days on the left, and on the right the number their pay is divided by. What the basis means depends on the method:

  • Actual Working Days — the basis is the business's working days for that month, the same number for everybody. A monthly salary buys the month, so someone who joined on the 20th and worked the 8 working days that were left is paid 8 ÷ 26 of their salary, not a full month. Months before the business start date, and days from a closed date onwards, are not part of the month and are not counted.
  • 30-Day Basis — the basis is 30 for anyone employed the whole month, in February and in a 31-day month alike; that is the point of this method. It shrinks only when the person was not employed the whole month — they joined, they left, or they had a break — to the calendar days they were actually employed, and it never goes below 0. A business that started or closed part-way through the month shortens it the same way.
Pay figures for past months changed in September 2026. Until then, Actual Working Days divided by each person's own days, so a mid-month joiner or leaver was paid a whole month's salary; and 30-Day Basis got four cases wrong — joining and leaving in the same month, returning after a break, leaving on the last day of February, and joining on the 31st. Those months now recalculate correctly wherever they are shown, including Payment History. Salary payments you have already recorded are untouched; only the calculated Gross and Net change.

13 Settings

Settings is for the superadmin (owner) only; managers do not see it. It is divided into six accordion sections. Tap any header to expand or collapse it.

🏢 Organisation ▾
Rename the organisation · Set start date · Set closed date · Full Mode / Attendance Only Mode selector
👥 Teams & People ▾
Add / edit / delete teams · Add / edit / delete managers · Set manager permissions and team scope
✅ Attendance ▾
Toggle which attendance statuses appear · Set default working days of the week
💰 Payroll (hidden in Attendance Only Mode) ▾
Salary calculation method · Overtime tracking · Holiday work pay (Record only / 1× / 1.5× / 2×) · Pay multipliers per leave type · Track Outstanding Advances toggle
💾 Backup & Restore ▾
Automatic Backups schedule (Off/Daily/Weekly/Monthly) · Manual backup · Combined backup list (manual + automatic) with restore and download
⚠️ Danger Zone ▾
Reset all attendance · Transfer admin access · Delete organisation (recoverable for 30 days)

Mode selector

The Organisation section has a two-way Full Mode / Attendance Only Mode selector (replacing the older single on/off toggle). Hover either option for a one-line explanation of what it does. See Attendance Only Mode for the full list of what changes.

Attendance types

Toggle which statuses appear when marking attendance. Disabling a type removes it from the marking modal, the Mark Leave modal, and greys it out in Pay Rules. You cannot accidentally use a disabled type.

Default working days

Ticked weekdays are working days automatically and everyone is marked Present on them; unticked weekdays are holidays. For example, tick Mon–Sat and every Sunday is off with nothing to do. You first choose these on the create screen.

Untick every day if your group has no fixed schedule (a kitty party, a club). Days you have not set then show not set, and the app asks on the day whether it is a working / event day. In a club this setting reads Default event days: ticked weekdays are event days, the rest have no event, and the app asks on the day whether it was an event day.

Changing this never changes days already past: each past day keeps the answer it had. Only today onwards follow the new days, unless you set a date yourself. That includes ticking days for the first time (or again after unticking them all): past days you never set stay not set, and the new days apply from the day you save.

A month already marked paid (September 2026): the new days can still change pay for a month you paid in advance (its remaining days follow the new schedule, so the number of working days that month’s salary is divided by changes). Before saving, the app names each paid month and each person whose pay moves, with their gross pay before and after (names only for a manager without Record Salary & Advances), and asks: Save the new working days anyway or Keep the old working days, which changes nothing. It is the same question as for a single day (see Working Day toggle). The payments already recorded are never changed.

Every setting in Settings now saves only itself, so a change made on one phone no longer undoes a different change made on another phone or by a manager.

Organisation start date

Records and stats only show data from this date onwards. Set it to your organisation's actual start date to prevent phantom empty months from appearing.

It is also a lock: Records will not move to a day before the start date, and attendance cannot be marked on one. A new organisation starts from the date you chose on the create screen (today, unless you changed it), so if you need to enter older attendance, move the start date back here. Doing that only unlocks the earlier days — no record is changed or removed. Payroll counts the same way: a month before the start date has no working days, and the business's first month counts only from the start date onward.

Moving the start date more than 30 days back (September 2026). Everyone is marked Present automatically only on the working days of the last 30 days (the days the app loads when it opens). When a new start date brings in older working days, a line under the date says so, while you choose it and after you save: “Working days before <date> aren't marked Present automatically. Mark them in Records…”. A day left blank is not paid: under Actual Working Days it earns nothing, and since release 1.1.11 (September 2026) under 30-Day Basis it is deducted like an absence (before, it did not reduce a monthly salary); daily wages count only marked days. A business with no weekly schedule gets no line: its older days are “not set”, and making one a working day marks everyone Present then.

Mark everyone Present for these days (owner only; September 2026). When your records start earlier than the day you began using the app for this business, and more than 30 days back, you can fill those older working days in one step instead of one day at a time in Records. Right after you save such a start date, the app asks once; after that, a button Mark everyone Present for these days… stays under Start Date until the days are filled. The usual order is: create the business with its real start date, add your people with their real joining dates, then tap the button. What it does:

  • It fills the working days from the start date to the day before the business was created in the app. It never touches the last 30 days, which the app already fills by itself every time it opens, and never the weeks after you started using the app.
  • Only working days by your weekly schedule. Holidays and days off stay empty, and a day before the business's first weekly schedule stays “not set”. A business with no weekly schedule never sees the button.
  • Only people employed on that day (from their joining date, never after they left, never in a gap between two periods), and only where nothing is marked. Absent, leave, half days, Late and marks you cleared on purpose stay exactly as they are. A day with only a remark is marked Present and keeps the remark. Removed people are never marked.
  • New people get today as their joining date. If you add people after back-dating the business and leave their joining date as today, the app marks nothing for them and says so by name (“5 people joined today, so nothing is marked for them. If they were with you earlier, set their joining date first.”). Set their real joining date in Staff, then tap the button again.
  • Before you confirm, the question shows how many people and marks, and each month’s total pay before and after. If a month is already marked paid, the usual “already paid” question comes next, with each person’s pay before and after; the payments themselves are never changed.
  • A backup is taken first, as with Backup Now (it is one of the five kept). If the backup fails, nothing is marked unless you choose Mark them without a backup.
  • It needs a connection and does not start offline. It works one month at a time; if the connection drops part-way, the months already sent stay, and tapping the button again finishes the rest (days already marked are skipped).
  • A start date more than ten years back is refused as a likely typing mistake: check the year.
  • Undo: under Start Date, next to what was done (“Marked Present from 1 Jun 2026 to 25 Aug 2026 (1,480 marks)”), for as long as you like. It removes only the marks it made that nobody has changed since, and says how many it kept. The days stay working days.
  • Payroll, the Payroll CSV and Payment History show the new pay the next time you open the Export tab. Another phone that already had those days open shows them after the app is opened again there.
  • Not for clubs (Attendance Only) yet: a club with a meeting day gets it once members can be given a “Member since” date.

Closed date

If the organisation has permanently closed, set a closed date. All attendance is locked from that date forward, and a banner appears on Today and Records.

Privacy Policy and Terms

At the bottom of Settings, and on the sign-in screen, you will find links to the Privacy Policy and Terms of Service. The privacy policy sets out exactly what the app records, what it never records, and that your data is stored in Google's Delhi region. The terms cover your responsibilities for the employee records you enter.

14 Backup & Restore

Backups protect all your organisation data — staff, teams, managers, attendance, advances, and salary payments — in a single snapshot. Since the backups update (Batch 10), each backup is a file kept in Google Cloud Storage in India (Delhi, next to the database), with its details listed in the app. There are two kinds: manual (you trigger it) and automatic (runs on its own, on a schedule you set once).

Automatic Backups

In Settings → Backup & Restore, the Automatic Backups dropdown sets how often the organisation backs itself up, with no one needing to remember: Off, Daily, Weekly, or Monthly. This runs server-side once a day (around 2am), independent of whether anyone has the app open — it is the real safety net, not the manual button below.

The reminder (September 2026). While automatic backups are off, the owner sees a short message on opening the business: “Automatic backups are off for <Business>. If a phone is lost or something is deleted by mistake, a backup is how you get your records back.” Turn on weekly backups switches them to Weekly (you can change the frequency here any time); Not now asks again in 30 days. It is shown the first time you open the business after the update, then every 30 days until automatic backups are on, and never at the same moment as another question such as “Is today a working day?”. The 30 days are counted on each phone, so an owner with two phones may see it on each. Managers never see it. It never switches anything on by itself.

New businesses start with weekly automatic backups (Batch 10). You can change or switch them off here at any time.

If the nightly backup fails or stops, the app tells the owner when they open the business (“⚠ Automatic backup failed on <date>: <reason>”, or “the nightly backup has not reached this business since <date>”), and the same line shows above the badge in Settings. Weekly and monthly backups now run on the 7th and 30th day, never a day late.

Backup size. Settings shows how large your backups are. Above 32 MB the line turns amber: above 64 MB automatic backups may stop, so write to roznamcha@asmlabs.in before then.

How long automatic backups are kept

Automatic backups don't just pile up forever, and they don't get deleted on a simple "last N" rule either — a backup survives if it fits any of these:

  • One of the last 10 backups at whatever cadence you chose (Daily or Weekly)
  • The most recent backup from each of the last 4 weeks
  • The most recent backup from each of the last 6 months
  • The most recent backup from every calendar year — kept forever, never deleted

In practice: recent history stays granular, older history thins out automatically but never disappears entirely — there's always at least one snapshot per year, indefinitely.

Creating a manual backup

  1. Go to Settings → Backup & Restore.
  2. Tap 💾 Backup Now. The server takes the whole business at one moment and stores it as a file in India. The backup is always of the business that was open when you tapped, even if you switch business while it runs.
  3. The backup status badge shows when your last backup was taken. If Automatic Backups is off, a nudge appears if it's been more than 7 days — the nudge doesn't appear if automatic backups are already on, since the schedule is the real safety net at that point. A SAFETY copy (taken just before a restore) and the one-time BEFORE THE PAY MOVE backup are listed and can be restored, but they do not count as your last backup, here or in the sync panel, unless there is no other backup: so they can never hide a warning that automatic backups may be failing.

Manual backups keep their own separate history — up to 5, oldest deleted automatically when a 6th is taken. This is unrelated to the automatic-backup retention above. If the backup is saved but tidying the older ones fails, the app says Backup saved ✓ Older backups could not be tidied; the next backup does it. Your new backup is safe, nothing older is lost, and the next backup deletes the extras (September 2026; before, this case wrongly said “Backup failed”).

The combined backup list

The list under Backup & Restore shows manual and automatic backups together, sorted by date, with automatic ones marked AUTO and safety copies (below) marked SAFETY. Each row shows its size. If the organisation was transferred to you, the manual backups its former owner took of it are listed too, marked FROM FORMER OWNER (see Admin Transfer). Each entry offers:

  • ⬇ Download — save a JSON file locally. The file holds everyone's records in plain form (pay too, unless the business is Attendance Only), and anyone who gets it can read them, so the app says as it saves it: “This file holds everyone's pay. Keep it private; don't forward it.” (in an Attendance Only business: “everyone's attendance records”). The same applies to Download a copy when you delete your account.
  • ↩ Restore — puts the business back exactly as it was in this backup. First the app shows what will change, by name, and you type the business name to confirm:
    • who comes back (“Sunita will come back”) and who will be removed because they were added after the backup;
    • attendance days after the backup that will be removed, and days that go back to the backup's marks. On your next open the app marks everyone Present on removed working days in the last 30 days, as it does for any day nobody has touched;
    • every advance and salary payment recorded since that will be removed, and every settlement that will be undone, each with its amount and date. Money is restored too: the business is made exactly as the backup was;
    • a safety copy of today is taken first and kept under your backups, labelled SAFETY. If the restore was a mistake, restore the safety copy;
    • the restore either finishes completely or changes nothing. It runs on the server, so closing the app or losing signal does not leave a half-restored business. While the restore runs (about a minute), nobody can save anything in this business: they see “A restore is running. Try again in a minute.”;
    • it is refused while a handover offer is waiting: “Take the offer back first, then restore.”;
    • who owns the business, any handover, and your backup schedule are never changed.
  • 🗑 Delete — your own manual backups and safety copies only. Only the two newest safety copies of a business are kept, and they do not count towards the five manual backups. A deleted backup's file may remain in Google's storage for up to 7 days before it is erased. Automatic backups aren't manually deletable — the retention rule above manages their lifecycle on its own. Backups marked FROM FORMER OWNER can't be deleted from the app either, and the retention rule leaves them alone.
Warning: A restore removes everything added since the backup — people, days, advances and payments. The safety copy is how you undo it.

Money records changed in September 2026. Until then a restore wrote every advance and salary payment back over the top, which quietly erased any settlement recorded since the backup was taken — a settlement is stored inside the advance it belongs to, so replacing the advance replaced the settlement with it. From that September 2026 fix until the backups update (Batch 10) a restore left every money record that was still there alone. Now a restore puts the whole business back exactly as the backup was, money included, after a safety copy — the owner's decision, because a restore should mean what it says.

Restoring from the org selector

On the organisation list, ↩ Restore from Backup opens your saved backups underneath it. The same link closes the list again — while the list is open it reads ✕ Close backup list.

If you restore from the org picker screen (not from inside an org), the restored data creates a new organisation named "Restored — [Name] — [date]", leaving the original intact. You are its owner, no transfer is carried over from the backup, it starts with weekly automatic backups, and it opens as soon as it is ready. The list shows your manual backups and the automatic backups of every business you own.

Restore never changes ownership

A restore brings back staff, attendance, payroll and settings, but never who owns the organisation or any admin transfer. Restoring inside an organisation keeps today's owner and today's transfer state exactly as they are, whatever the backup says: a transfer you cancelled after the backup does not come back.

Managers that come back with a restore get their access back too. Until September 2026 a manager restored with a backup had a manager record but no sign-in, so the organisation never appeared in their list; the restore now re-links every restored manager, including on a copy restored as a new organisation.

15 Admin Transfer

You can permanently transfer superadmin access to another person. Only one superadmin exists per organisation at any time.

Restriction: You can only transfer to an existing manager in the organisation who has signed into the app at least once. You cannot transfer an organisation to yourself, even if your own account is also listed as a manager of it.

Initiating a transfer (Admin A)

  1. Go to Settings → Danger Zone → 🔁 Transfer Admin Access.
  2. Select the manager from the dropdown. A warning appears explaining what will happen.
  3. Confirm. The transfer is set to pending — the other person must accept it.
  4. You retain full access while the transfer is pending. The organisation shows a ⏳ Transfer Pending badge in your org list.

While pending (Admin A)

Tap the org card in your list to see the pending status. You can tap ↩ Reclaim Organisation to cancel the transfer at any time before it's accepted — full access is immediately restored.

While the offer is waiting, nobody's access can be taken away (September 2026). You cannot remove any manager — including the person you offered it to — change a manager's email, or delete the organisation. The app says A handover is waiting and offers Take back the offer; once you have taken it back, all of these work as usual, and you can offer the organisation again afterwards. Everything else, including editing a manager's permissions and adding a manager, works as normal while the offer waits.

Accepting the transfer (Admin B)

When Admin B opens the app, the organisation appears in their list with a 📨 Incoming Transfer badge. Tapping it opens the Accept/Reject screen:

  • Accept — Admin B becomes superadmin immediately, and stops being a manager of it: the organisation is now theirs as an owner, and it opens normally from their list every time, like any other organisation they own. Admin A is taken off the organisation at the same moment — the whole handover happens in one step, so it can never stop half-way.
  • Reject — Transfer cancelled. Admin A keeps everything unchanged.

If the offer can no longer be accepted — Admin A took it back, it was already accepted, the organisation was deleted, or Admin B is no longer a manager of it — the app says which, and nothing changes.

After acceptance

The organisation simply leaves Admin A's list; there is nothing for Admin A to tap. If Admin A had it open at that moment, the app says it is no longer on their list and goes back to the list of businesses. Anything Admin A had not already saved is not saved.

Transfers accepted on an older version of the app finish differently: Admin A's org card shows ✓ Transfer Complete, and tapping it and confirming removes the org from Admin A's list, in one step. From the moment such a transfer is accepted, Admin A can no longer change anything in the organisation and, since September 2026, can no longer see its people, attendance, pay, advances or backups either — only its name on the card, until they remove it — nor take the organisation off any of its managers' sign-ins; if they had it open, the app says it now belongs to the new owner and takes them straight to removing it. That card is the former owner's only, and only ever appears for an organisation handed to somebody else — the new owner never sees it on their own business.

Admin A's manual backups of the organisation move with it. Once the transfer completes, the backups Admin A took of that organisation belong to the organisation: the new owner can see and restore them (marked FROM FORMER OWNER in Backup & Restore), and Admin A can no longer see them. Backups of Admin A's other organisations are not affected.

If Admin A removes Admin B as a manager instead of waiting, the offer is cancelled with the removal — a removed manager can never accept an old offer.

If Admin A opens Delete My Account while a transfer is in progress, that screen says so: an organisation already handed over is listed under Already handed over with nothing to decide, and an organisation with an offer still waiting says who it is waiting for, and lets Admin A cancel the offer.

A initiates
→
Pending
→
B accepts
→
A is removed, backups move
A initiates
→
Pending
→
B rejects / A reclaims
→
A keeps org

Deleting an organisation, and getting it back

Settings → Danger Zone → 💥 Delete Organisation asks you to type the business name, then:

  • the organisation is hidden from everyone at once — you and every manager;
  • its managers lose access immediately, not just in the app;
  • its automatic backups stop.

You have 30 days to change your mind. A deleted organisation appears under Deleted businesses on your business list (tap Deleted businesses (N) · Show to open it), with the days remaining, and ↩ Restore this business brings it back exactly as it was — people, attendance, money records, managers' access and the automatic backup schedule it had.

After 30 days a scheduled job deletes the organisation and its backups permanently. That cannot be undone by anyone, including us.

Deleting your account does not wait for the 30 days. Organisations you own — including ones inside their recovery window — are deleted immediately with their backups. If you want to keep one, restore it and transfer it to someone else before you delete your account.

16 Attendance Only Mode

Attendance Only Mode strips the app down to pure headcount tracking: no salary, no payroll and no Export tab. The Stats and Events PDFs are still there to print or share. Perfect for clubs, community groups, and events where financial tracking is not needed.

You can see which mode you are in at a glance (added September 2026). In Attendance Only Mode the header bar and the bottom tab bar carry a light sky-blue tint — the same shade on both, so the app is framed rather than patched. Deliberately not the whole screen, which would read as “something is wrong”. It matters most if you run both kinds of business from one account: the tint tells you which one you are looking at before you mark anybody.

Enabling it

Go to Settings → Organisation and select Attendance Only in the Full Mode / Attendance Only Mode selector (hover either option for what it does). The change takes effect immediately.

What changes

FeatureFull ModeAttendance Only
Tab labelStaffPeople
Add window title (the button is only ➕)Add Staff MemberAdd Person
Salary fieldsVisibleHidden
Export tabVisibleHidden
Payroll settingsVisibleHidden
Designation / Emp IDVisibleHidden
A person’s start dateInitial Joining Date, and employment periods when editingMember since, on add and edit; never before the club’s start date
Stats default periodMonthLast 60 events
Tapping a person's tile showsCurrent monthLast 60 events (the % on the People card uses the same period)
Events feature (Schedule Event, Event Details, Delete Event)HiddenAvailable
Overtime trackingAvailableNot available
Holiday workRecorded and paid at the Holiday work pay settingNot used (a day with no event offers only “Make it an event day”)
Day wordsWorking day, holidayEvent day, No event
Statuses a new business starts withAll sevenPresent and Absent
Marking one person over several days📅 Mark Leave / Absence Range, which can make “not set” days working days📅 Mark absent for several events: event days only; days with no event, or not set, are skipped and counted
Manager permissionsInclude Record Salary & AdvancesNo money permission shown (it does nothing in a club; a stored setting is kept as it is)
Help buttonsThe shop setThe club set
PDFsLast 60 Days, TeamLast 60 events, Group

A club reads club words (September 2026). Inside a club the app says event day and No event, calls its teams groups, calls the club by its own name where it used to say “this business”, and never mentions salary, pay or holiday work. The screens that show shops and clubs together (your list, handovers, restoring as a new one) say organisation. Existing clubs keep the statuses they have switched on; a club usually needs only Present and Absent, which you can set in Settings → Attendance types.

17 Events (Koffee Clubs & Parties)

When Attendance Only Mode is enabled, the Events feature becomes available. It lets you record who hosted each event and where it was held — perfect for social clubs, party groups, and rotating-host arrangements. There are two ways to attach event details to a day: editing an existing Event Day directly, or scheduling a future one from scratch.

Recording event details on an existing Event Day

On any event day, a + Event Details button appears below the day banner in both the Today and Records tabs. Tap it to open the Event Details modal:

  • Event Host — select from active members in the group
  • Venue — free text (e.g. "Rooftop at Rambagh")
  • Event Date — pre-filled, read-only

Once saved, the button updates to show the host name and venue. Tap again to edit.

Tip: If you un-toggle an Event Day by mistake, event details are preserved silently — they reappear if you re-toggle the day as an Event Day.

Schedule Event — planning a future one from scratch

You don't have to mark a day as an Event Day first. On the Today tab, a 🎉 Schedule Event button sits at the right end of the team filter row (Attendance Only Mode only). Tap it to open the Schedule Event dialog:

  • Date — any upcoming date, not just today
  • Event Host — select from the members on the chosen date: the list is rebuilt when you change the date (September 2026), so someone whose Member since is next week can host next week’s event, and someone who is no longer a member then is not offered
  • Venue — free text

Saving makes that date an event day automatically and attaches the host/venue — you don't need to separately toggle the day first. A live preview of the invite message builds as you fill in the fields.

Sending a WhatsApp invite

In the Schedule Event dialog, 📱 Save & Invite via WhatsApp does everything the plain Save button does, then opens WhatsApp with a pre-filled invite message: "You are invited to [Host]'s [Team] Party on [Date] @ [Venue]". Pick who to send it to (a contact, or paste into a group chat) inside WhatsApp itself — the app prepares the message, it doesn't send anything automatically on its own.

Deleting an event

Events PDF and Share

In Stats → 🎉 Events, 📄 PDF makes an Events PDF (release 1.1.12, asked for by a club): every event day, newest first, the same days as the Events list (since 1.1.12.4 the period chips are hidden in Events view, and List and Table keep the period you had chosen). Since 1.1.12.3 each event appears exactly as its card in the Events list on screen (🎉, the host, the date and the venue: its Date, Host and Venue, “—” where none was entered), printed as a picture on long, portrait A4 pages; a card is never split between two pages, and each page is numbered. It holds no attendance; for who came, use the Table view PDF. Its header names the club, the team and “Period: All events”, and says how many events it holds. 📤 Share sends the same PDF from the phone’s share sheet. A line above the list says how many events the PDF holds.

Entered a date by mistake, or plans changed entirely? Open that date's Event Details (tap the event's row in the Events list below, or the +/✏️ Event Details button on Today/Records for that date) and tap 🗑 Delete Event at the bottom of the modal. This is only shown for dates actually marked as an Event Day. After confirming, the date becomes a no-event day and its host/venue are cleared — it drops off the Events list. The marks on that day are cleared too (September 2026), as for any day that stops being an event day: the window says how many first, absences marked ahead included, and remarks are kept. If the date is made an event day again it starts blank, so nobody is counted by mistake.

Event List in Stats

In the Stats tab, a 🎉 Events button appears in the view toggle row (only in Attendance Only Mode). Tap it to switch to the Event List view:

  • All event days listed newest-first, regardless of the selected period
  • Each card shows 👤 Host name prominently on the left, 📅 Date on the right, and 📍 Venue below
  • Days with no event details recorded show — in place of host/venue
  • Tap any row to edit the event details for that day
📋 List
📊 Table
🎉 Events
3 event days — tap any to edit
👤 Agam Singhvi
📅 18 Jul
📍 Rooftop at Rambagh
👤 Rahul Singh
📅 11 Jul
📍 The Blue Terrace
👤 Priya Mehta
📅 4 Jul
📍 Garden Suite, ITC

18 Daily Reminders

Being tested: daily reminders are on the test site only and are not in the live app yet (September 2026).

A notification on your phone when today's attendance isn't marked yet. Off until you turn it on, for each person separately. Nothing pops up by itself: your phone asks "Allow notifications?" only after you tap Turn on.

Turning it on

Tap your name or photo at the top of the app to open Account, then 🔔 Daily reminders. The same row is on your business list, below "Signed in as". Owners and managers both have it.

  1. Tap Turn on and allow notifications when your phone asks.
  2. Choose when: one time, or two (tap + Add a second reminder). Times go in 15-minute steps, from 6:00 AM to 11:45 PM, and are shown with AM or PM (for example 10:00 AM or 6:15 PM). The row then reads, for example, "Daily reminders: 10:00 AM and 6:00 PM".
  3. Tick the businesses to be reminded about. A business where you can't mark today's attendance (a manager without Mark Attendance) is greyed out.
  4. Tap Send me a test reminder to check this phone gets them, then Save. On the test site only, a Test wording choice under that button sends the words of a real reminder, or one of a few other wordings, so they can be compared on a phone. It is not in the live app.

When a reminder comes, and when it doesn't

  • At each time you chose, you get one notification naming every ticked business that still needs marking today.
  • Opening a business on a working day marks everyone Present, so once anyone who may mark it has opened it today, it stays quiet for everyone.
  • Nothing comes on holidays, unticked weekdays, closed days or days before the business started.
  • A club in Attendance Only Mode with no weekly schedule is reminded only on its event days.
  • A business with no weekly schedule is reminded that today is not set as a working day or a holiday, until someone answers.
  • If the owner takes a manager's Mark Attendance permission away, that manager's reminders for the business stop at once.
  • The second reminder of the day replaces the first on screen. A reminder your phone could not receive within 2 hours is dropped, never delivered late.

What the lock screen shows

Only the business name, for example "Sharma Traders: today's attendance is not marked yet." A business with no weekly schedule reads "Sharma Traders: today is not set as a working day or a holiday yet."; a club on its event day reads "Koffee Club: today's event attendance is not marked yet."; several businesses in one reminder read "Sharma Traders, Gupta Kirana: today's attendance is not marked yet." Never a person's name, how many people, or any money. Tapping it opens that business (or your list, when several are due).

Turning it off

Open the same screen and tap Turn off, or tap Change reminders on any reminder. Turning off stops reminders on every phone of your account. Signing out takes this phone off your reminders, so a shared or handed-down phone never gets them. Deleting your account deletes your reminder settings too.

If a reminder does not arrive: send yourself a test reminder. Your phone's battery settings can delay reminders: check Android Settings → Apps → Chrome → Notifications is on, and that battery saving isn't putting Chrome to sleep. On iPhone, add Roznamcha to your Home Screen (Share → Add to Home Screen) and turn reminders on from there.

When the app asks you to update

If you installed Roznamcha from Google Play and a newer version of the app is available, a bar appears at the top: "A new version of the Roznamcha app is ready." Tap Update to open the Play Store page, then tap Update there. Tap ✕ to hide the bar for the rest of the day. The screens themselves always update on their own; this bar is only for the app you installed from Play.