Get the list of invoices crm.invoice.list
Scope:
crmWho 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 |
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 |
Identifier |
Read-only |
|
ACCOUNT_NUMBER |
Number |
Required |
|
COMMENTS |
Manager's comment |
|
|
CREATED_BY |
Created by user |
Read-only |
|
CURRENCY |
Currency identifier |
Read-only |
|
DATE_BILL |
Invoice date |
|
|
DATE_INSERT |
Creation date |
|
|
DATE_MARKED |
Rejection date |
Specified if the invoice is rejected |
|
DATE_PAY_BEFORE |
Payment due date |
|
|
DATE_PAYED |
Date changed to paid status |
Read-only |
|
DATE_STATUS |
Date of status change |
Read-only |
|
DATE_UPDATE |
Date of update |
Read-only |
|
EMP_PAYED_ID |
Identifier of the user who last marked the invoice as paid |
Read-only |
|
EMP_STATUS_ID |
Identifier of the user who last changed the invoice status |
Read-only |
|
LID |
Site identifier |
Read-only |
|
IS_RECURRING |
Flag for recurring deal template |
|
|
XML_ID |
External code |
|
|
ORDER_TOPIC |
Subject |
Required |
|
PAY_SYSTEM_ID |
Identifier of the payment form |
Required |
|
PAY_VOUCHER_DATE |
Payment date |
Specified if the invoice is paid |
|
PAY_VOUCHER_NUM |
Payment document number |
Specified if the invoice is paid |
|
PAYED |
Paid status |
Read-only |
|
PERSON_TYPE_ID |
Payer type identifier |
Required |
|
PRICE |
Amount |
Read-only |
|
REASON_MARKED |
Status comment |
Specified if the invoice is paid or rejected |
|
RESPONSIBLE_EMAIL |
Responsible person's e-mail |
Read-only |
|
RESPONSIBLE_ID |
Identifier of the responsible person |
|
|
RESPONSIBLE_LAST_NAME |
Last name of the responsible person |
Read-only |
|
RESPONSIBLE_LOGIN |
Login of the responsible person |
Read-only |
|
RESPONSIBLE_NAME |
First name of the responsible person |
Read-only |
|
RESPONSIBLE_PERSONAL_PHOTO |
Identifier of the responsible person's photo |
Read-only |
|
RESPONSIBLE_SECOND_NAME |
Middle name of the responsible person |
Read-only |
|
RESPONSIBLE_WORK_POSITION |
Position of the responsible person |
Read-only |
|
STATUS_ID |
Status identifier |
Identifier of the "INVOICE_STATUS" reference |
|
TAX_VALUE |
Tax amount |
Read-only |
|
UF_COMPANY_ID |
Company identifier |
Specified if the payer is a "Legal entity" |
|
UF_CONTACT_ID |
Contact identifier |
Specified if the payer is a "Natural person" or as a contact person of the company |
|
UF_MYCOMPANY_ID |
Identifier of your company |
Specified as the company with invoice details (link to details is set separately) |
|
UF_DEAL_ID |
Identifier of the related deal |
|
|
UF_QUOTE_ID |
Identifier of the related estimate |
|
|
USER_DESCRIPTION |
Comment |