QuickBooks Inventory Adjustment API

InventoryAdjustment provides a way for customers to change the quantity of inventory items for various reasons, such as damage, stock write-off, shrinkage, or expiration. The change in quantity automatically handles the underlying accounting and valuation. Customers can view and verify the inventory quantity and valuation using the Inventory Valuation Report in QuickBooks Online. This functionality is available for QuickBooks Online Plus and advanced SKUs in the US.

Operations 2

POST /v3/company/{realmID}/inventoryadjustment Create an inventory adjustment / Delete an inventory adjustment / Update an… #
GET /v3/company/{realmID}/inventoryadjustment/{inventoryadjustmentId} Read an inventory adjustment #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/quickbooks:quickbooks-inventoryadjustment-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

quickbooks-inventoryadjustment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: QuickBooks Online Accounting Inventory Adjustment API
  version: '2026-11-05'
  description: QuickBooks Online Accounting API (v3). Entities, reports, query, batch and change-data-capture operations for a QuickBooks Online company (realmId). Generated from the JSON Intuit's API Explorer renders; Intuit publishes no OpenAPI document.
  termsOfService: https://developer.intuit.com/app/developer/qbo/docs/legal-agreements/intuit-terms-of-service-for-intuit-developer-services
  contact:
    name: Intuit Developer Support
    url: https://help.developer.intuit.com/s/
  x-generated-from: documentation
  x-generator: convert-intuit-api-explorer.py (deterministic conversion of the provider's API Explorer JSON; no model)
  x-source:
  - https://static.developer.intuit.com/JSONObjects/EntityJsonObject_v1.json
  - https://static.developer.intuit.com/JSONObjects/CodesModelsJsonObjects_v2.json
  - https://static.developer.intuit.com/JSONObjects/TocJsonObject_v1.json
  x-generated: '2026-11-05'
servers:
- url: https://quickbooks.api.intuit.com
  description: Production
- url: https://sandbox-quickbooks.api.intuit.com
  description: Sandbox
security:
- oauth2:
  - com.intuit.quickbooks.accounting
tags:
- name: InventoryAdjustment
  description: InventoryAdjustment provides a way for customers to change the quantity of inventory items for various reasons, such as damage, stock write-off, shrinkage, or expiration. The change in quantity automatically handles the underlying accounting and valuation. Customers can view and verify the inventory quantity and valuation using the Inventory Valuation Report in QuickBooks Online. This functionality is available for QuickBooks Online Plus and advanced SKUs in the US.
paths:
  /v3/company/{realmID}/inventoryadjustment:
    post:
      operationId: createInventoryAdjustment
      summary: Create an inventory adjustment / Delete an inventory adjustment / Update an…
      tags:
      - InventoryAdjustment
      x-source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/inventoryadjustment
      x-intuit-operation: POST /v3/company/<realmID>/inventoryadjustment
      description: 'Creates a new inventory adjustment


        **Delete an inventory adjustment** (POST /v3/company//inventoryadjustment?operation=delete): Deletes the inventory adjustment object specified in the request body. Include a minimum of InventoryAdjustment.Id and InventoryAdjustment.SyncToken in the request body.


        **Update an inventory adjustment** (POST /v3/company//inventoryadjustment): This operation updates the inventoryadjustment object specified in the request body. Include a minimum of InventoryAdjustment.Id and InventoryAdjustment.SyncToken in the request body.


        Note: The sparse attribute must be set to true.'
      parameters:
      - name: realmID
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/inventoryadjustmentcreaterequest'
              - $ref: '#/components/schemas/inventoryadjustmentdeleterequest'
              - $ref: '#/components/schemas/inventoryadjustmentrequest'
        required: true
        description: The minimum elements to create an inventoryadjustment object are listed here.
      responses:
        '200':
          description: Returns the newly created inventoryadjustment object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventoryadjustmentresponse'
        '400':
          $ref: '#/components/responses/Fault'
        '401':
          $ref: '#/components/responses/Fault'
        '429':
          $ref: '#/components/responses/Throttled'
      security:
      - oauth2:
        - com.intuit.quickbooks.accounting
      x-intuit-variants:
      - name: Delete an inventory adjustment
        operationId: deleteInventoryAdjustment
        x-source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/inventoryadjustment
        x-intuit-operation: POST /v3/company/<realmID>/inventoryadjustment?operation=delete
        description: Deletes the inventory adjustment object specified in the request body. Include a minimum of InventoryAdjustment.Id and InventoryAdjustment.SyncToken in the request body.
        requestSchema:
          $ref: '#/components/schemas/inventoryadjustmentdeleterequest'
      - name: Update an inventory adjustment
        operationId: updateInventoryAdjustment
        x-source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/inventoryadjustment
        x-intuit-operation: POST /v3/company/<realmID>/inventoryadjustment
        description: 'This operation updates the inventoryadjustment object specified in the request body. Include a minimum of InventoryAdjustment.Id and InventoryAdjustment.SyncToken in the request body.


          Note: The sparse attribute must be set to true.'
        requestSchema:
          $ref: '#/components/schemas/inventoryadjustmentrequest'
  /v3/company/{realmID}/inventoryadjustment/{inventoryadjustmentId}:
    get:
      operationId: readInventoryAdjustment
      summary: Read an inventory adjustment
      tags:
      - InventoryAdjustment
      x-source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/inventoryadjustment
      x-intuit-operation: GET /v3/company/<realmID>/inventoryadjustment/<inventoryadjustmentId>
      description: Retrieves the details of an inventoryadjustment object that has been previously created.
      parameters:
      - name: realmID
        in: path
        required: true
        schema:
          type: string
      - name: inventoryadjustmentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Returns the inventoryadjustment object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inventoryadjustmentresponse'
        '400':
          $ref: '#/components/responses/Fault'
        '401':
          $ref: '#/components/responses/Fault'
        '429':
          $ref: '#/components/responses/Throttled'
      security:
      - oauth2:
        - com.intuit.quickbooks.accounting
components:
  schemas:
    referencetype:
      type: object
      title: referencetype
      properties:
        name:
          type: string
          description: An identifying name for the object being referenced by value and is derived from the field that holds the common name of that object. This varies by context and specific type of object referenced. For example, references to a Customer object use Customer.DisplayName to populate this field. Optionally returned in responses, implementation dependent.
          x-intuit-required: Optional
        value:
          type: string
          description: The ID for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.
          x-intuit-required: Required
      required:
      - value
    IntuitFault:
      type: object
      properties:
        Fault:
          type: object
          properties:
            type:
              type: string
              enum:
              - ValidationFault
              - SystemFault
              - AuthenticationFault
              - AuthorizationFault
            Error:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                  element:
                    type: string
                  Message:
                    type: string
                  Detail:
                    type: string
        time:
          type: string
          format: date-time
    inventoryadjustmentresponse:
      type: object
      title: inventoryadjustmentresponse
      properties:
        DocNumber:
          type: string
          description: Reference number for the transaction.
          x-intuit-required: Required for create
        TxnDate:
          type: string
          format: date-time
          description: 'The date entered by the user when this transaction occurred.

            yyyy/MM/dd is the valid date format.


            For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.


            Sort order is ASC by default.'
          x-intuit-required: Required
        PrivateNote:
          type: string
          description: User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Statement Memo field on the Invoice form in the QuickBooks Online UI.
          x-intuit-required: Optional
        SyncToken:
          type: string
          description: Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
          x-intuit-required: Required for update
        Line:
          type: array
          items:
            $ref: '#/components/schemas/line'
          description: Individual line items of an inventory adjustment.
          x-intuit-required: Required
        AdjustAccountRef:
          allOf:
          - $ref: '#/components/schemas/referencetype'
          description: Specifies which account is debited. Query the Account name list resource to determine the appropriate Account object for this reference. Use Account.Id and Account.Name from that object for AdjustAccountRef.value and AdjustAccountRef.name, respectively.
          x-intuit-required: Required
        Id:
          type: string
          description: Unique identifier for this object.
          x-intuit-required: Required for update
          x-intuit-filterable: true
        MetaData:
          allOf:
          - $ref: '#/components/schemas/modificationmetadata'
          description: Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
          x-intuit-required: Optional
      required:
      - AdjustAccountRef
      - Line
      - TxnDate
    inventoryadjustmentrequest:
      type: object
      title: inventoryadjustmentrequest
      properties:
        DocNumber:
          type: string
          description: Reference number for the transaction.
          x-intuit-required: Optional
        AdjustAccountRef:
          allOf:
          - $ref: '#/components/schemas/referencetype'
          description: Specifies which account is debited. Query the Account name list resource to determine the appropriate Account object for this reference. Use Account.Id and Account.Name from that object for AdjustAccountRef.value and AdjustAccountRef.name, respectively.
          x-intuit-required: Required
        PrivateNote:
          type: string
          description: User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Statement Memo field on the Invoice form in the QuickBooks Online UI.
          x-intuit-required: Optional
          x-intuit-default: <span class="literal">ascend</span>
        Line:
          type: array
          items:
            $ref: '#/components/schemas/line'
          description: Individual line items of an inventory adjustment.
          x-intuit-required: Required
        TxnDate:
          type: string
          format: date-time
          description: 'The date entered by the user when this transaction occurred.

            yyyy/MM/dd is the valid date format.


            For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.


            Sort order is ASC by default.'
          x-intuit-required: Required
      required:
      - AdjustAccountRef
      - Line
      - TxnDate
    modificationmetadata:
      type: object
      title: modificationmetadata
      properties:
        CreateTime:
          type: string
          format: date-time
          description: Time the entity was created in the source domain.
          x-intuit-filterable: true
          x-intuit-sortable: true
        LastUpdatedTime:
          type: string
          format: date-time
          description: Time the entity was last updated in the source domain.
          x-intuit-filterable: true
          x-intuit-sortable: true
    inventoryadjustmentdeleterequest:
      type: object
      title: inventoryadjustmentdeleterequest
      properties:
        SyncToken:
          type: string
          description: Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
          x-intuit-required: Required
        id:
          type: string
          description: Unique identifier for this object.
          x-intuit-required: Required
          x-intuit-filterable: true
      required:
      - SyncToken
      - id
    line:
      type: object
      title: line
      properties:
        Received:
          type: string
          description: Supported for Purchase Order only. The amount/quantity received of the line, which depends on the type of the line. It can represent the received amount or received quantity based on the line type detail. Applies to existing and new entities.
        LinkedTxn:
          type: array
          items: {}
          description: Transaction to which the current entity is related. For example, an invoice line may link to a sales order or estimate.
          x-intuit-required: Optional
        Description:
          type: string
          description: Free form text description of the line item that appears in the printed record.
          x-intuit-required: Optional
        ProjectRef:
          allOf:
          - $ref: '#/components/schemas/referencetype'
          description: Reference to the Project ID associated with this transaction.
          x-intuit-required: Conditionally required
        LineNum:
          type: number
          description: Specifies the position of the line in the collection of transaction lines. Positive integer
          x-intuit-required: Optional
        Amount:
          type: number
          description: The amount of the line item.
          x-intuit-required: Required
        Id:
          type: string
          description: 'The Id of the line item. Its use in requests is as folllows:

            If

            Idis greater than zero and exists for the company, the request is considered an update operation for a line item.


            If no

            Idis provided, the

            Idprovided is less than or equal to zero, or the

            Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.


            Available in all objects that use lines and support the update operation.'
          x-intuit-required: Required for update
      required:
      - Amount
    inventoryadjustmentcreaterequest:
      type: object
      title: inventoryadjustmentcreaterequest
      properties:
        DocNumber:
          type: string
          description: Reference number for the transaction.
          x-intuit-required: Required
        AdjustAccountRef:
          allOf:
          - $ref: '#/components/schemas/referencetype'
          description: Specifies which account is debited. Query the Account name list resource to determine the appropriate Account object for this reference. Use Account.Id and Account.Name from that object for AdjustAccountRef.value and AdjustAccountRef.name, respectively.
          x-intuit-required: Required
        PrivateNote:
          type: string
          description: User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Statement Memo field on the Invoice form in the QuickBooks Online UI.
          x-intuit-required: Optional
          x-intuit-default: <span class="literal">ascend</span>
        Line:
          type: array
          items:
            $ref: '#/components/schemas/line'
          description: Individual line items of an inventory adjustment.
          x-intuit-required: Required
        TxnDate:
          type: string
          format: date-time
          description: 'The date entered by the user when this transaction occurred.

            yyyy/MM/dd is the valid date format.


            For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.


            Sort order is ASC by default.'
          x-intuit-required: Required
      required:
      - AdjustAccountRef
      - DocNumber
      - Line
      - TxnDate
  responses:
    Fault:
      description: Error. The body carries a Fault element (type ValidationFault, SystemFault, AuthenticationFault or AuthorizationFault) with one or more Error entries (code, element, Message, Detail).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/IntuitFault'
    Throttled:
      description: 'HTTP 429: the request was throttled. Wait 60 seconds before retrying.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/IntuitFault'
  securitySchemes:
    oauth2:
      type: oauth2
      description: 'Intuit OAuth 2.0 (authorization code). Discovery: https://developer.api.intuit.com/.well-known/openid_configuration'
      flows:
        authorizationCode:
          authorizationUrl: https://appcenter.intuit.com/connect/oauth2
          tokenUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
          refreshUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
          scopes:
            com.intuit.quickbooks.accounting: Grants access to the QuickBooks Online Accounting API, which focuses on accounting data.
            com.intuit.quickbooks.payment: Grants access to the QuickBooks Payments API, which focuses on payments processing.
            openid: Grants access to OpenID Connect features.
            profile: User's given and family names info
            email: User's email address
            phone: User's phone number
            address: User's physical address
x-generated-from: documentation
x-provenance:
  method: generated
  generated: '2026-11-05'
  source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account
  note: Converted from the JSON the developer.intuit.com API Explorer loads (static.developer.intuit.com/JSONObjects). Intuit publishes no OpenAPI document; this is a faithful machine transformation of its own reference data, graded as generated.