Go to file
david 1490d8baf2 Recuperar de la BD el número de factura completo, con ceros delante si los tuviera.
Increment version to 0.3.3 and update SQL queries and environment variables for tax settings
2026-09-01 18:50:52 +02:00
app Recuperar de la BD el número de factura completo, con ceros delante si los tuviera. 2026-09-01 18:50:52 +02:00
enviroment Adaptación a v0.10.0 2026-08-03 14:13:37 +02:00
firebird commit inicial 2025-08-28 10:51:05 +02:00
scripts Recuperar de la BD el número de factura completo, con ceros delante si los tuviera. 2026-09-01 18:50:52 +02:00
.gitignore . 2025-12-11 10:31:15 +01:00
.prettierrc commit inicial 2025-08-28 10:51:05 +02:00
Dockerfile Subida a producción 2025-11-30 23:44:55 +01:00
Dockerfile.factuges Subida a producción 2025-11-30 12:25:10 +01:00
Dockerfile.firebird commit inicial 2025-08-28 10:51:05 +02:00
Dockerfile.verifactu Subida a producción 2025-11-30 12:25:10 +01:00
pyproject.toml . 2025-11-30 10:43:57 +01:00
README.md Subida a producción 2025-11-30 19:28:44 +01:00
setup.cfg Recuperar de la BD el número de factura completo, con ceros delante si los tuviera. 2026-09-01 18:50:52 +02:00

Factuges Sync

Proceso ETL para sincronizar datos desde una base de datos Legacy hacia MariaDB.
Incluye dos modos de sincronización:

  • factuges
  • verifactu

En desarrollo no se utiliza Docker.
En producción sí se utiliza Docker + cron.


1. Requisitos previos

  • Python 3.11 o superior
  • Git instalado
  • Acceso a las bases de datos necesarias para las pruebas
  • (Opcional) Librerías/cliente de Firebird si la BD legacy las requiere

2. Clonar el repositorio

git clone <URL_DEL_REPO> factuges-sync
cd factuges-sync

3. Crear y activar entorno virtual

python3 -m venv venv
source venv/bin/activate

En Windows:

venv\Scripts\activate

4. Instalar dependencias del proyecto

Este proyecto se instala mediante setup.cfg + pyproject.toml.

pip install --upgrade pip
pip install -e .

Esto crea el comando factuges-sync disponible en tu entorno virtual.

5. Configurar entorno de desarrollo

El código carga automáticamente:

  • environment/dev.env cuando ENV=dev
  • Variables del contenedor en producción (ENV=production)

Por tanto, en desarrollo:

export ENV=dev

(En Windows: set ENV=dev)

Revisa/edita:

environment/dev.env

Ejemplo:

DB_HOST=localhost
DB_USER=root
DB_PASS=123
SYNC_INTERVAL_MINUTES=5

6. Ejecutar el job en desarrollo

Puedes ejecutar cualquiera de los dos modos.

Opción A: usando el CLI

# Modo FACTUGES
factuges-sync factuges

# Modo VERIFACTU
factuges-sync verifactu

Opción B: llamando directamente a los módulos Python

python -m app.sync_factuges_main
python -m app.sync_verifactu_main

7. Logs en desarrollo

Si el proyecto escribe logs en logs/:

tail -f logs/job.log

8. Producción (resumen)

En producción se usa Docker y cron. Build:

./scripts/build.sh <company>

Cron job:

*/5 * * * * docker run --rm -e ENV=production -e SYNC_MODE=factuges myimage:latest