Payroll
| Controllers | 15 |
| Endpoints | 65 |
| Tables | 30 |
| Screens | 17 |
| API reference | /api/ — group payroll |
| OpenAPI spec | /openapi/payroll.json |
URL prefixes
Endpoints belong to this module by URL, exactly as the OpenAPI group defines it in backend/src/main/java/com/motorph/payroll/config/OpenApiConfiguration.java.
/api/payroll/**/api/payroll-changes/**/api/payroll-settings/**/api/payroll-settings-changes/**/api/payroll-transactions/**/api/payslips/**/api/payslip-history/**/api/payslip-templates/**/api/payslip-template-settings/**/api/bonuses/**/api/employee-deductions/**/api/deduction-types/**/api/de-minimis-benefit-types/**/api/reimbursement-requests/**/api/reimbursement-transactions/**
Controllers
| Controller | Base path | Endpoints | GET | POST | PUT | PATCH | DELETE |
|---|---|---|---|---|---|---|---|
| BonusController | /api/bonuses | 6 | 3 | 1 | 1 | — | 1 |
| DeductionTypeController | /api/deduction-types | 4 | 1 | 1 | 1 | — | 1 |
| DeMinimisBenefitTypeController | /api/de-minimis-benefit-types | 4 | 1 | 1 | 1 | — | 1 |
| EmployeeDeductionController | /api/employee-deductions | 5 | 2 | 1 | 1 | — | 1 |
| PayrollChangesController | /api/payroll-changes | 1 | 1 | — | — | — | — |
| PayrollController | /api/payroll | 8 | 3 | 2 | — | 2 | 1 |
| PayrollSettingsChangesController | /api/payroll-settings-changes | 1 | 1 | — | — | — | — |
| PayrollSettingsController | /api/payroll-settings | 4 | 3 | — | 1 | — | — |
| PayrollTransactionController | /api/payroll-transactions | 6 | 3 | 1 | 1 | — | 1 |
| PayslipController | /api/payslips | 6 | 6 | — | — | — | — |
| PayslipHistoryController | /api/payslip-history | 1 | 1 | — | — | — | — |
| PayslipTemplateController | /api/payslip-templates | 4 | 1 | 1 | 1 | — | 1 |
| PayslipTemplateSettingsController | /api/payslip-template-settings | 2 | 1 | — | 1 | — | — |
| ReimbursementRequestController | /api/reimbursement-requests | 7 | 3 | 1 | 1 | 1 | 1 |
| ReimbursementTransactionController | /api/reimbursement-transactions | 6 | 3 | 1 | 1 | — | 1 |
Across the module: 33 GET, 10 POST, 10 PUT, 3 PATCH, 9 DELETE.
Tables
Everything this module's controllers can reach through a repository, including through a shared service — so this is the upper bound of what the module touches, not the set of tables it owns. A table appearing under two modules means two modules can read it.
| Entity | Table | Columns | Tenant-scoped |
|---|---|---|---|
| Bonus | bonus | 8 | Yes |
| CompanyProfile | company_profile | 20 | Yes |
| DeductionType | deduction_types | 10 | Yes |
| DeMinimisBenefitType | de_minimis_benefit_types | 12 | Yes |
| Employee | employee | 24 | Yes |
| EmployeeDeduction | employee_deductions | 12 | Yes |
| LeaveRequest | leave_request | 8 | Yes |
| OvertimeRequest | overtime_request | 6 | Yes |
| PagibigContributionRate | pagibig_contribution_rates | 6 | — |
| Payroll | payroll | 10 | Yes |
| PayrollApproval | payroll_approval | 3 | Yes |
| PayrollChange | payroll_changes | 6 | Yes |
| PayrollSettings | payroll_settings | 71 | Yes |
| PayrollSettingsChange | payroll_settings_changes | 6 | Yes |
| PayrollTransaction | payroll_transactions | 5 | Yes |
| Payslip | payslip | 52 | Yes |
| PayslipDeductionItem | payslip_deduction_items | 4 | Yes |
| PayslipHistory | payslip_history | 8 | Yes |
| PayslipTemplate | payslip_template | 9 | Yes |
| PayslipTemplateSettings | payslip_template_settings | 7 | Yes |
| PhHoliday | ph_holidays | 7 | Yes |
| PhilhealthContributionRate | philhealth_contribution_rates | 6 | — |
| ReimbursementRequest | reimbursement_requests | 7 | Yes |
| ReimbursementTransaction | reimbursement_transactions | 6 | Yes |
| SssContributionRate | sss_contribution_rates | 11 | — |
| Timesheet | timesheet | 7 | Yes |
| User | users | 11 | — |
| UserLog | user_log | 5 | — |
| WithholdingTaxBracket | withholding_tax_brackets | 7 | — |
| WorkSuspension | work_suspensions | 5 | Yes |
Screens
Frontend routes gated by a permission this module's endpoints also require — the link between a page and its API is the permission string, not the URL.
| Route | Component | Requires |
|---|---|---|
/bonuses | Bonuses | payroll.bonus.manage |
/departments | Departments | hr.employees.manage |
/employee-deductions | EmployeeDeductions | payroll.deduction.manage |
/ewt-registry | EwtRegistry | payroll.ewt.manage |
/government-forms | GovernmentForms | hr.employees.manage or payroll.manage |
/holiday-calendar | HolidayCalendar | payroll.holidays.manage or payroll.manage |
/my-awards | MyAwards | employee.payslip.view |
/my-payslips | MyPayslips | employee.payslip.view |
/my-reimbursements | MyReimbursements | employee.reimbursement.request |
/payroll-analytics | PayrollAnalytics | payroll.dashboard.view or payroll.manage or payroll.approve |
/payroll-runs | PayrollRuns | payroll.dashboard.view or payroll.manage or payroll.approve |
/payroll-runs/:id | PayrollRunDetail | payroll.dashboard.view or payroll.manage or payroll.approve |
/payroll-settings | PayrollSettings | payroll.settings.manage |
/payroll-transactions | PayrollTransactions | payroll.transactions.view or payroll.transactions.manage |
/positions | Positions | hr.employees.manage |
/reimbursement-requests | ReimbursementRequests | payroll.reimbursement.manage |
/reimbursement-transactions | ReimbursementTransactions | payroll.reimbursement.transactions.view or payroll.reimbursement.transactions.manage |
This page is rebuilt from the source on every docs build by docs-site/scripts/gen-code-wiki.mjs. Editing it has no effect — change the code, or, if what you want to say is prose, write it in docs/.