Skip to content

Enterprise Integration Platform

    The APS Enterprise Integration Platform (EIP) is the method by which employee demographics data can be transmitted into the APS system from an external system. Both new employee records, along with updates to existing employee records, can be transmitted using the EIP.

    The EIP accepts employee data via XML files created by the source system in a pre-defined format, which are then transmitted to the APS system via a multipart/form-data POST request to a secure HTTPS endpoint. Received data files are then passed through several layers of validation to minimize the risk of introducing errors into the client’s production data.

    Each XML file transmitted to APS can contain multiple employee records. XML files are validated and processed as they are received by the APS system, giving the source system the flexibility to dictate the data transmission schedule. The APS system only requires action on the part of the user to address any errors present in the received data, and to issue the final approval to move validated data to production, resulting in a virtually seamless integration between the source system and the APS system.

    Click the following link to access the most recent XSD schema for APS: https://www.apspayrollonline.com/eip/schemas/EIP_APS_XML.xsd

    Authentication & Security

    During the initial EIP setup and configuration process, a Security Token will be generated by APS and issued via a secure method.  Tokens that are to be used in a production environment should never be shared.  All tokens can be regenerated and rotated at the users’ discretion.

    The security of all transmission is handled by the SSL encryption implicit in the HTTPS protocol.

    There are two types of tokens, Partner Tokens and Company Tokens.  The type of token you get will be explained during the onboarding process.

    Partner Tokens

    Partner Tokens are used by APS partners to transmit data into APS OnLine on a company’s behalf.  Each company that a partner needs to push data into will need to be added to this token.

    During XML file transmission, this token will simply be passed as the “access_token”.

    Company Tokens

    Company Tokens are used by an individual company to transmit data into APS OnLine.  In most cases, the token will only have access to a single company.

    There is an extra layer of security for these tokens based on a time-sensitive component.

    During XML file transmission, a variable token will be derived from the issued Security Token and transmitted with the file as the “access_token”. To calculate the variable token, the transmission date (YYYYMMDD format) will be concatenated to the issued token.  Then, the MD5 hash of the resulting string will be used.

    ([Company Token] + “[YYYYMMDD]”) RESULT MD5 HASH

    For example, if the issued token is “TEST”, and the transmission date is January 1st, 2013, then the resulting variable token would be 1227ea4e91e00cdcd0dd5e851cd49fb7. It is generated as follows:

    “TEST” + “20130101” “TEST20130101” MD5 HASH “1227EA4E91E00CDCD0DD5E851CD49FB7”

    To account for possible differences between the time zones of the originating system and APS, the EIP allows for a tolerance of plus or minus one date from the transmission date to be used when generating a variable token. Therefore, should a variable token be intercepted by a third-party, the valid lifespan is limited to 48 to 72 hours.

    File Transmission

    The file will be uploaded to the specified URL endpoint and will be transmitted using the POST request.

    The following parameters are required/optional as part of the POST request:

    • Required
      • “file” – The XML data file
      • “company_code” – Five-digit Company Code assigned by APS
      • “access_token” – Partner Token or hashed Company Token (described in the Authentication & Security section above)
      • “email_address” – Email address to which any transmission error reports should be sent
    • Optional
      • “eip_format” – Default to “EIP_APS_XML”; change only under APS direction

    The following response codes may be returned to the POST request:

    • 200 – OK. Transmission and file validated against schema.
    • 400 – Bad Request. The XML file was malformed or syntactically incorrect.
    • 401 – Unauthorized. Token was not provided, or the token provided was not valid.
    • 403 – Forbidden. Token provided did not match the company code from the file.
    • 422 – Unprocessable Entity. XML file failed schema validation.
    • 500 – Internal Server Error 

    Please note that the only indication of success is a response code of 200. Any other response, including a failure to return a response code, is indicative of a problem. If the XML file fails schema validation, an email will be sent to the email addresses provided via the request parameter (if applicable) with further details regarding the problem.

    Workflow Overview

    • Employee data is formatted within the XML file per the specifications.
      • A separate XML file is required for each company.
      • Unused fields and nodes should be omitted from the file.
    • The XML file is transmitted to APS via a multipart/form-data POST request to a HTTPS endpoint URL.
      • Authentication of credentials occurs at this time.
      • Security of the transmission is handled by the encryption implicit within the HTTPS protocol.
    • The received file is validated for formatting against the schema (Level 1 validation). FILES THAT DO NOT MEET THE SPECIFICATIONS ARE REFUSED.
    • Approved files are processed and validated for logical errors (Level 2 validation). The data is then loaded into a “Pending” state within the APS system.
    • The data is presented to the user within the APS application. The user will have the opportunity to address any Level 2 validation errors at this time.
    • The user approves or rejects the data. Approved data is transitioned to a “Live” state. Rejected data is removed from the user’s view and is not transitioned to a “Live” state.
      • The APS system maintains a log of all data received that passed Level 1 validation, regardless of whether it was ultimately approved or rejected by the user.

    Field Details

    DEMOGRAPHICS SECTION FIELDS

    These tags will be contained within the <demographics> node under each <employee> node. The uniqueid field is required.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    uniqueidalphanumeric200This will be inline in the opening employee tag (see sample file). It is a required field for every employee transmitted. Each individual employee must be referenced by a different unique identifier, but the unique identifier should be consistent when referencing the same employee in later transmissions.
    If the node represents a new employee record, the originating system may assign the uniqueid. This uniqueid must be used in any future updates to the employee record.
    If the node represents updates to an employee record that was originally created within the APS OnLine application, this uniqueid must match either the Social Security Number or Employee Number on the employee record.
    <number>alphanumeric10Employee ID Number. Must be unique for each employee.
    <ssn>numeric9Social Security Number of the employee. Omit dashes.
    <status>character1Employment status. New employees will maintain a ‘Pending’ status in APS OnLine until approved through the “Pending New Hire” approval console.
    Accepted Values:
    ‘A’ – Active
    ‘D’ – Deceased
    ‘E’ – Extended Leave
    ‘O’ – Laid Off
    ‘L’ – Sick/FMLA Leave
    ‘T’ – Terminated
    <type>alphanumeric4Employee type
    Accepted Values:
    ‘w2’ – W2 Employee
    ‘1099’ – 1099 Employee
    <first>text30First name
    <middle>text30Middle name
    <last>text30Last name
    <suffix>text3Suffix
    Accepted Values:
    ‘JR’ – Jr.
    ‘SR’ – Sr.
    ‘II’ – II
    ‘III’ – III
    ‘IV’ – IV
    ‘V’ – V
    <address1>text50Address Line 1
    <address2>text50Address Line 2
    <city>text50City
    <state>text2State
    Accepted values: State’s corresponding two-letter USPS abbreviation
    <zip>numeric5Five-digit ZIP code
    <email>text50Email address
    <email-personal>text50Personal Email address
    <hphone>numeric11Home phone number. Numbers only; omit dashes.
    <mphone>numeric11Mobile/cell phone number. Numbers only; omit dashes.
    <wphone>numeric11Work phone number. Numbers only; omit dashes.
    <extphone>numeric10Work phone number extension. Numbers only.
    <bdept>alphanumeric15Department Number (from APS OnLine) of the employee’s base department
    <blocation>alphanumeric30Name (from APS OnLine) of the employee’s base location
    <wccode>alphanumeric10Worker’s Comp Code (from APS OnLine) assigned to the employee
    <fedtax-status>character1Federal income tax filing status
    Accepted Values:
    ‘S’ – Single
    ‘M’ – Married
    ‘H’ – Head of Household
    <fedtax-exemptions>numeric2Number of allowances claimed on federal withholding. Limited to (0-99) or empty value.
    <fedtax-type>character1Federal withholding setting. A value of “D”, “P”, or “T” is required in this field if a value is reported in the <fedtax-amount> field.
    Accepted Values:
    ‘T’ – Withhold as normal plus an additional amount
    ‘B’ – Withholding blocked
    ‘P’ – Withhold set percentage
    ‘D’ – Withhold set dollar amount
    ‘N’ – Withhold as normal
    <fedtax-amount>numeric9Corresponds to federal withholding setting. If the setting is…
    ‘T’ – Represents additional amount to withhold
    ‘P’ – Represents set percentage to withhold
    ‘D’ – Represents set dollar amount to withhold
    <fedtax-comm>numeric6Federal withholding rate for commissions – overrides regular settings if present
    <fedtax-multiple-jobs>character1W-4 Two jobs? (W-4 Form Step 2)
    Accepted Values:
    ‘Y’ – Yes
    ‘N’ – No
    <fedtax-total-dependents>numeric9W-4 Claimed Dependents Total (W-4 Form Step 3)
    Accepted values are any number of 3+ digits, 0, 25-29, or 30-99.
    <fedtax-other-income>numeric9W-4 Other income (W-4 Form Step 4)
    <fedtax-deductions>numeric9W-4 Deductions (W-4 Form Step 4)
    <statetax-state>character2State under which income tax will be withheld
    Accepted Values:State’s corresponding two-letter USPS abbreviation
    <unemp-state>character2State under which unemployment applies
    Accepted Values:State’s corresponding two-letter USPS abbreviation
    <soc-code>numeric77-digit SOC Code (no hyphens)
    <statetax-status>character1State income tax filing status
    Accepted Values:
    ‘1’ – Single
    ‘2’ – Married
    For AL, AZ, CA, CT, DC, DE, GA, IL, KS, MA, MO, MS, NC, NJ, OK, WV, or Puerto Rico filing status values, see State Withholding Status Table under Additional Resources
    <statetax-exemptions>numeric5Number of allowances claimed on state withholding
    <statetax-dependents>numeric2Number of dependents claimed for state withholding.
    Accepted values are (0-99) or blank.
    <statetax-type>character1State withholding setting. A value of “D”, “P”, or “T” is required in this field if a value is reported in the <statetax-amount> field.
    Accepted Values:
    ‘T’ – Withhold as normal plus an additional amount
    ‘B’ – Withholding blocked
    ‘P’ – Withhold set percentage
    ‘D’ – Withhold set dollar amount
    ‘N’ – Withhold as normal
    <statetax-amount>numeric9Corresponds to state withholding setting. If the setting is…
    ‘T’ – Represents additional amount to withhold
    ‘P’ – Represents set percentage to withhold
    ‘D’ – Represents set dollar amount to withhold
    <statetax-comm>numeric6State withholding rate for commissions – overrides regular settings if present
    <paygroup>text30Description of the pay group assigned to the employee from APS OnLine (e.g., Bi-Weekly, Semi-Monthly, etc.)
    <wagetype>character1Employee wage type
    Accepted Values:
    ‘H’ – Hourly
    ‘S’ – Salary Exempt
    ‘N’ – Salary Non-Exempt
    ‘C’ – Commission
    ‘T’ – Tipped
    <salary>numeric10Per pay period salary amount
    <birthdate>dateYYYY-MM-DDBirth Date. Include dashes and four-digit year.
    <hiredate>dateYYYY-MM-DDHire Date. Include dashes and four-digit year.
    <rehiredate>dateYYYY-MM-DDRehire Date. Include dashes and four-digit year.
    <termdate>dateYYYY-MM-DDTermination Date. Include dashes and four-digit year.
    <i9date>dateYYYY-MM-DDI-9 Expiration Date. Include dashes and four-digit year.
    <paychangedate>dateYYYY-MM-DDLast Pay Change Date. Include dashes and four-digit year.
    <lastreviewdate>dateYYYY-MM-DDLast Review Date. Include dashes and four-digit year.
    <nextreviewdate>dateYYYY-MM-DDNext Review Date. Include dashes and four-digit year.
    <cobrastart>dateYYYY-MM-DDCOBRA Start Date. Include dashes and four-digit year.
    <cobraend>dateYYYY-MM-DDCOBRA End Date. Include dashes and four-digit year.
    <leavestart>dateYYYY-MM-DDLeave Start Date. Include dashes and four-digit year.
    <leaveend>dateYYYY-MM-DDLeave End Date. Include dashes and four-digit year.
    <eligdate-401k>dateYYYY-MM-DD401k Eligibility Start Date. Include dashes and four-digit year.
    <partdate-401k>dateYYYY-MM-DD401k Participation Start Date. Include dashes and four-digit year.
    <partnum-401k>alphanumeric10401k Participation Number
    <status-401k>character1401k Participation Status
    Accepted Values:
    ‘A’ – Active & Eligible
    ‘D’ – Disabled
    ‘T’ – Terminated
    ‘E’ – Deceased
    ‘R’ – Retired
    ‘I’ – Active & Ineligible
    <hce>character1Highly Compensated Employee Indicator
    Accepted Values: ‘Y’ – Yes ‘N’ – No
    <keyemployee>character1Key Employee Indicator
    Accepted Values: ‘Y’ – Yes ‘N’ – No
    <familymember>character1Family Member Indicator
    Accepted Values: ‘Y’ – Yes‘ N’ – No
    <maritalstatus>character1Marital Status (HR usage)
    Accepted Values:
    ‘S’ – Single
    ‘M’ – Married
    ‘D’ – Divorced
    ‘W’ – Widowed
    <gender>character1Gender
    Accepted Values: ‘M’ – Male ‘F’ – Female
    <emptype>character1Employment Type
    Accepted Values:
    ‘F’ – Full Time
    ‘P’ – Part Time
    ‘S’ – Seasonal
    ‘T’ – Temporary
    <eligrehire>character1Eligible for Rehire Indicator
    Accepted Values: ‘Y’ – Yes ‘N’ – No
    <eeo-e>character1EEOC Ethnicity
    Accepted Values:
    ‘H’ – Hispanic or Latino
    ‘W’ – White (not Hispanic or Latino)
    ‘B’ – Black or African American (not Hispanic or Latino)
    ‘P’ – Native Hawaiian or Other Pacific Islander (not Hispanic or Latino)
    ‘A’ – Asian (not Hispanic or Latino)
    ‘I’ – American Indian or Alaska Native (not Hispanic or Latino)
    ‘T’ – Two or More Races (not Hispanic or Latino)
    ‘N’ – Declined to Identify
    <eeo-c>character1EEOC Category
    Accepted Values:
    ‘R’ – Service Workers
    ‘M’ – Executive/Senior Level Officials and Managers
    ‘F’ – First/Mid-Level Officials & Managers
    ‘P’ – Professionals
    ‘T’ – Technicians
    ‘S’ – Sales Workers
    ‘C’ – Administrative Support Workers
    ‘W’ – Craft Workers
    ‘O’ – Operatives
    ‘L’ – Laborers & Helpers
    <classification>alphanumeric50Value to be inserted in the field on the employee record. The value must match a configured Classification value in APS OnLine.
    <title>alphanumeric255Value to be inserted in the field on the employee record. The value must match a configured Job Title value in APS OnLine.
    HOURLY PAY RATES SUBSECTION FIELDS

    These tags will be contained as inline parameters in <rate> nodes within the <rates> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <department>numeric15Department Number (from APS OnLine) with which the hourly pay rates are associated
    <rateone>numeric10Hourly Rate 1 for the department
    <ratetwo>numeric10Hourly Rate 2 for the department
    <ratethree>numeric10Hourly Rate 3 for the department
    <ratefour>numeric10Hourly Rate 4 for the department
    <defaultreghours>numeric6Default amount of Regular hours worked during a pay period
    <defaultovthours>numeric6Default amount of Overtime hours worked during a pay period
    SCHEDULED EARNINGS & INCOMES SUBSECTION FIELDS

    These tags will be contained as inline parameters in <income> nodes within the <incomes> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <department>numeric15Department Number (from APS OnLine) with which the scheduled earning/income is associated
    <description>text25Description (from APS OnLine) of the scheduled earning/income
    <amount>numeric10Amount (per pay period) of the scheduled earning/income
    <effstartdate>dateYYYY-MM-DDDate the scheduled earning/income will begin to be applied
    <effenddate>dateYYYY-MM-DDDate the scheduled earning/income will cease to be applied
    SCHEDULED DEDUCTIONS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <deduction> nodes within the <deductions> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <description>text25Description (from APS OnLine) of the scheduled deduction
    <amount>numeric9Amount (dollar or percent) of the scheduled deduction
    <maxoverride>numeric8Override for the annual maximum total amount of the scheduled deduction
    <goalamount>numeric8Goal Amount – ???
    <annualgoal>numeric9Annual Goal – ???
    <effdate>dateYYYY-MM-DDDate the scheduled deduction will begin to be applied
    <empamount>numeric9Employer-paid amount (dollar or percent – type must match<amount> tag) for the scheduled deduction
    EMPLOYEE DIRECT DEPOSIT SUBSECTION FIELDS

    These tags will be contained as inline parameters in <account> nodes within the <accounts> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <accounttype>character1Bank account type
    Accepted Values:
    ‘C’ – Checking
    ‘S’ – Savings
    <routingnum>numeric9Nine-digit bank routing number. All nine digits must be supplied, even if there are leading zeros.
    <accountnum>numeric17Bank account number. All digits, including leading zeros, must be supplied.
    Accepts values between 5 and 17 digits in length. 
    <paytype>character1Indicates how pay is split if multiple amounts are present. If only a single account is present, a ‘R’ should be present in this field.
    Accepted Values:
    ‘D’ – Set dollar amount
    ‘P’ – Percentage of net pay
    ‘R’ – Net Pay/Remainder
    <payamount>numeric8Dollar or percent (corresponding to <paytype> value) that should be deposited into the account. A ‘0’ should be reported in this field for accounts with a pay type of “Net Pay/Remainder”.
    EMPLOYEE ACCRUALS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <accrual> nodes within the <accruals> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <accrplan>text25Description (from APS OnLine) of the accrual plan
    <hrsavail>numeric9Balance of hours available within the employee’s accrual plan
    <hrsbank>numeric9Balance of hours banked within the employee’s accrual plan
    EMERGENCY CONTACTS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <ec> nodes within the <econtacts> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <name>text60Emergency contact’s full name
    <hphone>numeric11Emergency contact’s home phone number. Numbers only; omit dashes.
    <wphone>numeric11Emergency contact’s work phone number. Numbers only; omit dashes.
    <mphone>numeric11Emergency contact’s mobile phone number. Numbers only; omit dashes.
    <relation>text100Emergency contact’s relation to employee
    <notes>text1024Notes attached to emergency contacts
    EVENTS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <event> nodes within the <events> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <event_id>alphanumeric50Unique ID of Event; Used to apply updates to existing events in subsequent transactions. 
    <category>enumerated20Event Category
    Accepted Values:
    ‘cert’ – Certification
    ‘disc’ – Disciplinary Action
    ‘emp’ – Employee Record Change
    ‘goal’ – Goals
    ‘leave’ – Leave Tracking
    ‘pay’ – Pay Change
    ‘pos’ – Position Change
    ‘review’ – Performance Reviews
    ‘train’ – Training
    <event_date>dateYYYY-MM-DDEvent Date
    <followup_date>dateYYYY-MM-DDFollow-up Date
    <type>text100Event Type. Matches against existing Event Types by Event Category, if none found, a new type is added under the included event category
    <status>enumerated1Accepted Values: ‘C’ – Closed‘ O’ – Open
    <description>text100Event Description
    <notes>text250Event Notes
    EMPLOYEE CUSTOM FIELDS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <field> nodes within the <customfields> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <field>text50Label of the Custom Field within APS OnLine
    <value>text200Value to be inserted into the Custom Field on the employee’s record
    EMPLOYEE DOCUMENTS SUBSECTION FIELDS

    These tags will be contained as inline parameters in <document> nodes within the <documents> section. Required parameters are bold.

    XML TAGDATA TYPEMAXIMUM LENGTHDESCRIPTION
    <filename>text256Filename of document to be attached to employee. Document must be uploaded to FTP server separately.

    Additional Resources

    SAMPLE XML FILE LAYOUT

    Your Company Code will be provided when your service is activated.

    <transaction>
          <employees>
                   <employee uniqueid=“234325”>
                        <demographics>
                              <number>022</number>
                              <first>John</first>
                              <last>Doe</last>
                              <ssn>999001234</ssn>
                              <bdept>150</bdept>
                                    …etc…
                              <rates>
                                     <rate department=“150” rateone=“15.00” />
                              </rates>
                              <incomes>
                                     <income department=“150” description=“Cell” amount=“75.00” />
                              </incomes>
                              <deductions>
                                     <deduction description=“401k %” amount=“6” />
                                     <deduction description=“HSA” amount=“125” empamount=“300” />
                              </deductions>
                              <accruals>
                                     <accrual accrplan=“PTO” hrsavail=“40” />
                              </accruals>
                              <econtacts>
                                     <ec name=“Jane Doe” hphone=“3125551234” relation=“Spouse” />
                                     <ec name=“Matt Doe” wphone=“7735551234” relation=“Son” />
                              </econtacts>
                              <events>
                                     <event event_id="90006" category="train" type="OWASP Training"                  status="C" event_date="2022-09-15">
                                     <description>Employee Security Training</description>
                                     <notes>Score: 100</notes>
                                     </event>
                              </events>
                              <customfields>
                                     <field field=“License Plate” value=“568AKD” />
                              </customfields>
                        </demographics>
                   </employee>
                   <employee uniqueid=“8cd35ab5”>
                            …etc…
                   </employee>
                            …et al…
          </employees>
    </transaction>
    
    STATE WITHHOLDING STATUS – ENUMERATED VALUE CODES
    WITHHOLDING STATEENUMERATED VALUE CODEDESCRIPTION
    Alabama1Single (S)
    Alabama2Married Filing Jointly (M)
    Alabama3Head of Family (H)
    Alabama40 Exemption
    Alabama5Married Filing Separately (MS)
    Arizona10.8% of gross taxable wages
    Arizona21.3% of gross taxable wages
    Arizona31.8% of gross taxable wages
    Arizona42.7% of gross taxable wages
    Arizona53.6% of gross taxable wages
    Arizona64.2% of gross taxable wages
    Arizona75.1% of gross taxable wages
    California1Single, Dual Inc. Married or Married w/Multiple ERs
    California2Married with One Income
    California3Head of Household
    Connecticut1A from line 1 of CT-W4
    Connecticut2B from line 1 of CT-W4
    Connecticut3C from line 1 of CT-W4
    Connecticut4D from line 1 of CT-W4
    Connecticut5E from line 1 of CT-W4
    Connecticut6F from line 1 of CT-W4
    Delaware1Single
    Delaware2Married Filing Jointly
    Delaware3Married Filing Separately
    District of Columbia1Single
    District of Columbia2Married Filing Jointly
    District of Columbia3Married Filing Separately
    Georgia1Single
    Georgia2Married Filing Joint, Both
    Georgia3Married Filing Joint, One
    Georgia4Married Filing Separate
    Georgia5Head of Household
    Illinois1NO FILE STATUS
    Kansas1Single
    Kansas2Joint
    Massachusetts1Not Filing as Head of Household
    Massachusetts2Filing as HoH
    Massachusetts3Employee or Employees Spouse Is Blind
    Massachusetts4Filing as HOH and Claiming the Blindness Ex.
    Massachusetts5Both Employee and Spouse are Blind
    Mississippi1Single
    Mississippi2Married with One Income
    Mississippi3Married with Two Incomes
    Mississippi4Head of Family
    Missouri1Single
    Missouri2Married Spouse Works
    Missouri3Married Spouse Does Not Work
    Missouri4Head of Household
    New Jersey1Single
    New Jersey2Married Filing Joint
    New Jersey3Married Filing Separate
    New Jersey4Head of Household
    New Jersey5Qualifying Widow(er)
    New Jersey6Table A Withholding Rates
    New Jersey7Table B Withholding Rates
    New Jersey8Table C Withholding Rates
    New Jersey9Table D Withholding Rates
    New JerseyATable E Withholding Rates
    North Carolina1Single
    North Carolina2Head of Household
    North Carolina3Married or Widow
    Oklahoma1Single
    Oklahoma2Married Joint Head of Household
    Oklahoma3Married with Dual Incomes
    Oklahoma4Married Filing Separate
    Puerto Rico1Single or Married Not Living with Spouse Claiming All
    Puerto Rico2Married Filing Jointly Claiming All or Head of Household
    Puerto Rico3Married Filing Jointly Claiming Half or Filing Separate Claiming All
    Puerto Rico4Person Claiming None
    West Virginia1Normal Rate
    West Virginia2Two Earner Option (Higher Rate)