Настройка выставления счетов на оплату 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка выставления счетов на оплату 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка выставления счетов на оплату в 1С-Битрикс

Счёт на оплату — первичный документ, который магазин выставляет покупателю. В B2B-сегменте без счёта сделка не состоится: бухгалтер не проведёт платёжное поручение без документального основания. В Битрикс выставление счетов реализуется через CRM (для Битрикс24) или через кастомный модуль для Битрикс-сайта.

Два контекста: сайт vs Битрикс24 CRM

Битрикс24 CRM имеет встроенный модуль счетов. Счёт создаётся менеджером прямо в CRM, привязывается к сделке, отправляется покупателю по email. Оплата — через встроенный эквайринг или по реквизитам.

Битрикс (сайт, не CRM) — встроенного модуля счетов нет. Нужно либо строить кастомную систему на базе модуля Sale, либо интегрировать с внешней бухгалтерией (1С, МойСклад и т.п.).

Счёт в Битрикс CRM

В Битрикс24 счёт создаётся через:

  • CRM → Счета → Создать
  • Или автоматически из сделки: Сделка → Выставить счёт

Подключение оплаты к счёту — через раздел «Подключить эквайринг» в настройках CRM. Поддерживаются Тинькофф, Сбербанк, ЮКасса и другие.

После создания счёт отправляется покупателю с ссылкой на оплату:

https://crm.company.bitrix24.ru/pub/invoices/INVOICE_ID/?hash=HASH

По этой ссылке покупатель может оплатить банковской картой или посмотреть реквизиты для оплаты по безналу.

Кастомная система счетов для Битрикс-сайта

Если нужно выставлять счета на обычном сайте (не Битрикс24):

Структура счёта:

CREATE TABLE b_invoices (
    id              SERIAL PRIMARY KEY,
    order_id        INT REFERENCES b_sale_order(ID),
    invoice_number  VARCHAR(32) UNIQUE NOT NULL,  -- ФС-2024-00123
    user_id         INT,
    company_name    VARCHAR(256),
    inn             VARCHAR(12),
    kpp             VARCHAR(9),
    legal_address   TEXT,
    amount          DECIMAL(10,2),
    currency        CHAR(3) DEFAULT 'RUB',
    status          VARCHAR(16) DEFAULT 'draft',  -- draft|sent|paid|cancelled
    due_date        DATE,
    paid_at         TIMESTAMP,
    created_at      TIMESTAMP DEFAULT NOW()
);

Генерация PDF-счёта:

function generateInvoicePdf(array $invoice, array $orderItems): string
{
    // Используем mPDF или TCPDF
    $mpdf = new Mpdf\Mpdf(['mode' => 'utf-8', 'format' => 'A4']);

    $html = renderInvoiceTemplate($invoice, $orderItems);
    $mpdf->WriteHTML($html);

    $path = DOCUMENT_ROOT . '/upload/invoices/invoice_' . $invoice['id'] . '.pdf';
    $mpdf->Output($path, 'F');

    return $path;
}

Нумерация счетов:

function nextInvoiceNumber(): string
{
    $db = Bitrix\Main\Application::getConnection();
    $year = date('Y');

    $last = $db->queryScalar("
        SELECT MAX(CAST(SPLIT_PART(invoice_number, '-', 3) AS INT))
        FROM b_invoices
        WHERE invoice_number LIKE 'FS-" . $year . "-%'
    ");

    $next = ((int)$last + 1);
    return sprintf('FS-%d-%05d', $year, $next);
}

Отправка счёта покупателю

// Email с PDF-вложением
$mail = new Bitrix\Main\Mail\Mail([
    'TO'       => $buyerEmail,
    'SUBJECT'  => 'Счёт №' . $invoice['invoice_number'] . ' на оплату',
    'BODY'     => renderInvoiceEmailBody($invoice),
    'CHARSET'  => 'UTF-8',
    'ATTACHMENT' => [
        [
            'path'     => $pdfPath,
            'name'     => 'Счёт_' . $invoice['invoice_number'] . '.pdf',
            'encoding' => 'base64',
            'type'     => 'application/pdf',
        ],
    ],
]);
$mail->send();

Ссылка на онлайн-оплату в счёте

Счёт может содержать не только реквизиты для банка, но и кнопку онлайн-оплаты:

// Генерируем ссылку на оплату через агрегатор
$paymentLink = generatePaymentLink($invoice['order_id']);

// Добавляем в PDF-шаблон счёта:
// "Оплатить онлайн: $paymentLink"
// Или QR-код с этой ссылкой

Это удобно для клиентов, которые предпочитают платить картой, но хотят получить официальный счёт.

Сроки

Задача Срок
Счета в Битрикс24 CRM (настройка) 0.5–1 день
Кастомная система счетов на сайте 3–5 дней
Генерация PDF по шаблону 1–2 дня
Автоотправка и онлайн-оплата в счёте 1–2 дня