ApprovalStatus | Approval Status | PickList | | A mirror of the approval engine's outcome on this run — Approved, Rejected, Pending, or cleared to null on recall — written by the approval bridge, not by the payroll engine. It matters because a final Approved decision also posts the run's accrual to the ledger automatically, unless the run is already posted, so this field moving to Approved usually means a journal was created. |
BranchId | Branch | Lookup → Branch | | The branch dimension copied onto the payroll journal, its lines and every Payroll-Payable open item raised by posting. It is not used to filter which employees are included — the calculation selects on company, not branch. |
BusinessUnitId | Business Unit | Lookup → BusinessUnit | | A dimension carried through to the Payroll-Payable open items raised at posting. It does not appear on the journal lines and does not affect which employees are calculated. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
GLId | GL | Lookup → Journal | | The payroll accrual Journal this run posted. It is a posting gate as much as a link: a run with any value here is treated as posted and will refuse both a second post and a recalculation, even if PayrollPostingStatus says otherwise. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company whose payroll this run is, and the selector for the whole calculation: employees are picked up when their payroll company or their own company matches it, and the bank, Payroll-Payable control account and fiscal-year window for year-to-date figures are all resolved under it. A run left without a company cannot derive a bank account and fails when a payment batch is generated. |
PaymentBatchId | Payment Batch | Lookup → PayrollPaymentBatch | | The salary batch that actually disbursed this run's net pay. It is stamped only when the batch is paid, not when it is generated, so a run can have a Draft PayrollPaymentBatch pointing back at it while this is still empty. |
PayrollPeriodId | Payroll Period | Lookup → PayrollPeriod | | The pay cycle this run belongs to, and the key input to nearly every step: it supplies the start and end dates used for proration and loss of pay, the pay date the accrual journal is dated with, the period whose approved adjustments are pulled in, and the period whose TDS projections the calculation reads. A run without it still calculates, but with no proration, no adjustments and no TDS, and it cannot prepare a statutory challan. |
PayrollPostingStatus | Payroll Posting Status | PickList | | Values: Not Posted, Posted, Reversed, Failed. |
Period | Period | PickList | Yes | Values: January, February, March, April, May, June, July, August, September, October, November, December. |
ProcessedResources | Processed Resources | Number | | How many employees actually produced a PayrollRunDetail in the last calculation pass. Stamped by the calculation and not kept live, so it goes stale if details are deleted by hand afterwards. |
RecordTypeId | Record Type | Guid, hidden | | |
SkippedResources | Skipped Resources | Number | | |
Status | Status | PickList | Yes | The run's business lifecycle stage, from the vocabulary Draft, InputsLoaded, Calculated, Review, Approved, Posted, PaymentGenerated, Paid, Closed and Reversed. Note also that the seeded approval process stamps its own values, Pending Approval on submission and Processed on final approval, which is why those two appear in the picklist even though no engine constant matches them. Values: Draft, PendingApproval, Inputs Loaded, Calculated, Processed, Review, Approved, Posted, Payment Generated, Paid, Closed, Reversed. |
SubscriptionKey | Subscription Key | Guid, hidden | Yes | |
TotalNetPay | Total Net Pay | Calculated (calculated) | | The sum of every processed employee's net pay, stamped by the calculation at the end of a pass rather than maintained as rows change. It reflects the last calculation only — it is not adjusted by posting, by the payment batch, or by editing a component line afterwards. |
TotalResources | Total Resources | Number | | How many active, non-exited employees of the run's payroll company were considered in the last calculation pass — the denominator, not the number paid. Compare it with ProcessedResources and SkippedResources to see whether the run covered everyone. |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |