> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmbr.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Presets

> Define reusable sets of properties for entities

## Introduction

Business Presets are a Nmbr feature that allow you to

* define a reusable set of properties for entities including allowances, deductions, earnings, employee and employer benefits, reimbursements, pay rates, overtime rates, and line items

* apply those properties to many entities

* ensure the values of those properties can *only* be changed through the preset and not through the entity

* group line items consistently for reporting purposes

## Supported Properties

Business Presets currently support the following properties:

* `name`: The name of the preset. The preset name is displayed in the component when listing or selecting presets. The name may also be displayed on pay stubs or reports when line items are grouped by preset, as the line items may have different `title` values.

* `type`: The type of entity the preset can be applied to.

  > `type` must be one of
  >
  > * `earning` (for earnings, pay rates, overtime rates, and earning line items)
  > * `allowance`
  > * `employee_benefit`
  > * `employer_benefit`
  > * `deduction`
  > * `reimbursement`

* `subtype`: The sub-type of entity the preset can be applied to.

  > If not set, the preset can be applied to any recurrence or line item of the specified `type`. If set, `subtype` must be one of the type values for the specified `type`. For example:
  >
  > * If `type` is `earning`, `subtype` must be an [earning type](/api-reference/earning-types/list-earning-types) (`salary`, `wage`, etc)
  > * If `type` is `allowance`, `subtype` must be an [allowance type](/api-reference/allowance-types/list-allowance-types) (`taxable_cash_allowance`, `automobile_and_motor_vehicle`, etc).
  > * etc
  >
  > ⚠️ Pay rates and earning line items have different type values for hourly wages. Pay rates use the value `hourly` while earning line items use `wage`. Presets use the earning line item type, i.e. `wage`.
  >
  > ⚠️ Overtime rates don't have their own `type`. An overtime rate's preset must be of the same type as the overtime rate's pay rate.

* `label`: The label to apply to the entity.

* `remittance_account_id`: The remittance account to sync to the entity.

  > ⚠️ Only benefit and deduction types have remittance accounts. Other types will ignore this property.

* `expense_accounting_code_id` and `liability_accounting_code_id`: The accounting codes to sync to the entity.

## Usage

### Creating Business Presets

Business Presets are created as follows:

```
POST /services/payroll/business_presets

{
  "type": "allowance",
  "subtype": "automobile_and_motor_vehicle",
  "name": "Car Allowance (2025 mid-year)",
  "label": "Car Allowance",
  ...other Business Preset properties...
}
```

### Creating entities with Business Presets

A new entity can be created with a Business Preset by including the `business_preset_id` property in the create request. For example, when creating an allowance:

```
POST /services/payroll/allowances

{
  "business_preset_id": "<id>",
  ...other allowance properties...
}
```

Any property values set on the Business Preset will be copied to the newly-created entity.

### Importing hours with a Business Preset

To target a preset while importing hours, send its ID as `business_preset_id` on the earning entry in a `POST /payrolls/{payroll}/hours` request. The preset must be an earning preset that is compatible with the entry's earning type.

See [Importing Hours](/guides/payroll-fundamentals/importing-hours) for the request shape and matching behaviour.

### Adding a Business Preset to an existing entity

An existing entity can have a Business Preset added to it by including the `business_preset_id` property in an update request. For example, when updating an allowance:

```
PUT /services/payroll/allowances/alw_01K2Q0T546RAHGJHV9WNWNE4GW

{
  "business_preset_id": "<id>",
}
```

Any property values set on the Business Preset will be copied to the updated entity, overwriting the existing values for those properties on the entity.

### Removing a Business Preset from an existing entity

An existing entity can have a Business Preset removed from it by including the `business_preset_id` property in an update request with the value `null`. For example, when updating an allowance:

```
PUT /services/payroll/allowances/alw_01K2Q0T546RAHGJHV9WNWNE4GW

{
  "business_preset_id": null,
}
```

Any properties values previously copied from the Business Preset will remain on the updated entity, but will become editable and will no longer be synced from the Business Preset.

### Updating Business Presets

Business Presets are updated as follows:

```
PUT /services/payroll/business_presets/<id>

{
  "label": "Vehicle Allowance",
  ...other Business Preset properties...
}
```

ℹ️ The `type` and `subtype` properties can't be updated as they could change the types of entities that can be associated with the preset, invalidating entities already associated with the Business Preset.

The updated values will cascade down from the Business Preset to the entities associated with it automatically.

ℹ️ Line items on non-draft payrolls will **not** be updated as this would change historical pay stubs and remittances.

All updated values will cascade down from the Business Preset to associated entities, keeping the entities in-sync with the Business Preset.

### Deleting Business Presets

Business Presets are deleted as follows:

```
DELETE /services/payroll/business_presets/<id>
```

By default, deleting a Business Preset will keep any values synced from the Business Preset to associated entities. An optional `keep_existing_values` query string parameter can be supplied to control this behavior.

| `keep_existing_values` | Behavior                                                                 |
| ---------------------- | ------------------------------------------------------------------------ |
| `all` (default)        | Keep all existing values on associated entities. Don't clear any values. |
| `none`                 | Don't keep any existing values on associated entities. Clear all values. |

After the Business Preset is deleted, previously associated entities will be fully editable.
