ZuloOne
English
Sign in
Menu

💵 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:

  1. Refuses if the employee's PayrollLiability is less than the net (gross minus the social insurance withholding) — that means a payment has already settled the debt.
  2. A linked SocialInsuranceAccrual in Posted goes to Voided first (the withholding comes back into the liability).
  3. 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?