Product Items in CRM Objects: Overview of Methods

If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.

Product items are lines of goods or services in a CRM card. They store the details of a sale: name, price, quantity, discounts, and taxes. Based on this data, the CRM calculates the total amount for a lead, deal, estimate, invoice, or SPA.

Quick navigation: all methods

How to Work with Product Items

Each product item is associated with a CRM object: lead, deal, estimate, new invoice, or SPA. To add a product, replace the product list, or retrieve products from a CRM object, specify ownerType and ownerId.

For example, for a deal with ID 13142, pass ownerType: "D" and ownerId: 13142. The code D represents a deal; for other codes, refer to the CRM object types directory. The object identifier can be obtained using the crm.item.list method or from the response of the crm.item.add method.

  1. Retrieve the field descriptions of the product item using the crm.item.productrow.fields method. This method will help you understand what values can be passed when adding or modifying an item.
  2. Add a single product item using the crm.item.productrow.add method. If you need to replace the entire product list in the CRM object, use the crm.item.productrow.set method.
  3. Retrieve the product items of the CRM object using the crm.item.productrow.list method. If you need a single item, pass its identifier to the crm.item.productrow.get method.
  4. Modify a product item using the crm.item.productrow.update method or delete it using the crm.item.productrow.delete method if the product is no longer needed in the CRM object.

Important Considerations

  • Access to product items depends on access to the CRM object they belong to. If a user cannot open a deal, invoice, or SPA, they will not be able to retrieve or modify its product items.
  • The crm.item.productrow.* methods do not work with old invoices. For new integrations with invoices, use the crm.item.* methods.
  • The crm.item.productrow.set method replaces the entire list of product items in the CRM object with the provided set. If you need to add a single item, use crm.item.productrow.add.

Relationship with Other Objects

CRM Entities. Product items are related to a specific CRM object. The relationship is defined through ownerType and ownerId in the crm.item.productrow.add, crm.item.productrow.set, crm.item.productrow.list, and crm.item.productrow.getAvailableForPayment methods.

Product Catalog. A product item can be linked to a catalog product through the productId field in the crm.item.productrow.add and crm.item.productrow.set methods. If you pass productId but do not pass productName or measureCode, the CRM will use the product name and unit of measure from the catalog.

Payment. The crm.item.productrow.getAvailableForPayment method retrieves product items from the CRM object for which payment has not yet been issued to the client. The CRM object is specified through ownerType and ownerId.

Overview of Methods

Scope: crm

Who can perform the method: depends on the method

Method

Description

crm.item.productrow.add

Adds a product item

crm.item.productrow.update

Updates a product item

crm.item.productrow.get

Retrieves information about a product item

crm.item.productrow.list

Retrieves a list of product items

crm.item.productrow.delete

Deletes a product item

crm.item.productrow.set

Saves a set of product items in the CRM object

crm.item.productrow.getAvailableForPayment

Retrieves product items without issued payment

crm.item.productrow.fields

Retrieves the field descriptions of product items