Payroll
29 min
the payroll module is for paying your staff — instructors, coaches, managers, front desk team it generates payslips (or whatever document name you choose), tracks payment status, and supports several common pay structures payroll is an optional module turn it on under settings → general → modules if you pay any of your team if you're a solo operator, you can leave it off 🚀 getting started after enabling the module, you'll see payroll in the sidebar with these sub pages sub page purpose dashboard at a glance pay totals and recent activity generate create a new payroll record (single or batch) records full list of all payroll records, filterable staff everyone payable — instructors and team members marked for payroll month audit downloadable monthly breakdown of gross, statutory deductions, net, paid, and outstanding cost forecast forward looking view of expected monthly payroll cost by pay type and instructor settings pay types, allowances, custom deductions, statutory contributions, pay cycle, document numbering 👥 who appears in payroll staff the payroll staff list is the union of all active instructors (always payable) and team members opted in via a checkbox on their edit dialog each entry shows an instructor or team badge including a team member in payroll by default, team members aren't on payroll — most don't get paid (e g volunteers, owner family) to include one go to team (sidebar) click manage on the team member in the dialog, find the payroll section switch on include in payroll click save changes this doesn't change your billing team members already count toward your team member seat limit regardless of the checkbox — the toggle only changes whether you can issue them payslips 🏷️ pay types a pay type defines what a payment is for and how the amount is calculated manage them in payroll → settings → pay types calculation methods method when to use example flat (fixed) salary or one off payment monthly salary per hour hourly pay tied to attendance rate × hours taught manual per hour hourly pay where you enter the hours yourself rate × hours typed in when generating per class pay per class taught rate × classes taught % of student fees commission from student payments % of fees collected for this instructor's classes per hour, manual per hour, per class, and % of student fees only work for instructor payees — they pull data from class attendance, student payments, or per instructor rate lists, which team members don't have team members can only be paid using flat pay types per hour vs manual per hour there are two ways to pay by the hour per hour — remmu reads the instructor's attended hours from attendance records and multiplies by their rate fully automatic manual per hour — finance staff enter the hours worked by hand when generating payroll the instructor can have several named rates, and hours are entered against each best when hours aren't tracked through attendance, or different work is paid at different rates rates for manual per hour pay types are configured in payroll → settings → hourly rates statutory deductions malaysian statutory contributions — epf, socso, eis, pcb — are controlled in payroll → settings → statutory deductions each is a master on/off switch for your whole organisation epf, socso, and eis auto calculate from gross taxable earnings; pcb is entered manually per record unless auto pcb is set up each pay type separately marks which schemes it counts toward a deduction only happens when both the pay type's tag and the organisation wide switch are on — turning epf on in statutory deductions starts deducting it for every pay type already tagged, no need to touch each one document label each pay type has a document label (e g "payslip", "payment voucher", "commission statement") — what prints as the heading on the pdf recurring pay types pay types can be marked recurring when recurring, remmu auto generates a payroll record every month for any staff member who has a rate set for that pay type payroll runs on a monthly cycle configured once in payroll → settings → pay cycle , billing for the month that just ended generating after month end means attendance and commission figures are final before payslips are created ➕ allowances allowances are extra earnings added on top of base pay — travel, phone, meal allowances, bonuses manage them in payroll → settings → allowances each has a name, a default amount, a recurring toggle, and statutory toggles (off by default — turn on for allowances that genuinely count toward a scheme's base) ➖ custom deductions custom deductions are take backs subtracted from pay — late penalties, salary advance repayments, uniform fees manage them in payroll → settings → custom deductions , with the same name/amount/recurring/statutory structure as allowances ⏱️ hourly rates hourly rates power the manual per hour calculation method — instead of one rate per instructor, keep a list of named rates (e g "standard", "private", "workshop"), and finance staff enter hours against each when generating payroll manage the tenant wide list in payroll → settings → hourly rates an instructor can also have their own custom rate list instead of the global one, set from their profile's manual hourly rates section 💸 generating a payroll record go to payroll → generate , pick the staff member and pay type, set the reference month and (for hourly/per class) the period, and remmu auto fills the amount where possible use fetch from attendance or fetch from student payments to pull rate based amounts automatically bulk generate to create payroll entries for many staff at once, go to payroll → generate → bulk generate pick the reference month, optionally pick specific pay types, and remmu shows a preview split into calculated pay (pre selected, ready to go) and manual per hour (enter hours per rate) expand any row to see the full breakdown, then untick anyone to exclude and click generate entries staff who already have an entry for the month are skipped automatically all bulk generated entries start as unpaid manual hour drafts (resumable) hours entered for per hour instructors auto save as a draft, so you can leave and come back later without losing your work ✅ approval workflow (team generated records) team members with payroll permissions can generate records but can't self approve — their records start in an awaiting approval state until an admin approves them records generated directly by an admin are already approved admins approve individual records or use approve all on the payroll dashboard 📈 cost forecast payroll → cost forecast shows what payroll will cost for the selected month — cost so far, projected month end, and remaining to incur — broken down by pay type and instructor it's a read only planning view that never creates records, and honours your calendar (holidays/closures subtracted) a class only appears in the forecast while it has a live, active student — no need to archive a class to keep it out of the forecast; setting the enrollment or student inactive is enough 📊 payroll month audit payroll → month audit gives finance a full, downloadable breakdown of one month's payroll — staff count, gross, statutory deductions, net, paid, and outstanding, with a per record itemised table and a pdf export 📄 pdf document every payroll record generates a pdf using the document label from its pay type, with your tenant header, pay period, a calculation line specific to the pay type, adjustments, total, and a paid/unpaid/cancelled watermark 💳 marking as paid once you've paid a staff member, open the record, click mark as paid , fill in payment method, reference, and paid date, and optionally attach a payment proof the status flips to paid and the staff member is notified automatically 🔢 document numbering configure prefix, padding, reset schedule, and default payment due days under payroll → settings → document settings optionally enable a separate numbered remittance advice document stamped when a record is marked paid 🚫 cancelling a record if a record was created in error, open the record menu → cancel , pick a reason, and add optional notes you can't cancel a record that's already paid — refund or reissue separately if needed 🧑💼 per staff payroll setup each instructor's profile has a payroll section (visible when the module is on) for setting their monthly salary, hourly rate, per class rate, and commission %, plus which day of the month their payroll generates on (or use the tenant default) it also has a manual hourly rates section for their named per hour rates, inheriting the tenant wide list by default 🇲🇾 statutory profile (per staff) each instructor also has a statutory profile storing their identification numbers and tax settings — used to calculate epf, socso, eis, and pcb and printed on payslips epf — mark exempt, or set a custom voluntary rate on top of the standard employee rate socso — mark exempt, or pick a scheme (standard for staff under 60, or the reduced scheme for staff 60+) eis — mark exempt for exempt categories pcb (income tax) — remmu can auto calculate monthly pcb using lhdn's mtd method from tax category, children relief, citizenship, age category, and allowable deductions/zakat a manual override lets you enter a fixed monthly amount instead if you don't customise anything, malaysian defaults apply the statutory profile only needs attention for exemptions, voluntary rates, or specific tax circumstances 🎯 per class instructor rates for instructors paid per class or per hour, you can set a different rate for each class they teach instead of one flat rate everywhere enable it on the pay type in payroll → settings → pay types , then set a custom rate per class when assigning the instructor — leave it blank to use their reference rate 👤 staff view — my payroll instructors and team members included in payroll get a dedicated my payroll page showing their own payslip history — paid this year, pending amount, and total records — with a downloadable pdf per payslip staff can never see other people's payroll records 📊 reporting the payroll dashboard summarises total paid, total pending, record counts by status, and a per staff breakdown when you drill into a staff member's profile