---
title: "Update Expense Review Process"
method: PUT
path: "/business/v2/expense-review/processes/{processId}"
tags: ["Expense Review Processes"]
---

# Update Expense Review Process

`PUT /business/v2/expense-review/processes/{processId}`

Be aware that any change made on the steps of an `ExpenseReviewProcess` configuration is not applied to already existing transactions. If you need to apply the changes to already existing transactions, you can use the [Recalculate Expense Review Processes](ref:expense-review-process-recalculate) endpoint. Also, the object returned upon update might have a different ID.

## Path parameters

- `processId` string, required — The `ExpenseReviewProcess` ID.

## Request body

- UpdateExpenseReviewProcess — Update ExpenseReviewProcessStatus JSON parameters.
  - `name` string, required — The name of the `ExpenseReviewProcess`.
  - `description` string, required — The description of the `ExpenseReviewProcess`.
  - `conditions` ExpenseReviewProcessCondition[], required — The conditions a transaction needs to match in order to be included in the `ExpenseReviewProcess`.
    - `type` 'COMPANY_CARD' | 'COMPANY_WALLET' | 'EXPENSE_CATEGORY' | 'EXPENSE_TYPE' | 'MAIN_WALLET' | 'ONLINE_ADS_CARD' | 'OUT_OF_PLATFORM_COMPANY' | 'OUT_OF_PLATFORM_PERSONAL' | 'PURCHASE' | 'SUBSCRIPTION_CARD' | 'TAG' | 'USER' | 'USER_CARD', required
    - `value` string[], required — One or more values which identify the type of condition. In case of type `OUT_OF_PLATFORM_COMPANY`, `OUT_OF_PLATFORM_PERSONAL` and `PURCHASE` the value must be `ALL`. In case of `EXPENSE_TYPE` the accepted values are: `COMPANY`, `PERSONAL`, `TRAVEL_AND_ENTERTAINMENT`. In case of `ONLINE_ADS_CARD` and `SUBSCRIPTION_CARD` it’s the ID of the corresponding card. In all the other cases it’s the public ID of the resource as returned by the corresponding endpoint.
  - `steps` ExpenseReviewProcessStep[], required — The approval steps a transaction needs to go through in order to be reviewed.
    - `step_number` integer, required — A number which identifies the order of the step. The first step should start with `1`, the following steps number should be previous `step_number + 1` without any gap.
    - `reviewer_type` 'LINE_MANAGER' | 'ROLE' | 'USER', required
    - `reviewer_info` ExpenseReviewProcessReviewerInfo
      - `id` string[], required — The ID of the reviewer as returned by the corresponding endpoint (only required in case of reviewer of type `ROLE` and `USER`).
    - `automation_rule` ExpenseReviewProcessAutomationRule
      - `expense_status` 'APPROVED' | 'PARTIALLY_APPROVED' | 'DECLINED', required
      - `required_info` boolean, required — A boolean to define whether a transaction should have all the required info (as defined on the Reminders feature) completed.
      - `amount_condition` ExpenseReviewProcessAmountCondition
        - `amount` number, required — The amount a transaction must exceed / not exceed in order to satisfy the condition.
        - `operator` 'HIGHER_EQUAL' | 'LOWER_EQUAL', required

## Response `200`

The result is a single `ExpenseReviewProcess`.

- ExpenseReviewProcess
  - `id` string — The `ExpenseReviewProcess` id.
  - `name` string, required — The name of the`ExpenseReviewProcess`.
  - `description` string, required — A textual description of the `ExpenseReviewProcess`.
  - `steps_count` integer, required — The total number of approval steps.
  - `priority` integer — The order of priority in which the `ExpenseReviewProcess` will be executed.
  - `status` 'ACTIVE' | 'INACTIVE', required
  - `conditions` ExpenseReviewProcessCondition[], required — The conditions a transaction needs to match in order to be included in the `ExpenseReviewProcess`.
    - `type` 'COMPANY_CARD' | 'COMPANY_WALLET' | 'EXPENSE_CATEGORY' | 'EXPENSE_TYPE' | 'MAIN_WALLET' | 'ONLINE_ADS_CARD' | 'OUT_OF_PLATFORM_COMPANY' | 'OUT_OF_PLATFORM_PERSONAL' | 'PURCHASE' | 'SUBSCRIPTION_CARD' | 'TAG' | 'USER' | 'USER_CARD', required
    - `value` string[], required — One or more values which identify the type of condition. In case of type `OUT_OF_PLATFORM_COMPANY`, `OUT_OF_PLATFORM_PERSONAL` and `PURCHASE` the value must be `ALL`. In case of `EXPENSE_TYPE` the accepted values are: `COMPANY`, `PERSONAL`, `TRAVEL_AND_ENTERTAINMENT`. In case of `ONLINE_ADS_CARD` and `SUBSCRIPTION_CARD` it’s the ID of the corresponding card. In all the other cases it’s the public ID of the resource as returned by the corresponding endpoint.
  - `steps` ExpenseReviewProcessStep[], required — The approval steps a transaction needs to go through in order to be reviewed.
    - `step_number` integer, required — A number which identifies the order of the step. The first step should start with `1`, the following steps number should be previous `step_number + 1` without any gap.
    - `reviewer_type` 'LINE_MANAGER' | 'ROLE' | 'USER', required
    - `reviewer_info` ExpenseReviewProcessReviewerInfo
      - `id` string[], required — The ID of the reviewer as returned by the corresponding endpoint (only required in case of reviewer of type `ROLE` and `USER`).
    - `automation_rule` ExpenseReviewProcessAutomationRule
      - `expense_status` 'APPROVED' | 'PARTIALLY_APPROVED' | 'DECLINED', required
      - `required_info` boolean, required — A boolean to define whether a transaction should have all the required info (as defined on the Reminders feature) completed.
      - `amount_condition` ExpenseReviewProcessAmountCondition
        - `amount` number, required — The amount a transaction must exceed / not exceed in order to satisfy the condition.
        - `operator` 'HIGHER_EQUAL' | 'LOWER_EQUAL', required

## Other responses

- `400` — Your request has missing arguments or is malformed.
- `404` — One or more resource requested does not exist.

---

[API](https://skmtc.net/soldo/apis/soldo-business-api-v2-0.md) · [All operations](https://skmtc.net/soldo/apis/soldo-business-api-v2-0/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/soldo/soldo-business-api-v2-0/revisions/7be21448a2b3/schema)
