Get the list of invoices crm.invoice.list

Scope: crm

Who can execute the method: any user

Warning

The method is deprecated. It is recommended to use Universal methods for invoices

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

When querying, use 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

The example outputs data to the console. If you need to output data differently, implement your own data handling based on the results returned by result.data() and result.error() calls.

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 usage.
        
        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 it for large data volumes to optimize memory usage.
        
        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: Manually controls pagination through the start parameter. Use it for precise control of request batches. For large datasets, it is less efficient 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

Specified if the invoice is rejected

DATE_PAY_BEFORE
date

Payment due date

DATE_PAYED
datetime

Date changed to paid status

Read-only

DATE_STATUS
datetime

Date of status change

Read-only

DATE_UPDATE
datetime

Date of update

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

Specified if the invoice is paid

PAY_VOUCHER_NUM
string

Payment document number

Specified if the invoice is paid

PAYED
char

Paid status

Read-only

PERSON_TYPE_ID
integer

Payer type identifier

Required

PRICE
double

Amount

Read-only

REASON_MARKED
string

Status comment

Specified 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

Specified if the payer is a "Legal entity"

UF_CONTACT_ID
integer

Contact identifier

Specified if the payer is a "Natural person" or as a contact person of the company

UF_MYCOMPANY_ID
integer

Identifier of your company

Specified as the company with invoice details (link 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