---
title: "Partially update a specific fee line item for a sales order"
method: PATCH
path: "/api/sales-orders/{salesOrderId}/fee-line-items/{lineItemId}"
tags: ["Sales Order Fee Line Item"]
---

# Partially update a specific fee line item for a sales order

`PATCH /api/sales-orders/{salesOrderId}/fee-line-items/{lineItemId}`

## Path parameters

- `salesOrderId` string, required
- `lineItemId` string, required

## Response `200`

Fee line item

- SalesOrderFeeLineItemDto — Represents a fee line item on a sales order.
  - `id` string, required — Unique id associated to this entity.
  - `name` string, nullable — Verbose name for this entity.
  - `description` string, nullable — Verbose description for this entity.
  - `quantity` number, double, nullable — The line item quantity
  - `price` number, double, required — The line item price.
  - `unitOfMeasure` 'notApplicable' | 'piece' | 'linearFeet' | 'hour' | 'yard' — Line item unit of measure.
  - `accountingCodeId` string, nullable — Accounting code key identifier. Please reference /api/accounting-codes endpoint.
  - `isTaxable` boolean, nullable — Dictate if this fee is taxable.
  - `overrideTaxRate` boolean, nullable — Dictate if the tax rate is overridden.
  - `taxCodeId` string, nullable — Tax code key identifier.
  - `taxRate` number, double, nullable — Tax code to use for this entity. If a FulcrumProduct.PublicApi.Dto.SalesOrder.FeeLineItem.FeeLineItemDto.TaxCodeId is provided and FulcrumProduct.PublicApi.Dto.SalesOrder.FeeLineItem.FeeLineItemDto.OverrideTaxRate = true, the provided FulcrumProduct.PublicApi.Dto.SalesOrder.FeeLineItem.FeeLineItemDto.TaxRate will supercede the defined tax rate.
  - `externalReferences` object, nullable — Arbitrary key-value-pair like data that can be used to later on search for this line item.
  - `number` integer — Line number
  - `accountingDetails` CommonAccountingDetailsDto, required — An object that contains all accounting details.
    - `classId` string, nullable — Item class identifier. Please reference /api/item-classes endpoint.
    - `incomeAccountId` string, nullable — Income account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
    - `assetAccountId` string, nullable — Asset account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
    - `expenseAccountId` string, nullable — Expense account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.
    - `cogsAccountId` string, nullable — COGS account (chart of accounts) key identifier. Please reference /api/chart-of-accounts endpoint.

## Other responses

- `400` — The patch could not be applied — the patch document is malformed (an unknown path, an unsupported operation, or a value the target field cannot hold), or the patched result failed validation
- `404` — Sales order or line item did not exist

## Changes

- **2026-09-24** `d743ab8b105f` — 1 breaking, 1 info
  - the `items/value` request property type changed from `string` to no type
  - added the new optional request property `items/from`
- **2026-09-11** `c00251431237` — 1 info
  - added the non-success response with the status `400`

[Change history](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/changes/api/sales-orders/:salesOrderId/fee-line-items/:lineItemId/patch.md)

---

[API](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc.dev/fulcrumpro/apis/fulcrum-publicapi/revisions/df59e1af68d7?raw)
