Data Model
92 entities, 79 of them tenant-scoped. Each page lists the table, its columns, its relationships, the repository declared over it, and the endpoints that can reach it.
For the hand-drawn overview of how the core tables relate, see the ERD. This section is the exhaustive version, and unlike the ERD it is regenerated on every build.
Entities
Global tables
Entities that do not extend TenantOwned. Their rows are shared by every tenant, which is correct for reference data and for the tenant registry itself, and a bug for anything else — TenantCoverageTest walks the JPA metamodel and fails the build on an entity that is neither tenant-owned nor declared global.
| Entity | Table | Columns |
|---|---|---|
| BillingSubscription | billing_subscription | 14 |
| BillingWebhookEvent | billing_webhook_event | 9 |
| PagibigContributionRate | pagibig_contribution_rates | 6 |
| Permission | permission | 4 |
| PhilhealthContributionRate | philhealth_contribution_rates | 6 |
| PortalUser | portal_user | 8 |
| RefreshToken | refresh_tokens | 8 |
| Role | role | 6 |
| SssContributionRate | sss_contribution_rates | 11 |
| Tenant | tenant | 11 |
| User | users | 11 |
| UserLog | user_log | 5 |
| WithholdingTaxBracket | withholding_tax_brackets | 7 |
Enums
| Enum | Values |
|---|---|
AbsentDeductionPolicy | — |
BreakDeductionPolicy | — |
CertificateDesign | — |
ContributionSchedule | — |
DeductionAmountBasis | — |
HolidayEligibilityPolicy | — |
HolidayLeaveInteractionPolicy | — |
LateDeductionPolicy | — |
PayFrequency | — |
PayrollRoundingMode | — |
RecognitionCategory | — |
SubscriptionStatus | — |
TaxPayPeriod | — |
TenantStatus | — |
TimesheetPayPolicy | — |
TimesheetStatus | — |
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/.