PrestaShop

Integra InvoCash con PrestaShop

Genera facturas VeriFactu automáticamente al validar pedidos en PrestaShop 1.7+. Módulo listo para instalar.

PrestaShop

Facturación VeriFactu automática en PrestaShop

PrestaShop ofrece un potente sistema de módulos y hooks que permite conectar cualquier proceso del ciclo de vida de un pedido con servicios externos. La integración con InvoCash aprovecha el hook actionValidateOrder para generar la factura en el momento exacto en que el pedido se valida y cobra.

El resultado: cada pedido pagado tiene su factura VeriFactu generada, validada con la AEAT y disponible para el cliente en segundos, sin ningún trabajo manual.

PrestaShop 1.7+compatible con las versiones más extendidas del mercado
0 clicsfactura generada automáticamente al validar el pedido
100%cumplimiento VeriFactu y Ley Antifraude
Cómo funciona

Integración en 3 pasos automáticos

1. Pedido validado en PrestaShop

El cliente realiza el pago. PrestaShop valida el pedido y dispara el hook actionValidateOrder con todos los datos.

2. El módulo llama a InvoCash

Tu módulo PHP personalizado recoge los datos del pedido y llama a la API REST de InvoCash para crear la factura con IVA correcto.

3. Factura VeriFactu enviada

InvoCash genera la factura, la valida con la AEAT y opcionalmente envía el PDF al email del cliente automáticamente.

Código

Código de integración

1

Estructura del módulo y registro del hook

// modules/invocash/invocash.php
class InvoCash extends Module
{
    public function __construct()
    {
        $this->name         = 'invocash';
        $this->displayName  = 'InvoCash – Facturación VeriFactu';
        $this->description  = 'Genera facturas VeriFactu automáticamente';
        parent::__construct();
    }

    public function install(): bool
    {
        return parent::install()
            && $this->registerHook('actionValidateOrder');
    }

    public function hookActionValidateOrder(array $params): void
    {
        $order    = $params['order'];
        $customer = new Customer($order->id_customer);
        $this->crearFacturaInvoCash($order, $customer);
    }
}
2

Llamada a la API de InvoCash

private function crearFacturaInvoCash(Order $order, Customer $customer): void
{
    $lines = [];
    foreach ($order->getProducts() as $product) {
        $taxBase   = (float) $product['total_price_tax_excl'];
        $taxAmount = (float) $product['total_price'] - $taxBase;
        $taxPctge  = $taxBase > 0 ? round($taxAmount / $taxBase * 100) : 21;

        $lines[] = [
            'description'             => $product['product_name'],
            'quantity'                => (int) $product['product_quantity'],
            'unit_price'              => $taxBase / $product['product_quantity'],
            'tax_base'                => $taxBase,
            'tax_pctge'               => $taxPctge,
            'tax_amount'              => $taxAmount,
            'tax_withholding_pctge'   => 0,
            'tax_withholding_amount'  => 0,
            'tax_type'                => 'IVA',
            'clave_regimen'           => '01',
            'qualification_operation' => 'S1',
            'exempt_operation'        => null,
            'total'                   => $taxBase,
        ];
    }

    $ch = curl_init('https://{su-tenant}.invo.cash/api/invoices');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST           => true,
        CURLOPT_HTTPHEADER     => [
            'Content-Type: application/json',
            'X-API-Key: ' . Configuration::get('INVOCASH_API_KEY'),
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'verifactu_issuer_territory' => 'MAINLAND',
            'simplified'                 => false,
            'lines'                      => $lines,
            'total'                      => (float) $order->total_paid,
        ]),
    ]);
    curl_exec($ch);
    curl_close($ch);
}

VeriFactu incluido automáticamente: todas las facturas creadas mediante la API de InvoCash se procesan con el sistema VeriFactu de la AEAT. Cumplimiento de la Ley Antifraude y el RD 1007/2023 sin ningún desarrollo adicional por tu parte.

Caso de uso

Tienda PrestaShop con facturación legal automática

Una tienda industrial en PrestaShop con clientes B2B necesitaba emitir facturas con datos fiscales correctos en cada pedido. La integración con InvoCash genera automáticamente cada factura VeriFactu, la vincula al pedido de PrestaShop y la envía al responsable de compras — eliminando el proceso manual y los errores asociados.

Contacto

¿Necesitas ayuda con la integración?

Nuestro equipo técnico te acompaña en todo el proceso. Sin compromiso.