Multi-state Taxation and Reciprocity

Paying employees who live and work in different states.

In some scenarios, paying employees who live and work in different states may actually be quite complex due to the multi-state taxation laws and reciprocal agreements of states. Check’s API shoulders this complexity and makes these scenarios easy to understand and build against.

This guide will walk through how Check handles multi-state taxation and reciprocity.

Multi-state taxation

Multi-state taxation arises when both the work and home state place a set of withholding requirements on the employee as either a resident or non-resident. With multi-state taxation, the employee’s wages are always subject to taxes in the work state (non-resident), but can also be subject to taxes in the home state (resident). Taxation in these cases is also dependent upon nexus – a company’s business presence in each of the states. This often results in the employee needing to complete withholding certificates (state W-4s) for both the work and home state. These forms, coupled with the state’s withholding rates, will determine how much tax is withheld for each set of taxes.

📘

How nexus is determined

In Check, a company has nexus in a state if they have an active workplace in that state or if they have an employee opted into reciprocity in the state. This is described in more detail in the Reciprocity section.

Check’s API accounts for multi-state logic and returns the correct forms an employee needs to complete in these scenarios. Below is an example of a request to List employee forms in a multi-state scenario in action.

Take a company with workplaces in New York and New Jersey and an employee of that company living in New York and working at New Jersey workplace:

curl GET https://sandbox.checkhq.com/workplaces?company=com_P7JPeBhb8hH23iiReDQ5
[
  {
    "id": "wrk_oRgjEaRycoCPuS5TqVkm",
    "name": "New York Office",
    "address": {
      "line1": "200 Park Ave",
      "line2": null,
      "city": "New York",
      "state": "NY",
      "postal_code": "10166",
      "country": "US"
    },
    "company": "com_P7JPeBhb8hH23iiReDQ5",
    "active": true,
    "metadata": {}
  },
  {
    "id": "wrk_CBsVFaGEpEaPBGIvJ6xi",
    "name": "New Jersey Office",
    "address": {
      "line1": "49 Washington St",
      "line2": null,
      "city": "Newark",
      "state": "NJ",
      "postal_code": "07102",
      "country": "US"
    },
    "company": "com_P7JPeBhb8hH23iiReDQ5",
    "active": true,
    "metadata": {}
  }
]
curl GET https://sandbox.checkhq.com/employees/emp_zGGp6wYcxAeu1Ng8IA7v
{
  "id": "emp_zGGp6wYcxAeu1Ng8IA7v",
  "first_name": "Gregory",
  "last_name": "House",
  "middle_name": null,
  "email": "[email protected]",
  "dob": "1959-06-11",
  "bank_accounts": [],
  "ssn_last_four": "9876",
  "payment_method_preference": "manual",
  "active": true,
  "onboard": {
    "status": "completed",
    "blocking_steps": [],
    "remaining_steps": []
  },
  "workplaces": ["wrk_CBsVFaGEpEaPBGIvJ6xi"],
  "company": "com_P7JPeBhb8hH23iiReDQ5",
  "start_date": "2020-01-13",
  "default_net_pay_split": "nps_cr642hx3546agdcgqD5b",
  "residence": {
    "line1": "20 W 34th St",
    "line2": null,
    "city": "New York",
    "state": "NY",
    "postal_code": "10001",
    "country": "US"
  },
  "w2_electronic_consent_provided": false,
  "metadata": {}
}

A call to List employee forms for this employee would return both the New York and New Jersey withholding forms. An example API request and response are below.

curl GET https://sandbox.checkhq.com/employees/emp_zGGp6wYcxAeu1Ng8IA7v/forms
{
  "next": null,
  "previous": null,
  "results": [
  	{
      "form": {
        "id": "frm_EGFrW2qsMAqIysI1Bpzw",
        "description": "Federal W-4",
        "link": "https://www.irs.gov/pub/irs-pdf/fw4.pdf",
        "revision_date": "2022-01-03"
      },
      "document": null,
      "submitted_at": null
   	},
    {
      "form": {
      	"id": "frm_tVAOrCpYupMwCbWNqB1h",
      	"description": "New Jersey NJ-W4",
       	"link": "https://www.state.nj.us/treasury/taxation/pdf/current/njw4.pdf",
        "revision_date": "2021-01-01"
      },
      "document": null,
      "submitted_at": null
    },
    {
      "form": {
        "id": "frm_lXRcZI9SQxMrlHW1BAeI",
        "description": "New York IT-2104",
        "link": "https://www.tax.ny.gov/pdf/current_forms/it/it2104_fill_in.pdf",
        "revision_date": "2022-01-01"
      },
      "document": null,
      "submitted_at": null
    }
  ]
}

📘

When there's not nexus

If a company does not have nexus in an employee's home state, List employee forms would only return the employee's work state withholding forms. Any tax liability the employee would have in their home state would not be withheld through payroll. The employee would be responsible for paying that liability when filing their home state tax return.

Reciprocity

Reciprocity exists when both the work and home state have a reciprocal agreement with each other, which allows the employee to elect to have taxes withheld only for their home state. No tax is withheld for the work state. With reciprocity, employees have to “opt-in” to having these taxes withheld, with the exception of D.C. where employees are automatically opted into reciprocity. The employer must register for a withholding identification number in the employee’s home state if they haven’t already done so. Currently, there are only 16 states (plus D.C.) that have a reciprocal agreement with at least one other state.

📘

States with reciprocal agreements with at least one other state

  • Arizona
  • Illinois
  • Indiana
  • Iowa
  • Kentucky
  • Maryland
  • Michigan
  • Minnesota
  • Montana
  • New Jersey
  • North Dakota
  • Ohio
  • Pennsylvania
  • Virginia
  • Washington D.C.
  • West Virginia
  • Wisconsin

Only employees living in specific states can opt into reciprocity with one or more of these above states, with the exception of D.C. where anyone living outside of D.C. but working in D.C. automatically opts into reciprocity.

For example, residents of Maryland can only opt into reciprocity with Pennsylvania, Virginia, and West Virginia, but residents of Florida cannot opt into reciprocity with any of the above states. The Get reciprocity elections endpoint can be used to determine which states are available to an employee for reciprocity and the Update reciprocity elections endpoint can be used to change the opt-in state of the employee.

Take an employee who lives in Maryland and works in Pennsylvania:

curl GET https://sandbox.checkhq.com/employees/emp_RUDsAQ5OPVpc6o0uh9JW
{
  "id": "emp_RUDsAQ5OPVpc6o0uh9JW",
  "first_name": "Gilly",
  "last_name": "Hopkins",
  "middle_name": null,
  "email": "[email protected]",
  "dob": "1978-03-28",
  "bank_accounts": [],
  "ssn_last_four": "1234",
  "payment_method_preference": "manual",
  "active": true,
  "onboard": {
    "status": "completed",
    "blocking_steps": [],
    "remaining_steps": []
  },
  "workplaces": ["wrk_i8nfu8234r8dkjhzlsdv"],
  "company": "com_sx3svU6K8c5ZkSFlOh5p",
  "start_date": "2019-03-01",
  "default_net_pay_split": "nps_lk218jk9082mjkjljT1c",
  "residence": {
    "line1": "2 S Washington St",
    "line2": null,
    "city": "Easton",
    "state": "MD",
    "postal_code": "21601",
    "country": "US"
  },
  "w2_electronic_consent_provided": false,
  "metadata": {}
}
curl https://sandbox.checkhq.com/workplaces/wrk_i8nfu8234r8dkjhzlsdv
{
  "id": "wrk_i8nfu8234r8dkjhzlsdv",
  "name": "Pennsylvania Office",
  "address": {
    "line1": "526 Market St",
    "line2": null,
    "city": "Philadelphia",
    "state": "PA",
    "postal_code": "19106",
    "country": "US"
  },
  "company": "com_sx3svU6K8c5ZkSFlOh5p",
  "active": true,
  "metadata": {}
}

Below is an example reciprocity elections API request and response for the employee.

curl GET https://sandbox.checkhq.com/employees/emp_RUDsAQ5OPVpc6o0uh9JW/reciprocity_elections
{
  "next": null,
  "previous": null,
  "results": [
    {
      "opt_in": true,
      "effective_start": "1900-01-01",
      "jurisdiction": "jur_kVjigoeAzs9NzTsfY4SL",
      "jurisdiction_name": "Pennsylvania",
      "applicable": true
    },
    {
      "opt_in": null,
      "effective_start": null,
      "jurisdiction": "jur_PskWgKMZZcPjjiP0sXv8",
      "jurisdiction_name": "West Virginia",
      "applicable": false
    },
    {
      "opt_in": null,
      "effective_start": null,
      "jurisdiction": "jur_uCEMiU94k034539Ua04Y",
      "jurisdiction_name": "Virginia",
      "applicable": false
    }
  ]
}

🚧

The applicable attribute

The applicable attribute of the ReciprocityElection object denotes whether the employee has been assigned an active workplace in the corresponding state. opt_in values for non-applicable ReciprocityElections are able to be set through the Update reciprocity elections endpoint, but they will have no effect on withholdings until the employee is assigned an active workplace in the corresponding state.

This can be useful for setting the opt_in values for an employee with all possible states at once, so if a new workplace is assigned to them in a previously non-applicable state another request will not be required.

When the opt_in value for any of an employee's ReciprocityElections are set to true, the company is now required to provide a withholding identification number for the employees’ home state if they haven’t already done so.

📘

Be updated about ReciprocityElection opt_in value changes

Depending on whether a company has provided an EIN or an employee has completed withholdings for their home state, a change of an employee's ReciprocityElection opt_in value may also affect the company and employee's onboard status. For that reason, Company and Employee updated webhooks are fired on changes of an employee's ReciprocityElection opt_in value.

See Onboard Status and Webhooks for more information.

Now, the employee will only have to complete their home state withholding form.

curl GET https://sandbox.checkhq.com/employees/emp_RUDsAQ5OPVpc6o0uh9JW/forms
{
  "next": null,
  "previous": null,
  "results": [
    {
      "form": {
        "id": "frm_EGFrW2qsMAqIysI1Bpzw",
        "description": "Federal W-4",
        "link": "https://www.irs.gov/pub/irs-pdf/fw4.pdf",
        "revision_date": "2022-01-03"
      },
      "document": null,
      "submitted_at": null
    },
    {
      "form": {
        "id": "frm_1itvevqVCHUvxLpLdZhK",
        "description": "Maryland MW507",
        "link": "https://www.marylandtaxes.gov/forms/current_forms/mw507.pdf",
        "revision_date": "2021-01-01"
      },
      "document": null,
      "submitted_at": null
    }
  ]
}

📘

Removing nexus from a state

Nexus in a state can be removed from a company by setting all of the company's workplaces in the state to inactive and ensuring no employees have ReciprocityElections with opt_in set to true with that state.