Setting up recurring transactions in Bitrix24 CRM

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    745
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Setting Up Recurring Deals in Bitrix24 CRM

Recurring deals are a mechanism for automatically creating deals on a schedule. The difference from repeat deals: repeat deals are created after the previous one closes; recurring deals are created strictly on schedule regardless of the status of previous ones. They are used for subscription services, monthly payments, and periodic deliveries.

When Recurring Deals Are Needed

Typical scenarios:

  • Monthly payments for ongoing services (IT, cleaning, security)
  • Quarterly deliveries under a contract
  • Annual license or subscription renewals
  • Weekly orders from regular clients

Without recurring deals, a manager either creates the deal manually each time or forgets to do so.

Configuration in the Interface

Recurring deals are available on the «CRM+» plan and above. Configuration: CRM → Deals → Create → Recurring Deal. Parameters:

  • Deal template — title, responsible party, funnel, amount
  • Schedule — daily, weekly, monthly, every N days
  • First deal date — when the first deal in the series is created
  • Number of repetitions — or indefinite

A created recurring deal appears in the list with a special marker and a counter showing «next creation in X days».

REST API for Recurring Deals

Creating a recurring deal programmatically:

BX24.callMethod('crm.deal.recurring.add', {
    fields: {
        // Deal template fields
        DEAL_ID: templateDealId,  // ID of the template deal

        // Schedule settings
        IS_RECURRING: 'Y',
        RECURRING_TYPE: 'month',   // day, week, month, year
        RECURRING_COUNT_REPEAT: 12, // 12 months
        RECURRING_NEXT_EXECUTION: '2024-02-01T00:00:00+03:00',
        RECURRING_START_DATE: '2024-01-01T00:00:00+03:00',
        START_DATE_TYPE: 'fixed', // fixed = specific date, auto = from creation date

        // Repetition limit (0 = indefinite)
        RECURRING_LIMIT: 12,
    }
});

Retrieving the list of recurring deals:

BX24.callMethod('crm.deal.recurring.list', {
    filter: { IS_RECURRING: 'Y' },
    select: ['ID', 'DEAL_ID', 'NEXT_EXECUTION', 'RECURRING_TYPE', 'LIMIT_REPEAT_COUNT'],
}, result => {
    const recurringDeals = result.data();
    console.log('Recurring deals:', recurringDeals.length);
});

Automation When a Recurring Deal Is Created

Each new deal in the series passes through the funnel's robots. This is the key advantage: when a new deal is created, the following actions happen automatically:

  1. The responsible manager is notified
  2. An invoice is issued (if the document management module is connected)
  3. A task is created to monitor payment

Monitoring and Analytics

To track recurring payments, build a summary of how many recurring deals will be created in the next month and for what total amount. Via REST:

// Expected deals for next month
const nextMonth = new Date();
nextMonth.setMonth(nextMonth.getMonth() + 1);

BX24.callMethod('crm.deal.recurring.list', {
    filter: {
        '<=NEXT_EXECUTION': nextMonth.toISOString(),
        IS_RECURRING: 'Y',
    },
    select: ['DEAL_ID', 'NEXT_EXECUTION'],
});

Timeline

Configuration Timeline
Basic recurring deal setup 0.5 day
Templates + schedule + robots 1–2 days
Programmatic management via REST + reporting 3–4 days