---
title: "Create Employee Deduction"
method: POST
path: "/apiHub/payroll/v1/companies/{companyId}/employees/{employeeId}/deductions"
tags: ["Recurring Deductions"]
---

# Create Employee Deduction

`POST /apiHub/payroll/v1/companies/{companyId}/employees/{employeeId}/deductions`

## Request

- Base URL: `dc1demogwext.paylocity.com` (relative, and the document’s source URL is not known)
- URL: `dc1demogwext.paylocity.com/apiHub/payroll/v1/companies/{companyId}/employees/{employeeId}/deductions`
- Auth: none declared

**Summary Description**

 This function will allow the API user to create a new deduction on the employee record. Garnishments cannot be created using the Deduction endpoints.

## Path parameters

- `companyId` string, required
- `employeeId` string, required

## Request body

- CreateDeductionDto: A Payroll Deduction code is a unique identifier used by payroll systems to categorize and track specific deductions from an employee's paycheck. These deductions can include taxes, health insurance premiums, retirement contributions, loan repayments, and more. Each type of deduction has its own unique code that allows it to be easily identified and processed by the payroll system. This not only ensures accurate calculations and disbursements, but also helps with record-keeping and reporting requirements.
  - `code` string, nullable: Deduction Code
  - `effectiveFrom` string, date-time, nullable: Effective Date of the Deduction
  - `effectiveTo` string, date-time, nullable: End Date of the Deduction
  - `calculationCode` string, nullable: Calculation Code that Applies to Deduction
  - `rate` number, double, nullable: Rate for the Deduction
  - `frequency` string, nullable: Frequency determines how often the deduction Rate is applied in payroll
  - `agency` string, nullable: Agency Code. These are custom per client
  - `arrear` number, double, nullable: Money that is owed
  - `miscellaneousInfo` string, nullable: Miscellaneous Information
  - `note` string, nullable: Deduction Notes
  - `selfInsured` boolean, nullable: Self-Insured Plan Flag. This will generate Part III of the employee's 1095-C Form
  - `priority` integer, nullable: Priority determines the order in which a deduction is subtracted from gross pay. Priorities 1-4 are reserved for Statutory deductions(necessary by law), while 5-7 are reserved for Voluntary deductions(employee-elected).
  - `loan401K` Loan401KDto: A 401K loan is a type of loan that allows you to borrow money against the balance of your 401K retirement plan, up to a certain limit. It's a way for individuals to access their retirement savings without incurring early withdrawal penalties or taxes. The borrower is expected to repay the loan, typically over five years, through payroll deductions. The values to insert a loan, like Loan Number, and First Payment Date are provided by the record keeper.
    - `loanNumber` string, nullable: 401K Loan Number. Provided by Record Keeper
    - `issueDate` string, date-time, nullable: Date of 401K Loan Issued
    - `firstPaymentDate` string, date-time, nullable: First Payment Date of 401K Loan
  - `costCenters` CostCenterDto[], nullable: An array of objects representing the Cost Centers
    - `level` integer, nullable: Cost center level (Levels are 1-3)
    - `code` string, nullable: Cost Center Code associated with the Level. This must match a Paylocity Cost Center Code
  - `limits` CreateLimitsDto: Limits are used to control the amount of an earning or deduction
    - `goal` number, double, nullable: The Goal is the deduction/earning limit. When deductions/earnings have met the limit, the employee pay deductions/earnings will stop. For payroll, this amount is the lifetime deduction/earning limit. For benefits, this limit amount could be annual.
    - `paidToDate` number, double, nullable: Paid to Date tracks the amount paid toward the Goal. The Paid to Date amount will never be more than the Goal amount
    - `payPeriodMinimum` number, double, nullable: Minimum for the pay period
    - `payPeriodMaximum` number, double, nullable: Maximum for the pay period
    - `annualMaximum` number, double, nullable: Entering an amount in the Annual Maximum field will override the system setting, and you'll need to manually manage the maximum each year. Leave this field blank to keep the system setting.

## Response `201`

Created

- CreateDeductionDtoResponse: A Payroll Deduction code is a unique identifier used by payroll systems to categorize and track specific deductions from an employee's paycheck. These deductions can include taxes, health insurance premiums, retirement contributions, loan repayments, and more. Each type of deduction has its own unique code that allows it to be easily identified and processed by the payroll system. This not only ensures accurate calculations and disbursements, but also helps with record-keeping and reporting requirements.
  - `id` string, uuid: Resource ID of the record.
  - `code` string, nullable: Deduction Code
  - `effectiveFrom` string, date-time, nullable: Effective Date of the Deduction
  - `effectiveTo` string, date-time, nullable: End Date of the Deduction
  - `calculationCode` string, nullable: Calculation Code that Applies to Deduction
  - `rate` number, double, nullable: Rate for the Deduction
  - `frequency` string, nullable: Frequency determines how often the deduction Rate is applied in payroll
  - `agency` string, nullable: Agency Code. These are custom per client
  - `arrear` number, double, nullable: Money that is owed
  - `miscellaneousInfo` string, nullable: Miscellaneous Information
  - `note` string, nullable: Deduction Notes
  - `selfInsured` boolean, nullable: Self-Insured Plan Flag. This will generate Part III of the employee's 1095-C Form
  - `priority` integer, nullable: Priority determines the order in which a deduction is subtracted from gross pay. Priorities 1-4 are reserved for Statutory deductions(necessary by law), while 5-7 are reserved for Voluntary deductions(employee-elected).
  - `loan401K` Loan401KDto: A 401K loan is a type of loan that allows you to borrow money against the balance of your 401K retirement plan, up to a certain limit. It's a way for individuals to access their retirement savings without incurring early withdrawal penalties or taxes. The borrower is expected to repay the loan, typically over five years, through payroll deductions. The values to insert a loan, like Loan Number, and First Payment Date are provided by the record keeper.
    - `loanNumber` string, nullable: 401K Loan Number. Provided by Record Keeper
    - `issueDate` string, date-time, nullable: Date of 401K Loan Issued
    - `firstPaymentDate` string, date-time, nullable: First Payment Date of 401K Loan
  - `costCenters` CostCenterDto[], nullable: An array of objects representing the Cost Centers
    - `level` integer, nullable: Cost center level (Levels are 1-3)
    - `code` string, nullable: Cost Center Code associated with the Level. This must match a Paylocity Cost Center Code
  - `limits` CreateLimitsDto: Limits are used to control the amount of an earning or deduction
    - `goal` number, double, nullable: The Goal is the deduction/earning limit. When deductions/earnings have met the limit, the employee pay deductions/earnings will stop. For payroll, this amount is the lifetime deduction/earning limit. For benefits, this limit amount could be annual.
    - `paidToDate` number, double, nullable: Paid to Date tracks the amount paid toward the Goal. The Paid to Date amount will never be more than the Goal amount
    - `payPeriodMinimum` number, double, nullable: Minimum for the pay period
    - `payPeriodMaximum` number, double, nullable: Maximum for the pay period
    - `annualMaximum` number, double, nullable: Entering an amount in the Annual Maximum field will override the system setting, and you'll need to manually manage the maximum each year. Leave this field blank to keep the system setting.

---

[API](https://skmtc.dev/paylocity/apis/pay-setup-api.md) - [All operations](https://skmtc.dev/paylocity/apis/pay-setup-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paylocity/apis/pay-setup-api/revisions/d588d54cc4b6?raw)
