Skip to content

feat: implement payroll calculation system with superannuation, pay slips & email notifications#393

Open
SinghAkashdeep16 wants to merge 2 commits into
Gopher-Industries:mainfrom
SinghAkashdeep16:feature/payroll-system
Open

feat: implement payroll calculation system with superannuation, pay slips & email notifications#393
SinghAkashdeep16 wants to merge 2 commits into
Gopher-Industries:mainfrom
SinghAkashdeep16:feature/payroll-system

Conversation

@SinghAkashdeep16
Copy link
Copy Markdown
Collaborator

Summary

  • Implement full payroll calculation engine with daily/weekly overtime rules (Australian Fair Work compliance)
  • Add superannuation tracking at 11.5% (FY 2024-25 rate) per entry and as aggregate totals (totalSuperannuation, totalCostToEmployer)
  • Add GET /:payrollId/payslip endpoint to generate and download PDF pay slips per guard
  • Notify guards via email when their payroll is approved or processed (non-blocking, dev-mode terminal fallback)
  • Extend Payroll model with totalRegularPay, totalOvertimePay, totalSuperannuation, totalCostToEmployer fields
  • Extend period summary in getPayroll to include all new aggregates and superannuation rate

Test plan

  • Generate payroll for a period and verify totalSuperannuation = 11.5% of grossPay
  • Verify totalCostToEmployer = grossPay + totalSuperannuation
  • Call GET /api/v1/payroll/:payrollId/payslip as admin — confirm PDF downloads correctly
  • Call the same endpoint as a guard for their own record — confirm access allowed
  • Call the same endpoint as a guard for another guard's record — confirm 403 returned
  • Approve payroll and check terminal (dev mode) or inbox for approval email
  • Process payroll and check terminal (dev mode) or inbox for processed email

🤖 Generated with Claude Code

SinghAkashdeep16 and others added 2 commits May 17, 2026 20:41
- Add SUPER_RATE (11.5%) and per-entry superannuation calculation in payroll service
- Track totalRegularPay, totalOvertimePay, totalSuperannuation, totalCostToEmployer in model and service
- Add generatePaySlip endpoint (GET /:payrollId/payslip) for PDF pay slip download
- Notify guards via email when payroll is approved or processed (non-blocking)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant