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

# Partially update a specific part line item for an salesOrder

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

## Path parameters

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

## Response `200`

Part line item

- SalesOrderPartLineItemDto — Represents a part line item on a sales order.
  - `id` string, required — Unique id associated to this entity.
  - `name` string, required — The line item name.
  - `quantity` number, double, required — The line item quantity
  - `price` number, double, required — The line item price.
  - `discountedPrice` number, double, required — The discounted line item price.
  - `dueDate` string, date-time, nullable — Customer delivery date
  - `isTaxable` boolean, required — Dictate if this line item is taxable.
  - `overrideTaxRate` boolean, nullable — Dictate if the tax rate is overridden.
  - `taxCodeId` string, nullable — Tax code key identifier. Please reference /api/tax-rates endpoint.
  - `taxRate` number, double, nullable — Tax rate to use for this entity. If a FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.TaxCodeId is provided, the provided FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.TaxRate will supercede the defined tax rate.
  - `itemId` string, required — Item id associated with this line item.
  - `description` string, nullable — The part line item description. Defaults to the item's description if none specified.
  - `accountingCodeId` string, nullable — Accounting code key identifier. Please reference /api/accounting-codes endpoint.
  - `internalNotes` string, nullable — The line item internal notes. Aka production notes.
  - `externalReferences` object, nullable — Arbitrary key-value-pair like data that can be used to later on search for this line item.
  - `isPercentageDiscount` boolean, nullable — Indicates whether FulcrumProduct.PublicApi.Dto.SalesOrder.PartLineItem.PartLineItemDto.DiscountAmount discount is percentage based (else, it's an absolute amount).
  - `discountAmount` number, double, nullable — The amount of the discount.
  - `links` CommonUrlDto[], nullable — List of links associated with the line item
    - `uri` string, uri, required — The uri to save. e.g. https://fulcrumpro.com
    - `name` string, nullable
  - `customFields` object, nullable — Custom fields that have been defined for the part line item;
  - `parentLineId` string, nullable — Identifier pointing to the parent line item (if this part line was sourced from a blanket line item). Please reference /api/sales-order/{salesOrderId}/blanket-line-items/list endpoint.
  - `subTotal` number, double, required — Total line item cost, including applicable discounts
  - `preDiscountSubTotal` number, double, required — Total line item cost, before discounts
  - `customerPartNumber` string, nullable — The customer's known part line item number.
  - `customerPartDescription` string, nullable — The customer's known part line item description.
  - `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.
  - `isFullyInvoiced` boolean — Indicate if this item has been fully invoiced.
  - `isInvoiced` boolean — Indicate if this item has ANY invoices.
  - `quantityInvoiced` number, double, nullable — Indicate the total quantity that have been invoiced (issued/paid).
  - `quantityOnInvoices` number, double, nullable — Indicate the total quantity that exists on any invoice (including open).
  - `costBreakdown` CommonCostBreakdownDto — Cost breakdown
    - `id` string, required — The id of the parent item.
    - `type` 'estimated' | 'inProgressJob' | 'completedJob' | 'cancelledJob', required
    - `quantity` integer, required — Number of units.
    - `quantityScrapped` integer, nullable — Number of units scrapped.
    - `calculatedOn` string, date-time, required — When was this cost breakdown last calculated/aggregated.
    - `time` CommonTimeDto, required — Time information
      - `labor` number, double, required — Total
      - `machine` number, double, required — Cost per unit
      - `setup` number, double, required — Cost per unit
    - `cumulative` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `cumulativeMaterial` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `cumulativeLabor` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `cumulativeMachine` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `cumulativeOutsideProcessing` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `itemMaterial` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `itemLabor` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `itemMachine` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `itemOutsideProcessing` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `shopRateSetup` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `shopRateRun` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `shopRateMachine` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `componentMaterial` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `componentLabor` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `componentMachine` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `componentOutsideProcessing` CommonCostDto, required — Cost information
      - `total` number, double, required — Total
      - `perUnit` number, double, required — Cost per unit
    - `lines` CommonCostBreakdownLineDto[], required — Cost breakdown line details.
      - `costType` 'material' | 'labor' | 'setup' | 'machine' | 'outsideProcessing' | 'componentMaterial' | 'componentLabor' | 'componentMachine' | 'componentOutsideProcessing' | 'nestPartMaterialUsage' | 'nestPartMaterialScrap' | 'overhead' | 'unknown', required — Cost breakdown types
      - `operationType` 'labor' | 'setup' | 'machine' | 'outsideProcessing' — Operation type
      - `name` string, required — Decription of this line.
      - `cost` number, double, required — Cost.
      - `quantity` number, double, nullable — Quantity (if applicable)
      - `itemId` string, nullable — Id of the item that was picked. Please reference /api/items endpoint.
      - `itemName` string, nullable — The name of the item that was picked.
      - `accountingCodeId` string, nullable — Accounting code affected. Please reference /api/accounting-codes endpoint.
      - `operationInformation` CommonCostBreakdownOperationDto — Operation information
        - `operationId` string, required — Operation id. Please reference /api/operations
        - `name` string, nullable — Operation name.
        - `timeInSeconds` number, double, nullable — Time in seconds.
        - `timeInHours` number, double, nullable — Time in hours
        - `ratePerSecond` number, double, nullable — Rate per second
        - `ratePerHour` number, double, nullable — Rate per hour

## Other responses

- `404` — SalesOrder or line item did not exist

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/versions/1b5649cff14a/schema)
