Estimates in CRM: Overview of Methods

An estimate is a CRM entity that allows you to create printed documents and send them to clients before a deal.

Quick navigation: all methods and events

User documentation: estimates in Bitrix24

Connection of Estimates with Other CRM Entities

Deal. An estimate can be created based on a deal and vice versa. The connection is established in the estimate field DEAL_ID.

Products. Adding, modifying, and deleting product items in estimates can be done through the group of methods crm.item.productrow.*.

Details. Buyer details are pulled into the estimate form from the associated contact or company. Seller details are pulled from the field MYCOMPANY_ID.

Client. This field in the estimate detail form consists of the associated company and contacts. There is one company in the field, and it is accessed directly through the field COMPANY_ID. Multiple contacts can be specified, and their modification is done through an array of data in the multiple field CONTACT_IDS.

Estimate Detail Form

The main workspace in an estimate is the General tab of its detail form. It consists of two parts:

  • The left part contains fields with information. If the system fields are insufficient, you can create your own custom fields. They allow you to store information in various data formats: string, number, link, address, and others. To create, modify, retrieve, or delete custom fields for estimates, the group of methods crm.quote.userfield.* is used.

  • The right part contains the estimate timeline. In it, you can create, edit, filter, and delete CRM activities — the group of methods crm.activity.*, and timeline records — the group of methods crm.timeline.*.

Widgets

You can embed an application into the estimate detail form. This allows you to use the application without leaving the estimate detail form.

There are two embedding scenarios:

Overview of Methods and Events

Scope: crm

Who can execute the method: depending on the method

Main Methods

Method

Description

crm.quote.add

Creates a new estimate

crm.quote.update

Modifies an existing estimate

crm.quote.get

Returns an estimate by its identifier

crm.quote.list

Returns a list of estimates based on a filter

crm.quote.delete

Deletes an estimate

crm.quote.fields

Returns the description of estimate fields

crm.quote.productrows.get

Returns the product items of the estimate

crm.quote.productrows.set

Sets (creates or updates) the product items of the estimate

Event

Triggered

onCrmQuoteAdd

When an estimate is created

onCrmQuoteUpdate

When an estimate is updated

onCrmQuoteDelete

When an estimate is deleted

Custom Fields

Method

Description

crm.quote.userfield.add

Creates a new custom field for estimates

crm.quote.userfield.update

Updates an existing custom field for estimates

crm.quote.userfield.get

Returns a custom field for estimates by ID

crm.quote.userfield.list

Returns a list of custom fields for estimates by filter

crm.quote.userfield.delete

Deletes a custom field for estimates

Event

Triggered

onCrmQuoteUserFieldAdd

When a custom field is added

onCrmQuoteUserFieldUpdate

When a custom field is modified

onCrmQuoteUserFieldDelete

When a custom field is deleted

onCrmQuoteUserFieldSetEnumValues

When the set of values for a custom field of list type is changed