Автоматическое создание и отправка счетов (invoice) в WordPress при оформлении заказа

В современных интернет-магазинах, построенных на WordPress, важной задачей является автоматическое создание и отправка счетов (invoice) клиентам сразу после оформления заказа. Это позволяет ускорить обработку заказов, снизить вероятность ошибок и повысить уровень сервиса. В этой статье мы рассмотрим, как реализовать такую функциональность, используя возможности WordPress, а также познакомимся с полезными плагинами и примерами кода.

Почему важна автоматизация создания счетов в WordPress

Ручное формирование счетов занимает много времени и подвержено ошибкам. Автоматизация решает следующие задачи:

  • Мгновенная генерация счета сразу после оформления заказа.
  • Отправка счета на email клиента без участия менеджера.
  • Хранение истории счетов для отчетности и бухгалтерии.
  • Возможность кастомизации внешнего вида и содержания счетов.

На WordPress существует несколько способов реализовать такую функциональность — через плагины или собственный код.

Использование плагинов для автоматической генерации счетов

Для WordPress и WooCommerce есть проверенные плагины, которые позволяют создавать и отправлять счета автоматически:

1. WooCommerce PDF Invoices & Packing Slips

Один из самых популярных плагинов для генерации PDF-счетов и упаковочных листов. Позволяет настроить шаблон счета, автоматически прикреплять его к email уведомлениям и хранить в истории заказов.

Плюсы:

  • Бесплатен с базовыми функциями.
  • Простой в настройке.
  • Возможность создавать собственные шаблоны с помощью HTML и CSS.

Для установки перейдите в админку WordPress: Плагины > Добавить новый, найдите «WooCommerce PDF Invoices & Packing Slips» и установите плагин.

2. WP Invoices

Плагин подходит для создания счетов вне зависимости от WooCommerce, что полезно для сайтов с нестандартной системой заказов. Позволяет создавать счета, отправлять их клиентам и принимать онлайн-оплату.

Плюсы:

  • Гибкая настройка.
  • Поддержка множества платежных шлюзов.
  • Автоматизация отправки счетов.

Реализация автоматического создания счета с помощью кода

Если вы хотите реализовать кастомное решение без сторонних плагинов, можно использовать хук WordPress, который срабатывает при создании заказа, и сгенерировать PDF-счет программно.

Рассмотрим пример для WooCommerce — наиболее популярного решения для интернет-магазинов на WordPress.

Подключение генератора PDF

Для генерации PDF можно использовать библиотеку TCPDF или FPDF. Например, подключим FPDF (https://www.fpdf.org/) в ваш плагин или тему.

require_once get_template_directory() . '/libs/fpdf/fpdf.php';

Функция генерации счета — wporder_generate_invoice_pdf

Создадим функцию, которая принимает ID заказа, формирует PDF и сохраняет его в папку uploads:

function wporder_generate_invoice_pdf($order_id) {
    $order = wc_get_order($order_id);
    if (!$order) return false;

    $upload_dir = wp_upload_dir();
    $pdf_path = $upload_dir['basedir'] . '/invoices/invoice_' . $order_id . '.pdf';

    if (!file_exists(dirname($pdf_path))) {
        wp_mkdir_p(dirname($pdf_path));
    }

    $pdf = new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial', 'B', 16);
    $pdf->Cell(40,10, 'Счет на оплату №' . $order_id);
    $pdf->Ln(20);
    $pdf->SetFont('Arial', '', 12);
    $pdf->Cell(40,10, 'Дата: ' . date('d.m.Y', strtotime($order->get_date_created())));
    $pdf->Ln(10);
    $pdf->Cell(40,10, 'Клиент: ' . $order->get_billing_first_name() . ' ' . $order->get_billing_last_name());
    $pdf->Ln(10);

    $pdf->Cell(40,10, 'Товары:');
    $pdf->Ln(10);

    foreach ($order->get_items() as $item) {
        $product_name = $item->get_name();
        $quantity = $item->get_quantity();
        $total = $item->get_total();
        $pdf->Cell(0,10, "$product_name x $quantity - $total руб.", 0, 1);
    }

    $pdf->Ln(10);
    $pdf->Cell(40,10, 'Итого: ' . $order->get_total() . ' руб.');

    $pdf->Output('F', $pdf_path);

    return $pdf_path;
}

Автоматическая отправка счета на email после оформления заказа

Теперь прикрепим созданный PDF к письму с подтверждением заказа. Добавим хук на событие woocommerce_email_attachments:

add_filter('woocommerce_email_attachments', 'wporder_attach_invoice_to_email', 10, 3);
function wporder_attach_invoice_to_email($attachments, $email_id, $order) {
    if ($email_id === 'customer_completed_order' && is_a($order, 'WC_Order')) {
        $invoice_path = wporder_generate_invoice_pdf($order->get_id());
        if ($invoice_path && file_exists($invoice_path)) {
            $attachments[] = $invoice_path;
        }
    }
    return $attachments;
}

В этом примере PDF счет генерируется при отправке письма клиенту, подтверждающего выполнение заказа. Вы можете изменить условие, чтобы прикреплять счет к другим письмам.

Дополнительные рекомендации по работе с invoice в WordPress

Обеспечение безопасности и сохранности файлов

Храните созданные PDF-файлы в папке, защищенной от прямого доступа через .htaccess или настройками сервера. Например, можно добавить в папку invoices файл .htaccess с директивой deny from all, чтобы никто не мог получить доступ к счетам напрямую.

Кастомизация внешнего вида счетов

Для улучшения дизайна счета используйте HTML и CSS в плагинах с поддержкой шаблонов или расширяйте генераторы PDF, добавляя логотипы, таблицы и стилизованные блоки. Плагины, такие как WooCommerce PDF Invoices & Packing Slips, предоставляют удобные инструменты для этого.

Интеграция с бухгалтерскими системами

Если у вас есть интеграция с 1С или другой бухгалтерской программой, можно настроить автоматическую выгрузку счетов или использовать API для передачи данных о заказах. Для этого часто требуется дополнительная доработка или специализированные плагины.

Выводы и практические советы

Автоматизация создания и отправки счетов в WordPress является мощным инструментом для повышения эффективности работы интернет-магазина. Оптимальный путь зависит от ваших задач и ресурсов:

  • Используйте готовые плагины, если хотите быстро получить надежное решение с минимальными затратами.
  • Если нужны уникальные функции, реализуйте генерацию и отправку счетов через кастомный код, как показано в примерах.
  • Обязательно уделяйте внимание безопасности хранения счетов и удобству их просмотра клиентами.

Для более простого старта рекомендуем ознакомиться с WooCommerce PDF Invoices & Packing Slips — этот плагин справится с большинством типовых задач.

Если у вас остались вопросы по реализации, вы всегда можете обратиться к сообществу WordPress или специалистам на WPSHOP.ru для консультаций и помощи.

WooCommerce: автоматическое отключение платёжных методов по расписанию
03.06.2026
WooCommerce: решение проблемы с отправкой писем после оформления заказа
31.05.2026
Автоматическое удаление заказов по статусу в WordPress
07.02.2026
Автоматизация подсчёта суммы заказов по датам в WordPress
11.02.2026
Автоматизация обновления метаданных товаров WooCommerce в WordPress
07.04.2026