Activar VeriFactu
Exportar contenido
Activa el sistema VeriFactu para tu negocio (opt-in voluntario hasta 2027).
- Ve a Configuración > Negocio — se abre la configuración del negocio.
- Localiza la sección VeriFactu.
- Activa el toggle “Activar VeriFactu” — cambia a verde.
- Guarda cambios — el sistema actualiza
verifactu_opt_in = true.
IMPORTANTE: Necesitas plan Pro o superior y autorización firmada para que VeriFactu funcione.
Requisitos
Sección titulada «Requisitos»| Requisito | Como verificarlo |
|---|---|
| Plan Pro o superior | Configuración > Suscripción |
Feature verifactu: true | En detalles del plan |
| Autorización firmada | Configuración > VeriFactu (badge verde) |
| Datos fiscales completos | Configuración > Negocio (NIF, nombre fiscal) |
Como se que lo hice bien
Sección titulada «Como se que lo hice bien»- El toggle queda en verde (activado).
- Al emitir una factura, aparece el badge SENT en VeriFactu.
- En el PDF de la factura se incluye el código QR de VeriFactu.
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa | Solución |
|---|---|---|
| Toggle deshabilitado | Plan sin feature VeriFactu | Actualizar a Plan Pro |
| Facturas no se envían | Sin autorización firmada | Completar autorización en VeriFactu |
| Facturas no se envían | Toggle inactivo | Activar toggle de VeriFactu |
Detalles tecnicos — Activar VeriFactu
Sección titulada «Detalles tecnicos — Activar VeriFactu»Campo en businesses
ALTER TABLE businessesADD COLUMN verifactu_opt_in BOOLEAN DEFAULT false;Uso:
true: Negocio activó VeriFactu voluntariamentefalse: VeriFactu desactivado (default hasta 2027)
Actualización:
UPDATE businessesSET verifactu_opt_in = true, updated_at = NOW()WHERE id = '<business_id>';Verificación de habilitación
Función: isVeriFactuEnabled(supabase, businessId)
Ubicación: supabase/functions/_shared/verifactu/service.ts
Condiciones (todas deben cumplirse):
-
Opt-in activo:
SELECT verifactu_opt_in FROM businessesWHERE id = '<business_id>'-- Debe ser TRUE -
Suscripción activa con feature:
SELECT sp.features->>'verifactu' as verifactu_featureFROM business_subscriptions bsJOIN subscription_plans sp ON sp.id = bs.plan_idWHERE bs.business_id = '<business_id>'AND bs.status IN ('active', 'trialing', 'past_due')-- verifactu_feature debe ser TRUE -
Autorización firmada y no revocada:
SELECT id FROM verifactu_authorizationsWHERE business_id = '<business_id>'AND status = 'signed'AND signed_at IS NOT NULLAND revoked_at IS NULL-- Debe existir al menos 1 registro
Resultado:
- Si todas TRUE → VeriFactu HABILITADO
- Si alguna FALSE → VeriFactu DESHABILITADO (facturas se saltan)
Logs:
[VERIFACTU] Business abc123 is fully enabled - Opt-in: true, Auth ID: xyz789o
[VERIFACTU] Business abc123 has not opted in to VeriFactu (optional until 2027)