# crm.invoice.recurring.update

URL: https://chugunov.pro/api-bitrix24/crm/outdated/invoice/crm-invoice-recurring-update/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Изменить настройку для регулярного счета
Scope: `crm`
Кто может выполнять метод: любой пользователь

> Устаревший метод. Развитие метода остановлено. Используйте Универсальные методы для счетов.

## Описание

Метод обновляет существующую настройку для шаблона регулярного счета.

## Параметры

- `id` `integer` — необязательный. Идентификатор настройки шаблона регулярного счета
- `fields` `array` — необязательный. Значения полей для обновления настройки.
  Чтобы узнать требуемый формат полей, выполните метод [crm.invoice.recurring.fields](https://chugunov.pro/api-bitrix24/crm/outdated/invoice/crm-invoice-recurring-fields/) и посмотрите формат пришедших значений этих полей

## Примеры запроса

### cURL (Webhook)

```http
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":"your_recurring_invoice_id","fields":{"SEND_BILL":"Y","EMAIL_ID":136,"PARAMS":{"MODE":"month","TYPE":2,"INTERVAL":3,"WEEKDAY":"Monday","NUM_WEEKDAY_IN_MONTH":4,"DATE_PAY_BEFORE_OFFSET_TYPE":"day","DATE_PAY_BEFORE_OFFSET_VALUE":15}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.invoice.recurring.update
```

### cURL (OAuth)

```http
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"id":"your_recurring_invoice_id","fields":{"SEND_BILL":"Y","EMAIL_ID":136,"PARAMS":{"MODE":"month","TYPE":2,"INTERVAL":3,"WEEKDAY":"Monday","NUM_WEEKDAY_IN_MONTH":4,"DATE_PAY_BEFORE_OFFSET_TYPE":"day","DATE_PAY_BEFORE_OFFSET_VALUE":15}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.invoice.recurring.update
```

### JS

```js
try
{
	const id = prompt("Введите ID");
	const response = await $b24.callMethod(
		"crm.invoice.recurring.update",
		{
			id: id,
			fields:
			{
				"SEND_BILL": "Y",
				"EMAIL_ID": 136,
				"PARAMS": {
					"MODE": "month",
					"TYPE": 2,
					"INTERVAL": 3,
					"WEEKDAY": "Monday",
					"NUM_WEEKDAY_IN_MONTH": 4,
					"DATE_PAY_BEFORE_OFFSET_TYPE": "day",
					"DATE_PAY_BEFORE_OFFSET_VALUE": 15,
				}
			},
		}
	);
	
	const result = response.getData().result;
	if(result.error())
		console.error(result.error());
	else
	{
		console.info(result);
	}
}
catch(error)
{
	console.error('Error:', error);
}
```

### PHP

```php
try {
    $id = $_POST['id'];

    $response = $b24Service
        ->core
        ->call(
            'crm.invoice.recurring.update',
            [
                'id' => $id,
                'fields' => [
                    'SEND_BILL' => 'Y',
                    'EMAIL_ID' => 136,
                    'PARAMS' => [
                        'MODE' => 'month',
                        'TYPE' => 2,
                        'INTERVAL' => 3,
                        'WEEKDAY' => 'Monday',
                        'NUM_WEEKDAY_IN_MONTH' => 4,
                        'DATE_PAY_BEFORE_OFFSET_TYPE' => 'day',
                        'DATE_PAY_BEFORE_OFFSET_VALUE' => 15,
                    ],
                ],
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo 'Success: ' . print_r($result, true);
    // Нужная вам логика обработки данных
    processData($result);

} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error updating recurring invoice: ' . $e->getMessage();
}
```

### BX24.js

```js
var id = prompt("Введите ID");
BX24.callMethod(
    "crm.invoice.recurring.update",
    {
        id: id,
        fields:
        {
            "SEND_BILL": "Y",
            "EMAIL_ID": 136,
            "PARAMS": {
                "MODE": "month",
                "TYPE": 2,
                "INTERVAL": 3,
                "WEEKDAY": "Monday",
                "NUM_WEEKDAY_IN_MONTH": 4,
                "DATE_PAY_BEFORE_OFFSET_TYPE": "day",
                "DATE_PAY_BEFORE_OFFSET_VALUE": 15,
            }
        },
    },
    function(result)
    {
        if(result.error())
            console.error(result.error());
        else
        {
            console.info(result.data());
        }
    }
);
```

### PHP CRest

```php
require_once('crest.php');

$id = 'your_recurring_invoice_id'; // Replace 'your_recurring_invoice_id' with the actual recurring invoice ID

$result = CRest::call(
    'crm.invoice.recurring.update',
    [
        'id' => $id,
        'fields' => [
            'SEND_BILL' => 'Y',
            'EMAIL_ID' => 136,
            'PARAMS' => [
                'MODE' => 'month',
                'TYPE' => 2,
                'INTERVAL' => 3,
                'WEEKDAY' => 'Monday',
                'NUM_WEEKDAY_IN_MONTH' => 4,
                'DATE_PAY_BEFORE_OFFSET_TYPE' => 'day',
                'DATE_PAY_BEFORE_OFFSET_VALUE' => 15,
            ]
        ]
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.invoice.recurring.update", b24.Params{
	"id": "your_recurring_invoice_id",
	"fields": b24.Params{
		"SEND_BILL": "Y",
		"EMAIL_ID":  136,
		"PARAMS": b24.Params{
			"MODE":                         "month",
			"TYPE":                         2,
			"INTERVAL":                     3,
			"WEEKDAY":                      "Monday",
			"NUM_WEEKDAY_IN_MONTH":         4,
			"DATE_PAY_BEFORE_OFFSET_TYPE":  "day",
			"DATE_PAY_BEFORE_OFFSET_VALUE": 15,
		},
	},
})
if err != nil {
	return fmt.Errorf("crm.invoice.recurring.update: %w", err)
}

// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/crm/outdated/invoice/crm-invoice-recurring-update.html
