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: 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 updates an existing setting for the recurring invoice template.

Method Parameters

Required parameters are marked with *

Name
type

Description

id
integer

Identifier of the recurring invoice template setting

fields
array

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 -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)