Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/entreunosyceros/lefa/llms.txt

Use this file to discover all available pages before exploring further.

Esta guía te lleva desde cero hasta tu primera factura emitida en aproximadamente diez minutos. Verás cómo obtener LEFA, arrancarlo por primera vez, rellenar tus datos como emisor y completar el flujo completo de facturación: elegir cliente, añadir líneas e importe, y generar el PDF y el XML Facturae de forma automática.

Requisitos previos

Antes de empezar comprueba que tienes lo siguiente:
RequisitoDetalle
Python 3.10 o superiorDisponible en python.org. En Linux suele venir instalado; en Windows descarga el instalador oficial y marca Add Python to PATH.
Entorno de escritorio activoNecesario para que keyring pueda guardar la contraseña SMTP en el llavero del sistema. En Linux (GNOME, KDE, XFCE…) y en Windows el escritorio normal es suficiente.
Conexión a internet (solo la primera vez)run_app.py descarga las dependencias de PyPI al crear el entorno virtual. Las ejecuciones posteriores son completamente offline.
En Linux, si ejecutas LEFA en una sesión SSH sin entorno gráfico (headless), el módulo keyring puede fallar al no encontrar el demonio D-Bus de sesión. Para uso normal en escritorio no se requiere ninguna configuración adicional.

Inicio rápido (recomendado)

El script run_app.py automatiza todo el proceso: comprueba si existe el entorno virtual .venv, lo crea si no existe, instala las dependencias desde requirements.txt y arranca la aplicación. Es la forma más sencilla de poner LEFA en marcha sin pasos adicionales.
cd LEFA
python3 run_app.py
La primera vez verás mensajes como «Creando entorno virtual en .venv …» e «Instalando dependencias en el entorno virtual …». En las ejecuciones posteriores el arranque es inmediato porque el entorno ya existe.
Si el directorio del proyecto no tiene permisos de escritura (por ejemplo en una instalación en /usr/share/), run_app.py creará el entorno virtual en ~/.local/share/lefa/.venv automáticamente.

Instalación manual

Si prefieres controlar cada paso o integrar LEFA en un flujo de trabajo propio, puedes instalar y ejecutar la aplicación manualmente:
1

Clona o descarga el proyecto

Descarga el repositorio desde github.com/entreunosyceros/lefa y accede a la carpeta raíz:
cd LEFA
2

Crea el entorno virtual

python3 -m venv .venv
3

Activa el entorno virtual

source .venv/bin/activate
4

Instala las dependencias

pip install -r requirements.txt
Esto instalará PyQt6, SQLAlchemy, FPDF2, qrcode, keyring y el resto de paquetes necesarios.
5

Arranca la aplicación

python main.py
main.py inicializa la base de datos SQLite en ~/.lefa/lefa.db y abre la ventana principal de LEFA.

Primera ejecución

Al arrancar por primera vez, LEFA comprueba si la base de datos está vacía. Si es así, crea automáticamente tres clientes de ejemplo para que puedas explorar la interfaz sin necesidad de introducir datos manualmente. Verás un diálogo de bienvenida que te orienta sobre los pasos iniciales recomendados: configurar tus datos de empresa en Herramientas → Preferencias y, opcionalmente, configurar el correo SMTP en Herramientas → Configurar correo electrónico. Puedes cerrar este diálogo en cualquier momento; todas estas opciones siguen accesibles desde el menú superior.
LEFA coloca un icono en la bandeja del sistema al arrancar. Si cierras la ventana principal con el botón ✕, la aplicación sigue ejecutándose en la bandeja. Para salir completamente usa Archivo → Salir o el menú contextual del icono de bandeja.

Configura tus datos

Antes de emitir facturas reales debes rellenar los datos de tu empresa emisora. Ve a Herramientas → Preferencias… y completa la sección Empresa emisora:
CampoDescripción
Nombre / razón socialTu nombre completo o el de tu actividad
NIFTu número de identificación fiscal
DirecciónDirección fiscal completa
Teléfono y emailDatos de contacto que aparecerán en el PDF
IBANNecesario para la generación correcta del XML Facturae y para envíos a la administración pública (FACe)
También puedes configurar en esta misma pantalla los valores por defecto de IVA e IRPF, el formato y las series de numeración de facturas, la carpeta donde se guardarán los PDFs y el logotipo que aparecerá en los documentos generados.
Sin IBAN configurado, el XML Facturae se generará igualmente, pero la plataforma FACe (facturas a la administración pública) rechazará el fichero. Si facturas a organismos públicos, rellena este campo antes de emitir.

Emite tu primera factura

Con los datos de emisor guardados ya puedes crear y emitir tu primera factura:
1

Abre la pestaña Nueva Factura

En la barra de pestañas de la ventana principal, haz clic en Nueva Factura. LEFA recordará el último cliente utilizado si ya existe alguno en la base de datos.
2

Selecciona el cliente

Elige al destinatario de la factura en el desplegable Cliente. Si el cliente aún no existe, ve a Clientes → Nuevo cliente… en el menú superior para crearlo con nombre, NIF y, opcionalmente, dirección de correo electrónico.
3

Elige la serie y el vencimiento

Selecciona la serie de facturación (por defecto FACT) y el vencimiento en días desde la fecha de emisión. LEFA asignará el número correlativo automáticamente al emitir.
4

Añade las líneas de la factura

Haz clic en Añadir línea para introducir una descripción, cantidad y precio manualmente. También puedes usar:
  • Añadir servicio — selecciona un concepto del catálogo de servicios con precio e IVA predefinidos.
  • Añadir plantilla — rellena la línea desde una plantilla reutilizable (Herramientas → Plantillas de líneas…).
LEFA calcula el subtotal, IVA e IRPF en tiempo real conforme añades líneas.
5

Emite la factura

Haz clic en Emitir Factura. LEFA realizará de forma automática y simultánea:
  • Asignación del número oficial correlativo dentro de la serie elegida.
  • Generación del PDF en la carpeta configurada en Preferencias (por defecto ~/.lefa/facturas_pdf/).
  • Generación del XML Facturae en ~/.lefa/facturas_xml/.
  • Cálculo y encadenamiento del registro VeriFactu (hash SHA-256) e impresión del QR tributario en el PDF.
La factura pasa al estado Emitida y queda bloqueada para edición. Puedes consultarla en cualquier momento desde la pestaña Listado.
6

Envía la factura por correo (opcional)

Si has configurado tu cuenta SMTP en Herramientas → Configurar correo electrónico…, pulsa Enviar por email para remitir el PDF directamente al cliente desde LEFA. El estado de envío quedará registrado en el Listado con fecha y destinatario.

Variables de entorno (opcionales)

LEFA respeta dos variables de entorno que permiten personalizar las rutas del proyecto y del entorno virtual, útiles en instalaciones empaquetadas o configuraciones no estándar:
VariableDescripción
LEFA_PROJECT_DIRRuta raíz del proyecto. run_app.py la establece automáticamente al arrancar; también puede definirse antes de ejecutar para forzar una ruta concreta (por ejemplo, en un paquete .deb instalado en /usr/share/).
LEFA_VENVRuta explícita al entorno virtual que debe usar run_app.py. Si no se define, se usa .venv dentro del proyecto o ~/.local/share/lefa/.venv según los permisos del directorio.
Ejemplo de uso en Linux:
export LEFA_PROJECT_DIR=/opt/lefa
export LEFA_VENV=/opt/lefa/.venv
python3 /opt/lefa/run_app.py

Build docs developers (and LLMs) love