Genera facturas VeriFactu automáticamente al validar pedidos en PrestaShop 1.7+. Módulo listo para instalar.
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.
El cliente realiza el pago. PrestaShop valida el pedido y dispara el hook actionValidateOrder con todos los datos.
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.
InvoCash genera la factura, la valida con la AEAT y opcionalmente envía el PDF al email del cliente automáticamente.
// 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);
}
}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.
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.
Nuestro equipo técnico te acompaña en todo el proceso. Sin compromiso.