Get a List of Invoices crm.invoice.list

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.

Scope: crm

Who can execute the method: any user

DEPRECATED

The development of this method has been halted. Please use Universal Methods for Invoices.

This method returns a list of invoices. It is an implementation of the list method for invoices.

When querying, use the following masks:

  • "*" — to select all fields (excluding custom fields)
  • "UF_*" — to select all custom fields.

The method does not return properties and line items of the invoice. To obtain properties and line items, use the method crm.invoice.get.

Method Parameters

See the description of list methods.

Required parameters are marked with *

Name
type

Description

filter

Record filter. By default, all records are returned without filtering

order

Record sorting. Sorting is supported by the same fields as in the filter

Code Examples

How to Use Examples in Documentation

This example outputs data to the console. If you need to display data differently, implement your own data handling for the results returned by result.data() and result.error().

curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"DATE_INSERT":"ASC"},"filter":{">PRICE":100},"select":["ID","ACCOUNT_NUMBER","ORDER_TOPIC","DATE_INSERT","STATUS_ID","PRICE","CURRENCY_ID"]}' \
        https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.invoice.list
        
curl -X POST \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -d '{"order":{"DATE_INSERT":"ASC"},"filter":{">PRICE":100},"select":["ID","ACCOUNT_NUMBER","ORDER_TOPIC","DATE_INSERT","STATUS_ID","PRICE","CURRENCY_ID"],"auth":"**put_access_token_here**"}' \
        https://**put_your_bitrix24_address**/rest/crm.invoice.list
        
// callListMethod: Retrieves all data at once. Use only for small selections (< 1000 items) due to high memory load.
        
        try {
          const response = await $b24.callListMethod(
            'crm.invoice.list',
            {
              "order": { "DATE_INSERT": "ASC" },
              "filter": { ">PRICE": 100 },
              "select": [ "ID", "ACCOUNT_NUMBER", "ORDER_TOPIC", "DATE_INSERT", "STATUS_ID", "PRICE", "CURRENCY_ID" ]
            },
            (progress) => { console.log('Progress:', progress) }
          )
          const items = response.getData() || []
          for (const entity of items) { console.log('Entity:', entity) }
        } catch (error) {
          console.error('Request failed', error)
        }
        
        // fetchListMethod: Retrieves data in parts using an iterator. Use for large volumes of data for efficient memory consumption.
        
        try {
          const generator = $b24.fetchListMethod('crm.invoice.list', { "order": { "DATE_INSERT": "ASC" }, "filter": { ">PRICE": 100 }, "select": [ "ID", "ACCOUNT_NUMBER", "ORDER_TOPIC", "DATE_INSERT", "STATUS_ID", "PRICE", "CURRENCY_ID" ] }, 'ID')
          for await (const page of generator) {
            for (const entity of page) { console.log('Entity:', entity) }
          }
        } catch (error) {
          console.error('Request failed', error)
        }
        
        // callMethod: Manual control of pagination through the start parameter. Use for precise control over request batches. Less efficient for large data than fetchListMethod.
        
        try {
          const response = await $b24.callMethod('crm.invoice.list', { "order": { "DATE_INSERT": "ASC" }, "filter": { ">PRICE": 100 }, "select": [ "ID", "ACCOUNT_NUMBER", "ORDER_TOPIC", "DATE_INSERT", "STATUS_ID", "PRICE", "CURRENCY_ID" ] }, 0)
          const result = response.getData().result || []
          for (const entity of result) { console.log('Entity:', entity) }
        } catch (error) {
          console.error('Request failed', error)
        }
        
try {
            $response = $b24Service
                ->core
                ->call(
                    'crm.invoice.list',
                    [
                        'order' => ['DATE_INSERT' => 'ASC'],
                        'filter' => ['>PRICE' => 100],
                        'select' => ['ID', 'ACCOUNT_NUMBER', 'ORDER_TOPIC', 'DATE_INSERT', 'STATUS_ID', 'PRICE', 'CURRENCY_ID'],
                    ]
                );
        
            $result = $response
                ->getResponseData()
                ->getResult();
        
            if ($result->error()) {
                error_log($result->error());
                echo 'Error: ' . $result->error();
            } else {
                echo 'Data: ' . print_r($result->data(), true);
                if ($result->more()) {
                    $result->next();
                }
            }
        
        } catch (Throwable $e) {
            error_log($e->getMessage());
            echo 'Error fetching invoice list: ' . $e->getMessage();
        }
        
BX24.callMethod(
            "crm.invoice.list",
            {
                "order": { "DATE_INSERT": "ASC" },
                "filter": { ">PRICE": 100 },
                "select": [ "ID", "ACCOUNT_NUMBER", "ORDER_TOPIC", "DATE_INSERT", "STATUS_ID", "PRICE", "CURRENCY_ID" ]
            },
            function(result)
            {
                if(result.error())
                    console.error(result.error());
                else
                {
                    console.dir(result.data());
                    if(result.more())
                        result.next();
                }
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'crm.invoice.list',
            [
                'order' => ['DATE_INSERT' => 'ASC'],
                'filter' => ['>PRICE' => 100],
                'select' => ['ID', 'ACCOUNT_NUMBER', 'ORDER_TOPIC', 'DATE_INSERT', 'STATUS_ID', 'PRICE', 'CURRENCY_ID']
            ]
        );
        
        echo '<PRE>';
        print_r($result);
        echo '</PRE>';
        

Fields Returned by the Method

Field / Type

Description

Note

ID
integer

Identifier

Read-only

ACCOUNT_NUMBER
string

Number

Required

COMMENTS
text

Manager's comment

CREATED_BY
integer

Created by user

Read-only

CURRENCY
crm_currency

Currency identifier

Read-only

DATE_BILL
date

Invoice date

DATE_INSERT
datetime

Creation date

DATE_MARKED
datetime

Rejection date

Provided if the invoice is rejected

DATE_PAY_BEFORE
date

Payment due date

DATE_PAYED
datetime

Date moved to paid status

Read-only

DATE_STATUS
datetime

Date status changed

Read-only

DATE_UPDATE
datetime

Date updated

Read-only

EMP_PAYED_ID
integer

Identifier of the user who last marked the invoice as "paid"

Read-only

EMP_STATUS_ID
integer

Identifier of the user who last changed the invoice status

Read-only

LID
integer

Site identifier

Read-only

IS_RECURRING
char

Flag for recurring deal template

XML_ID
string

External code

ORDER_TOPIC
string

Subject

Required

PAY_SYSTEM_ID
integer

Identifier of the payment form

Required

PAY_VOUCHER_DATE
date

Payment date

Provided if the invoice is paid

PAY_VOUCHER_NUM
string

Payment document number

Provided if the invoice is paid

PAYED
char

Payment status

Read-only

PERSON_TYPE_ID
integer

Payer type identifier

Required

PRICE
double

Amount

Read-only

REASON_MARKED
string

Status comment

Provided if the invoice is paid or rejected

RESPONSIBLE_EMAIL
string

Responsible person's e-mail

Read-only

RESPONSIBLE_ID
integer

Identifier of the responsible person

RESPONSIBLE_LAST_NAME
string

Last name of the responsible person

Read-only

RESPONSIBLE_LOGIN
string

Login of the responsible person

Read-only

RESPONSIBLE_NAME
string

First name of the responsible person

Read-only

RESPONSIBLE_PERSONAL_PHOTO
integer

Identifier of the responsible person's photo

Read-only

RESPONSIBLE_SECOND_NAME
string

Middle name of the responsible person

Read-only

RESPONSIBLE_WORK_POSITION
string

Position of the responsible person

Read-only

STATUS_ID
crm_status

Status identifier

Identifier of the "INVOICE_STATUS" reference

TAX_VALUE
double

Tax amount

Read-only

UF_COMPANY_ID
integer

Company identifier

Provided if the payer is a "Legal entity"

UF_CONTACT_ID
integer

Contact identifier

Provided if the payer is an "Individual" or as a contact person for the company

UF_MYCOMPANY_ID
integer

Identifier of your company

Provided as the company with invoice details (binding to details is set separately)

UF_DEAL_ID
integer

Identifier of the related deal

UF_QUOTE_ID
integer

Identifier of the related estimate

USER_DESCRIPTION
string

Comment