Voiding a Payroll Item

Correcting mistakes in processed payroll

In the Check system, the Payroll object is immutable. Once a payroll has been approved and processed, the object itself, and the data contained within it, cannot be changed. This allows your accounting division to maintain a permanent record of payroll activity.

When a payroll has been issued with errors that must be corrected, Check allows you to void any incorrect payroll items to reverse these errors in your bookkeeping system. Check will then also accurately reissue any payments, credits, or taxes that were erroneously distributed in the original payroll object. From a bookkeeping perspective, voiding a payroll item revises the original payroll, such that the error never happened.

If the garnishment has already been sent to the child support agency then the employee needs to work with the agency directly to attempt to get the money back (it will not be refunded). If it hasn’t been sent, then it will be refunded.

Payroll items may be voided only after the payroll itself has been approved and processed. (Once approved, processing begins upon the payroll’s approval deadline.)

Voiding a payroll item offsets the wages and taxes paid in the original payroll by creating a new payroll which includes negative wages, taxes, benefit contributions, and post-tax deduction amounts to offset the errors in the original.

When a payroll item is voided, Check will also attempt to balance the employer’s books. Check will automatically return any over-collected taxes and wages that have not yet been paid out. If taxes have already been collected, Check will reduce future tax liabilities by the amount “overpaid” due to the void.

📘

Child Support Garnishment

Garnishment payments are sent to the child support agency within an hour from when the payroll is funded. If voiding a payroll after that, the employee will need to work with the agency directly to get the payment back. Otherwise, it will be refunded to the debited account.

If a payroll item is voided within 5 banking days after the original payroll’s payday, Check will automatically attempt an ACH reversal for any overpayments to employees. (Taxes will be returned to the employee by reducing future collections.) Companies must notify their employees of any reversed payments that result. The National Automated Clearing House Association (NACHA) sets the standards for reversals on these transactions. NACHA both sets the time limit of 5 banking days, and requires recipient notification.

If a payroll item is voided more than 5 banking days after the original payday, employers are required to retrieve any overpaid compensation from their employees. Employers are not required to attempt to retrieve overpaid taxes, as Check will offset any future tax collections by the amount overpaid as a result of the payroll void.

Note: ACH reversals are not guaranteed to succeed. If the reversal fails, or if the payroll item is voided more than 5 days after payday, it is the employer’s responsibility to retrieve any overpayments to their employees. (The Department of Labor allows employers to recoup these overpayments from their employees.) One option open to employers for retrieving an overpayment is to apply a post-tax deduction to the overpaid employee so that the overpayment is repaid over the next several pay periods. How the employer chooses to handle this is up to them, and will vary by situation.

Voiding a payroll item differs from reopening a payroll in that payrolls may only be reopened before their approval deadline. Reopen a payroll after its initial approval, but before the approval deadline, to prevent it from being processed. When reopened, Check will neither withdraw nor disburse any funds, until the payroll is re-approved.

Voiding a Payroll Item example

So, imagine you accidentally paid an employee $1,000 when you really meant to pay them $100. You approved the payroll on Monday, and now it’s Tuesday. The cash requirement for the payroll (both employee wages and employer taxes on those wages) has already been deducted from your bank account, and Check is preparing to make these payments on your behalf. And now you realize that you made a mistake, and need to fix this problem.

To reverse the error, email [email protected] to request that the incorrect payroll items be voided. When the void payroll item has been approved and processed, Check will issue a webhook notifying you that a new “void” payroll has been issued, with status set to ‘paid’.

In Check’s API, a void payroll looks exactly like a normal payroll, except that its amounts are negative. The payroll item will include two fields: void_of and voided_by.

  • If a payroll item has a non-null void_of field, it means that it is a void of another payroll item.
  • If a payroll item has a non-null voided_by field, it means that it is voided by another payroll item, the ID of which will be set in the voided_by field.

Example “void” payroll

{
  "id": "pay_wMuyYo3ixVsv54MH5oL9",
  "company": "com_K5wEeL13cUCmBJosDspS",
  "period_start": "2021-03-06",
  "period_end": "2021-03-19",
  "approval_deadline": "2021-04-20",
  "approved_at": null,
  "payday": "2021-04-26",
  "status": "draft",
  "managed": true,
  "type": "regular",
  "pay_frequency": "weekly",
  "off_cycle_options": null,
  "totals": {
    "employee_gross": "-400.00",
    "employee_reimbursements": "0.00",
    "employee_net": "-330.68",
    "employee_taxes": "-69.32",
    "employee_benefits": "0.00",
    "post_tax_deductions": "0.00",
    "contractor_gross": "0.00",
    "contractor_reimbursements": "0.00",
    "contractor_net": "0.00",
    "company_taxes": "-44.04",
    "company_benefits": "0.00",
    "liability": "-444.04",
    "cash_requirement": "-444.04"
  },
  "items": [
    {
      "id": "itm_u47H5GlEeTRiuroEdtOg",
      "payroll": "pay_wMuyYo3ixVsv54MH5oL9",
      "employee": "emp_h4VezdUn9v9oSoyORQC7",
      "status": "draft",
      "void_of": "itm_Ue75kUcWex5JRGTRuqux",
      "voided_by": null,
      "payment_method": "direct_deposit",
      "pto_balance_hours": null,
      "sick_balance_hours": null,
      "net_pay": "-330.68",
      "earnings": [
        {
          "amount": "-300.00",
          "hours": -40.00,
          "type": "hourly",
          "code": null,
          "description": "test",
          "earning_code": null,
          "workplace": "wrk_5wEgDPwh0dYqElB6yArb"
        },
        {
          "amount": "-100.00",
          "hours": null,
          "type": "bonus",
          "code": null,
          "description": "test",
          "earning_code": null,
          "workplace": "wrk_5wEgDPwh0dYqElB6yArb"
        }
      ],
      "reimbursements": [
        
      ],
      "taxes": [
        {
          "tax": "tax_ImvSF9CTuMdokf0uwx5x",
          "description": "Employer FICA Tax",
          "amount": "-24.80",
          "payer": "company",
          "remittable": true
        },
        {
          "tax": "tax_u4DzMCYXAUL6OfcgPeyg",
          "description": "Federal Unemployment Tax",
          "amount": "-2.40",
          "payer": "company",
          "remittable": true
        },
        {
          "tax": "tax_O3f21hkS1cvHBZTa61BO",
          "description": "Employer Medicare Tax",
          "amount": "-5.80",
          "payer": "company",
          "remittable": true
        },
        {
          "tax": "tax_ibU8cGhC5OlpOjoQFIXV",
          "description": "FICA",
          "amount": "-24.80",
          "payer": "employee",
          "remittable": true
        },
        {
          "tax": "tax_8L3JLfsH4X6dp0maBWfW",
          "description": "Federal Income Tax",
          "amount": "-27.87",
          "payer": "employee",
          "remittable": true
        },
        {
          "tax": "tax_1XHqR9Qf5t18SD2sfYEe",
          "description": "Medicare",
          "amount": "-5.80",
          "payer": "employee",
          "remittable": true
        },
        {
          "tax": "tax_9DdoriFBBnMsZMoENm2g",
          "description": "Georgia State Unemployment Tax",
          "amount": "-10.80",
          "payer": "company",
          "remittable": true
        },
        {
          "tax": "tax_f3vqjeByI7jNKkxqIAkh",
          "description": "Georgia Administrative Assessment Tax",
          "amount": "-0.24",
          "payer": "company",
          "remittable": true
        },
        {
          "tax": "tax_k6cUowpcp1Pi6QqDjMja",
          "description": "Georgia State Tax",
          "amount": "-10.85",
          "payer": "employee",
          "remittable": true
        }
      ],
      "benefits": [],
      "post_tax_deductions": [],
      "warnings": []
    }
  ],
  "contractor_payments": []
  "is_void": true,
  "metadata": {}
}