💵 Payroll: Voided
Updated
← Developer wiki For the user: what the interface shows.
Voiding is the Voided subtype with no transactional scripts. Mix removes all
the document's movements, including its own GL legs (PayrollAccrualGLTx).
The order#
IPayrollVoidService.VoidAccrualAsync:
- Refuses if the employee's
PayrollLiabilityis less than the net (gross minus the social insurance withholding) — that means a payment has already settled the debt. - A linked
SocialInsuranceAccrualinPostedgoes toVoidedfirst (the withholding comes back into the liability). - Then
PayrollAccrual→Voided.
The payment: VoidPayrollPayment / Paid → Voided. The payment to the fund:
VoidSocialInsurancePayment / Paid → Voided. Contributions already paid are
reversed by the payment first and by the accrual after.
AccruePayroll counts as "already accrued" only a live (not Voided) timesheet
→ accrual link.
Test PayrollVoidTest. Commands — the catalogue.
Same topic for other readers: User
Where next#
Was this page helpful?