¿Qué hace statement-bookkeeping?
Habilidad de agente para consolidar estados de cuenta de WeChat, Alipay, JD y bancos — detección de duplicados, reconocimiento de transferencias y escritura en ezBookkeeping tras revisión.
Descripción
Esta habilidad automatiza el proceso de unir múltiples extractos bancarios (WeChat, Alipay, JD.com, y bancos) en un solo libro contable. Detecta transacciones duplicadas entre archivos, reconoce transferencias internas (por ejemplo, de WeChat a Alipay), y permite revisar los datos antes de subirlos a ezBookkeeping.
Requisitos
- Python 3.10+
- Acceso a los archivos de extracto en formato CSV o Excel
- Cuenta en ezBookkeeping con token de API
Instalación
-
Clona este repositorio:
git clone https://github.com/DNAlec/statement-bookkeeping.git cd statement-bookkeeping -
Instala las dependencias:
pip install -r requirements.txt -
Configura las variables de entorno:
export EZBOOKKEEPING_TOKEN='tu_token_aqui' export EZBOOKKEEPING_URL='https://tu-instancia.ezbookkeeping.com'
Uso
- Coloca los archivos de extracto en la carpeta
inputs/. - Ejecuta el script principal:
python main.py - Revisa el resumen generado y confirma la escritura en ezBookkeeping.
Ejemplo
from statement_bookkeeping import process_statements
result = process_statements(input_dir='./inputs')
print('Transacciones consolidadas:', len(result.transactions))
print('Duplicados eliminados:', result.duplicates_removed)
print('Transferencias identificadas:', result.transfers_identified)
Plataformas compatibles
- Claude Code
- Cursor
- Codex
- Otros agentes que soporten scripts Python
Cómo funciona
- Carga: Lee los archivos de extracto de las carpetas correspondientes.
- Normalización: Convierte cada formato al estándar interno (fecha, monto, descripción, tipo).
- Deduplicación: Identifica transacciones idénticas en múltiples archivos y conserva una sola.
- Reconocimiento de transferencias: Busca pares de transacciones con montos similares y marcas de tiempo cercanas entre cuentas.
- Revisión: Genera un reporte con los cambios propuestos.
- Escritura: Tras confirmación, envía los datos a ezBookkeeping vía API REST.
Personalización
Puedes modificar las reglas de deduplicación y reconocimiento de transferencias editando el archivo config.yaml:
deduplication:
tolerance_seconds: 60 # Ventana de tiempo para considerar duplicados
amount_tolerance: 100 # Tolerancia en centavos
transfer_detection:
max_time_diff_minutes: 10
amount_match_exact: true
Licencia
Este proyecto está licenciado bajo la MIT License. Consulta el archivo LICENSE para más detalles.