Este proyecto procesa archivos XML de facturas CFDI (SAT) y genera un reporte tabular (CSV/Excel). Incluye un dashboard (Streamlit) para explorar el reporte.xlsx.
- Python 3.10+
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtPara desarrollo (tests/lint):
pip install -r requirements-dev.txtprocesador_cfdi.py: CLI que procesa XML CFDI y genera el reporte.app.py: dashboard en Streamlit para explorar el Excel.facturas-xml/: carpeta local (ignorada por git) para tus XML de trabajo.
Procesar una carpeta con XML y exportar a Excel:
python procesador_cfdi.py facturas-xml --excel reporte.xlsxProcesar uno o varios archivos/patrones, ordenar y eliminar duplicados:
python procesador_cfdi.py facturas-xml/*.xml -orden Fecha -desc --dedupe --excel reporte.xlsxSi no usas --excel, el script genera reporte.csv en la raíz.
Opciones útiles:
--granularity invoicepara una fila por factura (mejor para dashboard).--recursivepara buscar XML en subcarpetas.--csv ruta.csvy/o--excel ruta.xlsxpara controlar salidas.
El dashboard lee reporte.xlsx desde la raíz del proyecto.
streamlit run app.pyEl reporte se genera “por concepto” (una fila por concepto) e incluye, entre otras:
Archivo,UUID,FechaEmisor_RFC,Emisor_NombreReceptor_RFC,Receptor_NombreSubTotal,Total,Moneda,TipoCambioClaveProdServ,Descripcion,Cantidad,ValorUnitario,Importe,IVA
- Actualmente el parser está orientado a CFDI 4.0 (namespace
http://www.sat.gob.mx/cfd/4). facturas-xml/,reporte.xlsxy otros artefactos locales se ignoran por defecto vía.gitignore.
GPL-3.0-or-later. Ver LICENSE.