Sin impuesto Con impuesto

NIF mal escrito en la compra: factura simplificada y avisos

Con la llegada de Verifactu, varios miembros debatieron qué hacer cuando el cliente escribe mal su NIF o rellena el campo empresa con cualquier cosa. La propuesta de Gustavo: a particulares, factura simplificada; a empresas, factura completa con el NIF comprobado.

Equipo Rekire
Actualizado: 04/10/2025 7
NIF mal escrito en la compra: factura simplificada y avisos
Compartir:

Con Verifactu en el horizonte, la pregunta se repitió durante semanas en el grupo: ¿qué haces cuando un cliente escribe mal su NIF? La postura que más apoyo tuvo, la de Gustavo, de la comunidad: a los particulares, factura simplificada; a las empresas, factura completa con el NIF comprobado, y sin perseguir a nadie por un dígito mal puesto.

El problema

En una tienda online el NIF lo escribe el cliente. Si se equivoca, la factura sale con un dato falso, y con un sistema que envía cada registro a la AEAT corregirla ya no es tan sencillo como editar el pedido. A eso se suma el campo empresa, donde la gente escribe «autónomo», «cuenta propia» o «no soy empresa».

Un compañero, que vende recambios, lo explicaba así: es un trabajo extra que les han metido y que complica mucho la gestión. Pensaba en una casilla de «soy empresa» para que esos pedidos los revise una persona antes de facturar.

Las opciones que se pusieron sobre la mesa

Gustavo resumió lo que estaba viendo hacer a otras tiendas:

  1. Obligar a poner el DNI y perseguir al cliente si lo pone mal.
  2. Obligar, comprobarlo contra la AEAT y avisar de que, si no es correcto, se emitirá factura simplificada.
  3. Comprobarlo solo a partir de cierto importe, por encima del cual la factura simplificada sin identificar no vale.

Y su consejo: si la mayoría de tus ventas son de particulares e importes bajos, factura simplificada por defecto (lo que antes llamábamos ticket) y factura completa cuando el cliente es empresa y da bien sus datos. Para detectar los pedidos con problemas, un aviso de «has escrito mal el CIF» en el checkout y un estado de pedido tipo «NIF incorrecto».

Otro miembro puso el contrapunto: no metas fricción en el pago. Que el cliente pueda comprar siempre, aunque la factura se genere después, cuando el dato esté bien.

Comprobar el formato antes de comprobar con la AEAT

Hay dos niveles de validación:

  • Formato y letra de control. Se hace en el propio navegador o en PHP y detecta los errores de tecleo y los «11111111». Gustavo compartió en noviembre una función que hace esto para varios países (Portugal, Países Bajos, Bélgica…), cada uno con su algoritmo.
  • Censo de la AEAT. Confirma que el NIF existe y que corresponde a ese nombre. Necesita un certificado y una conexión con la Agencia Tributaria.

Para el DNI y el NIE españoles, la letra se calcula con el resto de dividir el número entre 23:

function dniValido(string $dni): bool
{
    $dni = strtoupper(str_replace([' ', '-'], '', $dni));
    if (!preg_match('/^([XYZ]|\d)(\d{7})([A-Z])$/', $dni, $m)) {
        return false;
    }
    $numero = strtr($m[1], ['X' => '0', 'Y' => '1', 'Z' => '2']) . $m[2];

    return 'TRWAGMYFPDXBNJZSQVHLCKE'[(int) $numero % 23] === $m[3];
}

El CIF de las empresas tiene otro dígito de control y la validación es distinta.

El campo «empresa» es el que más guerra da

Gustavo no encontró una forma automática de distinguir «Autónomo» escrito por un particular de una sociedad llamada «Autónomo S.L.». Lo práctico: no uses el campo empresa para decidir el tipo de factura. Decide por el NIF: si es un NIF de empresa válido, factura completa; si no, simplificada.

La factura simplificada tiene límites de importe y, si el cliente es empresario y te lo pide, tienes que incluir su NIF y su domicilio. Confirma con tu asesor los importes que te aplican según tu actividad.

Gustavo tiene un módulo que verifica el NIF en tiempo real con la AEAT: AEAT NIF Verify. En Rekire, RKR Datos de Facturación permite que el cliente pida factura, valida el NIF y gestiona la simplificada.

Esto salió en @PrestashopEsp, la mayor comunidad PrestaShop de España en Telegram. Ver la conversación

Cargando...
Cookies
Volver arriba