Principal/WordPress Fullstack/Blueprints/WooCommerce/Generación automatizada de facturas en PDF y albaranes para clientes corporativos B2B
Volver a tarjetas «WooCommerce»
WooCommerce(ТЗ 42 из 54)
Especificación: Generación automatizada de facturas en PDF y albaranes para clientes corporativos B2B
WooCommerce5 шагов • +25 XP

Especificación: Generación automatizada de facturas en PDF y albaranes para clientes corporativos B2B

Módulo de facturación legal en el servidor: integración de motor de PDF (Dompdf / mPDF), numeración secuencial correlativa, cumplimiento de normativas fiscales, adjunto en correos y descarga segura desde la cuenta de usuario.

~12 ч работыУровень: MiddleDompdf / mPDFwoocommerce_email_attachmentsQR Code GOST GeneratorHTML-to-PDF TemplateHPOS Invoicing MetaSecurity Download Tokens
+5 XP за шаг
Выполнено 0 из 5 шагов (0%)
Трудозатраты~12 рабочих часов
Фриланс вилка~$540 – $900 (€480 – €840)
Оценка веб-студии~$1,140 – $1,920 (€1080 – €1800)

ТЗ заказчика (исходный бриф):

Nuestros clientes corporativos necesitan facturas fiscales oficiales en PDF con sellos, desglose de IVA y datos bancarios que se adjunten automáticamente al correo del pedido y se puedan descargar desde su panel.
Ключевые требования:
  • •Generación automática de la factura en PDF cuando el pedido pase a 'Procesando' o 'Completado'
  • •Numeración secuencial correlativa sin saltos (ej: FAC-2026-0001) independiente del ID de pedido
  • •Inclusión de datos fiscales completos, NIF/CIF, IBAN bancario y código QR de pago
  • •Adjunto automático de la factura en PDF en los correos de confirmación al cliente
  • •Descarga protegida desde 'Mi cuenta > Pedidos' mediante token de seguridad firmado
Ограничения проекта:
  • •Tiempo de generación del PDF < 500ms para evitar demoras en el envío de correos
  • •Prohibición de acceso directo a los archivos PDF mediante URLs públicas
Критерии приёмки (KPI):
  • 100% de los pedidos de empresas reciben su factura en PDF adjunta
  • Cero duplicidades o saltos en la numeración correlativa de facturas
  • Conformidad total con la normativa de auditoría y facturación fiscal

Конфигурация блупринта под условия проекта

Выберите архитектуру и стек — шаги роадмапа, структура файлов и примеры кода переключатся автоматически:

Пошаговое практическое руководство по ТЗ

Подробный разбор архитектуры, код реализации и советы эксперта по каждому этапу:

1
Этап 1 из 5

Paso 1: Integración del motor de PDF (Dompdf o mPDF)

~45 минСредний

Практическое руководство:

Instale Dompdf o mPDF a través de Composer. Configure la caché de fuentes y la carpeta temporal en /wp-content/uploads/ con permisos restrictivos.

План и контрольные точки реализации:
1Установить dompdf/dompdf через Composer
2Настроить опции Dompdf\Options
3Проверить корректную отрисовку русских символов в тестовом PDF
Важные технические нюансы и подводные камни:

Desactive 'isRemoteEnabled' en Dompdf por seguridad y cargue el logotipo mediante rutas locales del servidor.

Совет эксперта (Best Practice):

Защита папки счетами через .htaccess: Создание файла .htaccess с директивой deny from all предотвращает прямой доступ к файлам счетов из интернета в обход проверки прав доступа WordPress. (Важно: На серверах под Nginx обязательно заблокируйте доступ к uploads/agenticlab-invoices в конфиге виртуального хоста.)

Ожидаемый артефакт этапа:

Надежный сервис генерации PDF с безупречной поддержкой кириллицы.

PHP
<?php
declare(strict_types=1);

use Dompdf\Dompdf;
use Dompdf\Options;

class AgenticLab_PDF_Generator {
    public static function generate_invoice_pdf(\WC_Order $order): string {
        $options = new Options();
        $options->set('isHtml5ParserEnabled', true);
        $options->set('isRemoteEnabled', true);
        $options->set('defaultFont', 'DejaVu Sans');

        $dompdf = new Dompdf($options);

        ob_start();
        include dirname(__DIR__) . '/templates/pdf/invoice-template.php';
        $html = ob_get_clean();

        $dompdf->loadHtml($html, 'UTF-8');
        $dompdf->setPaper('A4', 'portrait');
        $dompdf->render();

        $upload_dir = wp_upload_dir();
        $invoices_dir = $upload_dir['basedir'] . '/agenticlab-invoices';
        if (!file_exists($invoices_dir)) {
            wp_mkdir_p($invoices_dir);
            file_put_contents($invoices_dir . '/.htaccess', 'deny from all');
        }

        $file_path = $invoices_dir . '/invoice-' . $order->get_id() . '.pdf';
        file_put_contents($file_path, $dompdf->output());

        return $file_path;
    }
}
2
Этап 2 из 5

Paso 2: Motor de numeración secuencial correlativa

~50 минСложный
3
Этап 3 из 5

Paso 3: Maquetación de la plantilla HTML de factura

~50 минСредний
4
Этап 4 из 5

Paso 4: Adjunto automático en correos mediante woocommerce_email_attachments

~45 минСредний
5
Этап 5 из 5

Paso 5: Descarga protegida desde el panel de Mi cuenta

~25 минЛегкий

Типичные грабли на этом ТЗ

2 антипаттерна

Инструменты экосистемы Fullstack AI Lab для этого ТЗ

Интеграция