Skip to content

app.payroll_lines

TableRow level security on

Lines of a payroll run: hours paid under an earning code at the rate the run calculated. Amounts are derived. Lines change only while the run is Draft or Calculated. The rate is Restricted.

Primary key: id

Columns of app.payroll_lines
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org, derived from app.payroll_runs on insert; never accepted from the caller and never changed.References app.organizations.id
payroll_run_iduuidNoRun the line belongs to.References app.payroll_runs.id
membership_iduuidNoMembership of the person paid.References app.memberships.id
earning_code_iduuidNoEarning code paid.References app.earning_codes.id
hoursnumericNoHours paid.
rate_minorbigintNoRate paid in minor units per hour, as calculated for the run. Restricted (data.restricted.read.payroll).
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
role_codetextYesCanon role the hours were worked in. Its class decides the labor expense account; required before a run with pay posts.References xpms.role.role_code
cost_center_iduuidYesDimension 1 cost center the labor posts to; NULL posts without one.References app.cost_centers.id