> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.deel.com/cli/reference/adjustments/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.deel.com/_mcp/server. # deel adjustments > Command reference for the adjustments group of the Deel CLI The **Operation** column shows the Deel API operation each command calls; the command requires the same token scopes as that operation. Request fields are validated before a request is sent. | Command | Operation | Description | | --------------------------------------------------------------------------------- | -------------------------------- | ------------------------------------------------- | | [`deel adjustments create --invoice`](#deel-adjustments-create-invoice) | `POST /adjustments/invoice` | Create a single invoice adjustment | | [`deel adjustments create --payroll`](#deel-adjustments-create-payroll) | `POST /adjustments/payroll` | Create a payroll adjustment | | [`deel adjustments create-bulk --invoice`](#deel-adjustments-create-bulk-invoice) | `POST /adjustments/invoice/bulk` | Create invoice adjustments in bulk (asynchronous) | | [`deel adjustments create-bulk --payroll`](#deel-adjustments-create-bulk-payroll) | `POST /adjustments/payroll/bulk` | Process bulk payroll adjustments (asynchronous) | All commands accept the [global options](/cli/reference/global-options). Run `deel --help --json` to output the contract as JSON. ## deel adjustments create Select the operation with one of `--invoice`, `--payroll`. ### deel adjustments create --invoice Create a single invoice adjustment. Calls `POST /adjustments/invoice`. **`Usage`** ```bash title="Usage" deel adjustments create --invoice [GLOBAL OPTIONS] [--input ] ``` #### Request body Pass the request body with `--input`. It's required: omitting it exits with `usage.body` (the usage line above brackets it only to match `deel --help`). | Field | Type | Required | Description | | ------------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | string | Yes | Invoice adjustment category that determines business rules and downstream invoicing behavior. Allowed values: `BONUS`, `COMMISSION`, `DEDUCTION`, `EXPENSE`, `OTHER`, `OVERTIME`, `TIME_OFF`, `VAT`. | | `amount` | number | Yes | Monetary amount to apply for this invoice adjustment, expressed in the contract currency as a positive number. | | `group_key` | string | No | When provided, invoice adjustments sharing the same group\_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is\_auto\_approved to be true. | | `contract_id` | string | Yes | Unique Deel contract identifier (public id) that receives this invoice adjustment line item. | | `description` | string | Yes | Detailed human-readable explanation that appears on invoices and audit records visible to both parties. | | `is_recurring` | boolean | No | Add this invoice adjustment as recurring. | | `date_submitted` | string | Yes | Submission date in ISO-8601 short-date format (YYYY-MM-DD) used for filtering, reporting, and approvals. | | `is_auto_approved` | boolean | No | When true, the created invoice adjustment skips manual approval and is approved immediately on creation. | | `payment_cycle_id` | string | No | Public id (UUID) of the active payment cycle required when creating VAT-related invoice adjustment entries against a specific cycle. | | `hourly_report_preset_id` | string | No | Identifier of an existing hourly report preset used to link standardized rate and scale metadata to this entry. | #### Response The envelope `data` is an object with the following fields. | Field | Type | Description | | --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `status` | string | Current processing status assigned to the invoice adjustment after the create workflow finishes executing. Allowed values: `approved`, `declined`, `not_payable`, `paid`, `pending`, `processing`. | | `created_at` | string | ISO-8601 timestamp recording the exact moment the invoice adjustment was created in the system. | | `is_created` | boolean | Indicates whether the invoice adjustment record was successfully created by this request. | | `adjustment_id` | string | Unique identifier returned for the created invoice adjustment resource after persistence succeeds. | #### Example ```bash deel adjustments create --invoice --env demo \ --input type=BONUS,amount=500,contract_id=con_01H8X3K9,description=Q3 performance bonus,date_submitted=2026-09-01 ``` #### Example output ```json { "data": { "status": "pending", "created_at": "2026-09-01", "is_created": true, "adjustment_id": "adj_01H8X4M2" }, "meta": { "request_id": "3f1c9a52-7b04-4e1a-9a8c-2d5f8e1b0c77" } } ``` Run `deel adjustments create --invoice --generate-input` for a skeleton that includes every field. ### deel adjustments create --payroll Create a payroll adjustment. Calls `POST /adjustments/payroll`. **`Usage`** ```bash title="Usage" deel adjustments create --payroll [GLOBAL OPTIONS] [--input ] ``` #### Request body Pass the request body with `--input`. It's required: omitting it exits with `usage.body` (the usage line above brackets it only to match `deel --help`). | Field | Type | Required | Description | | --------------------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `type` | string | Yes | Adjustment category name, resolved against GET /adjustments/categories for the contract type. | | `title` | string | Yes | Title of the adjustment. | | `amount` | number | Yes | Adjustment amount. | | `vendor` | string | Yes | Vendor of the adjustment. | | `country` | string | Yes | ISO-3166-1 alpha-2 country code; determines currency, matching existing UI behaviour. | | `contract_id` | string | Yes | Deel contract the adjustment applies to. Must resolve to an EOR or Global Payroll contract type. | | `description` | string | Yes | Description of the adjustment. | | `cycle_reference` | string | No | Cycle reference of the adjustment. | | `date_of_adjustment` | string | No | Short date in format ISO-8601 (YYYY-MM-DD). | | `submitter_profile_id` | integer | No | The identifier of the profile that submits the adjustment. When omitted, the adjustment is attributed to the profile resolved from the API token. | | `should_move_to_next_cycle` | boolean | No | If the adjustment can belong to another payroll cycle. | #### Response The envelope `data` is an object with the following fields. | Field | Type | Description | | --------------- | ------ | --------------------------------------------------------------------------------------------------- | | `status` | string | Processing status assigned to the adjustment after creation. | | `created_at` | string | ISO-8601 timestamp recording when the adjustment was created. | | `adjustment_id` | string | Unique identifier returned for the created payroll adjustment resource. | | `contract_type` | string | Resolved contract type the adjustment was applied against. Allowed values: `EOR`, `GLOBAL_PAYROLL`. | #### Example ```bash deel adjustments create --payroll --env demo \ --input type=Bonus,title=September bonus,amount=500,vendor=Acme Ltd,country=DE,contract_id=con_01H8X3K9,description=Q3 performance bonus ``` #### Example output ```json { "data": { "status": "pending", "created_at": "2026-09-01", "adjustment_id": "adj_01H8X4M2", "contract_type": "EOR" }, "meta": { "request_id": "3f1c9a52-7b04-4e1a-9a8c-2d5f8e1b0c77" } } ``` Run `deel adjustments create --payroll --generate-input` for a skeleton that includes every field. ## deel adjustments create-bulk Select the operation with one of `--invoice`, `--payroll`. ### deel adjustments create-bulk --invoice Create invoice adjustments in bulk. Calls `POST /adjustments/invoice/bulk`. The operation is asynchronous: follow it with [`deel job status`](/cli/reference/job#deel-job-status) using the `job_id` from the response. **`Usage`** ```bash title="Usage" deel adjustments create-bulk --invoice [GLOBAL OPTIONS] [--input ] ``` #### Request body Pass the request body with `--input` as a JSON array of at most 50 items, where each item is shaped as follows: | Field | Type | Required | Description | | --------------------------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `request` | object | Yes | — | | `request.type` | string | Yes | Invoice adjustment category that determines business rules and downstream invoicing behavior. Allowed values: `BONUS`, `COMMISSION`, `DEDUCTION`, `EXPENSE`, `OTHER`, `OVERTIME`, `TIME_OFF`, `VAT`. | | `request.amount` | number | Yes | Monetary amount to apply for this invoice adjustment, expressed in the contract currency as a positive number. | | `request.group_key` | string | No | When provided, invoice adjustments sharing the same group\_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is\_auto\_approved to be true. | | `request.contract_id` | string | Yes | Unique Deel contract identifier (public id) that receives this invoice adjustment line item. | | `request.description` | string | Yes | Detailed human-readable explanation that appears on invoices and audit records visible to both parties. | | `request.is_recurring` | boolean | No | Add this invoice adjustment as recurring. | | `request.date_submitted` | string | Yes | Submission date in ISO-8601 short-date format (YYYY-MM-DD) used for filtering, reporting, and approvals. | | `request.is_auto_approved` | boolean | No | When true, the created invoice adjustment skips manual approval and is approved immediately on creation. | | `request.payment_cycle_id` | string | No | Public id (UUID) of the active payment cycle required when creating VAT-related invoice adjustment entries against a specific cycle. | | `request.hourly_report_preset_id` | string | No | Identifier of an existing hourly report preset used to link standardized rate and scale metadata to this entry. | | `external_id` | string | Yes | Client-generated correlation id for an adjustment item. Reuse the same external\_id on a later request to link back to the same logical adjustment. This should be provided by client. | #### Response The envelope `data` is an object with the following fields. | Field | Type | Description | | --------------------- | ------ | ------------------------------------------------------------------------------------------------- | | `items` | array | — | | `items[].status` | string | Initial status when first submitted. Allowed values: `PENDING`, `RUNNING`, `SUCCEEDED`, `FAILED`. | | `items[].external_id` | string | The client-supplied correlation id echoed back. | | `job_id` | string | Identifier for this operation. Pass to GET /jobs/:job\_id to poll the outcome of each item. | #### Example ```bash deel adjustments create-bulk --invoice --env demo \ --input file://adjustments-create-bulk-invoice.json ``` **`adjustments-create-bulk-invoice.json`** ```json title="adjustments-create-bulk-invoice.json" [ { "request": { "type": "BONUS", "amount": 500, "contract_id": "con_01H8X3K9", "description": "Q3 performance bonus", "date_submitted": "2026-09-01" }, "external_id": "payroll-2026-09-0001" } ] ``` #### Example output ```json { "data": { "items": [ { "status": "PENDING", "external_id": "payroll-2026-09-0001" } ], "job_id": "7f3c9b1e-2d84-4a51-9c07-1b5e8a0f3d62" }, "meta": { "request_id": "3f1c9a52-7b04-4e1a-9a8c-2d5f8e1b0c77" } } ``` Run `deel adjustments create-bulk --invoice --generate-input` for a skeleton that includes every field. ### deel adjustments create-bulk --payroll Process bulk payroll adjustments. Calls `POST /adjustments/payroll/bulk`. The operation is asynchronous: follow it with [`deel job status`](/cli/reference/job#deel-job-status) using the `job_id` from the response. **`Usage`** ```bash title="Usage" deel adjustments create-bulk --payroll [GLOBAL OPTIONS] [--input ] ``` #### Request body Pass the request body with `--input`. It's required: omitting it exits with `usage.body` (the usage line above brackets it only to match `deel --help`). | Field | Type | Required | Description | | ------- | ----- | -------- | ----------------------------------------------------------------------------------------------------------------- | | `items` | array | Yes | Up to 50 adjustments to submit as one batch; each external\_id must be unique within the batch. At most 50 items. | #### Response The envelope `data` is an object with the following fields. | Field | Type | Description | | --------------------- | ------ | ------------------------------------------------------------------------------------------------- | | `items` | array | — | | `items[].status` | string | Initial status when first submitted. Allowed values: `PENDING`, `RUNNING`, `SUCCEEDED`, `FAILED`. | | `items[].external_id` | string | The client-supplied correlation id echoed back. | | `job_id` | string | Identifier for this operation. Pass to GET /jobs/:job\_id to poll the outcome of each item. | #### Example ```bash deel adjustments create-bulk --payroll --env demo \ --input file://adjustments-create-bulk-payroll.json ``` **`adjustments-create-bulk-payroll.json`** ```json title="adjustments-create-bulk-payroll.json" { "items": [] } ``` #### Example output ```json { "data": { "items": [ { "status": "PENDING", "external_id": "payroll-2026-09-0001" } ], "job_id": "7f3c9b1e-2d84-4a51-9c07-1b5e8a0f3d62" }, "meta": { "request_id": "3f1c9a52-7b04-4e1a-9a8c-2d5f8e1b0c77" } } ``` Run `deel adjustments create-bulk --payroll --generate-input` for a skeleton that includes every field. > Build apps and integrations that extend and enhance the Deel services.