---
title: "Create Billing Codes"
method: POST
path: "/compliance/v1/companies/{companyId}/clientOnboarding/billing"
tags: ["Client Onboarding"]
---

# Create Billing Codes

`POST /compliance/v1/companies/{companyId}/clientOnboarding/billing`

## Request

- Base URL: `dc1demogwext.paylocity.com` (relative, and the document’s source URL is not known)
- URL: `dc1demogwext.paylocity.com/compliance/v1/companies/{companyId}/clientOnboarding/billing`
- Auth: API key in header `Authorization`

> 🚧 Partner Restricted
> All background check API endpoints are restricted to background check providers that have signed a Paylocity technology partnership agreement. [Please reach out to our team](https://www.paylocity.com/contact/partner-form/) if you would like to discuss partnership opportunities.

**Summary Description**

This endpoint inserts the billing code and its status by companyId for a given client

**Use Cases**

- Partner wants to send over one or multiple billing codes for a client, can be when onboarding a new client, or can be when client adds new billing codes to their company
- Partner wants to add Business Unit links to new billing codes when they are created

This endpoint only creates new billing codes. To change the status of an existing billing code, use the Update Billing Code Status endpoint (PATCH).

## Path parameters

- `companyId` string, required

## Headers

- `testMode` boolean
- `Authorization` string, required

## Request body

- AddBillingCodeRequest: Billing code request payload.
  - `billingCodes` BillingCodeDto[], nullable: Array of new billing codes to create. Billing codes that already exist for the company are rejected with 400 Bad Request; to change the status of an existing billing code, use the Update Billing Code Status endpoint (PATCH).
    - `billingCode` string, nullable: Billing code associated with the screening order. This billing code is created on the partner side for a specific company. **Allowable Values:** 150 char max
    - `isActive` boolean: (Optional, if not provided – TRUE) A Boolean value indicating if the billing code is active. **Allowable Values:** true, false
    - `businessUnitId` string, nullable: (Optional, deprecated) Single Business Unit ID to associate this billing code with. Prefer `businessUnitIds` (plural), which supports reusing a billing code across several business units. On read this returns the first associated Business Unit ID (or null). On write it is treated as a single-element list; when `businessUnitIds` is also provided, the plural field takes precedence. **Allowable Values:** 150 char max
    - `businessUnitIds` string[], nullable: (Optional) Business Unit IDs to associate this billing code with. A billing code can be reused across several business units. An empty or absent list means the billing code is global (usable everywhere). These associations determine the effective business units of any screening package attached to this billing code: when a package has a billing code, the package's business unit is derived from the billing code and any business unit set directly on the package is ignored. **Allowable Values:** each value 150 char max

## Response `201`

Created entity.

## Other responses

- `400`: Bad Request Error - Returns the details of the error
- `401`: Unauthorized
- `415`: Unsupported Media Type - Returns the details of the error

---

[API](https://skmtc.dev/paylocity/apis/background-check-api.md) - [All operations](https://skmtc.dev/paylocity/apis/background-check-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paylocity/apis/background-check-api/revisions/8d585de5e05e?raw)
