Change Settings for Recurring Invoice crm.invoice.recurring.update
Choose a tool for developing with an AI agent:
- use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
- use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation
Scope:
crmWho can execute the method: any user
DEPRECATED
The development of this method has been halted. Please use Universal Methods for Invoices.
This method updates an existing setting for the recurring invoice template.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
id |
Identifier of the recurring invoice template setting |
|
fields |
Field values for updating the setting. To find out the required format for the fields, execute the method crm.invoice.recurring.fields and check the format of the returned values for these fields |
Code Examples
cURL (Webhook)
cURL (OAuth)
JS
PHP
BX24.js
PHP CRest
Go
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 -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
try
{
const id = prompt("Enter 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);
}
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);
// Your required data processing logic
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating recurring invoice: ' . $e->getMessage();
}
var id = prompt("Enter 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());
}
}
);
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>';
// client and ctx are already created — see the Go SDK section
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)
}
// The response arrives as json.RawMessage — unmarshal it
// into a struct matching the response shape shown below on this page.
fmt.Printf("%s\n", res.Result)