Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XML CFDI 4.0 Mock Generator ⚡

Suite de Herramientas de Testing Fiscal | Generación masiva, instantánea y 100% local en navegador de XMLs CFDI 4.0 con apego estricto a los esquemas del SAT de México.

Esta aplicación web independiente y premium ha sido diseñada para que desarrolladores de ERPs, consultores de TI y personal de QA puedan generar lotes de archivos XML de prueba de forma aleatoria pero con estructuras y cálculos matemáticos 100% válidos.

Es el complemento ideal para pipelines de desarrollo y herramientas de visualización masiva (como procesadores de XML a PDF construidos en .NET MAUI).


🚀 Características Principales

1. Tipos de Comprobante Soportados

  • Ingreso (I): Facturas estándar de venta con desglose de IVA (16%).
  • Egreso (E): Notas de crédito con relación lógica automática a facturas previas usando <cfdi:CfdiRelacionados TipoRelacion="01">.
  • Traslado (T): Comprobantes de traslado para tránsito de mercancías con importes en cero y sin desglose de impuestos.
  • Pago (P): Recibos Electrónicos de Pago (REP 2.0) con distribución de montos amortizados (DoctoRelacionado) y desglose proporcional de IVA.
  • Nómina (N): Recibos de nómina (Nómina 1.2) con sumas bi-weekly cuadradas (SubTotal = Percepciones, Descuento = Deducciones, Total = Neto a pagar).

2. Complementos SAT de Última Generación

  • Carta Porte 3.1: Mapeo completo de ubicaciones (origen/destino), operador, autotransporte y mercancías. Incluye la autogeneración del identificador obligatorio IdCCP reglamentado por el SAT (CCCxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
  • Comercio Exterior 2.0 (CCE): Facturas de exportación definitiva (A1) con moneda USD, tipo de cambio simulado, receptor extranjero (XEXX010101000) y desglose de fracciones arancelarias.

3. Sellado y Timbrado de Pruebas (Listo para QA)

  • Cada archivo XML incluye de forma automática el complemento <tfd:TimbreFiscalDigital> (Versión 1.1).
  • Utiliza el RFC del PAC de pruebas oficial autorizado por el SAT (SAD110722MQA), un número de certificado SAT válido en listas LCO de test y firmas simuladas (SelloCFD y SelloSAT), garantizando que tus sistemas de QA los cataloguen como transacciones finalizadas.

4. UI/UX Premium (Glassmorphism & Cyber Space)

  • Formulario Inteligente: Sincroniza dinámicamente los complementos válidos según el tipo de comprobante seleccionado, previniendo errores de configuración.
  • Consola en Tiempo Real: Muestra el progreso del lote y el estado de compresión ZIP.
  • Modal Code Viewer: Previsualizador con resaltado de sintaxis XML responsivo (con salto de línea automático pre-wrap para evitar scrolls horizontales molestos).

🛠️ Arquitectura de Componentes (TypeScript)

El proyecto sigue un diseño orientado a objetos y desacoplado en componentes independientes para facilitar su mantenimiento y escalabilidad:

xml-cfdi-mock-generator/
├── index.html                   # HTML responsivo a dos columnas
├── package.json                 # Scripts de Vite y dependencias estáticas
├── src/
│   ├── main.ts                  # Orquestador y controlador de eventos
│   ├── css/
│   │   └── style.css            # Estilos Glassmorphism Premium
│   ├── components/
│   │   ├── ConfigPanel.ts       # Manejo de inputs del formulario y locks lógicos
│   │   ├── ConsolePanel.ts      # Log de eventos de consola con callbacks del DOM
│   │   ├── ProgressPanel.ts     # Control visual de la barra de progreso
│   │   └── PreviewModal.ts      # Visualizador de código con resaltador de sintaxis
│   ├── generators/
│   │   ├── cfdiGenerator.ts     # Comprobante base y orquestación fiscal
│   │   ├── cartaPorte31.ts      # Lógica Carta Porte 3.1
│   │   ├── pagos20.ts           # Lógica Recepción de Pagos 2.0
│   │   ├── comercioExterior20.ts# Lógica Comercio Exterior 2.0
│   │   ├── nomina12.ts          # Lógica Nómina 1.2
│   │   └── mockData.ts          # Catálogos oficiales SAT de prueba (12 RFCs)
│   └── utils/
│       ├── satMath.ts           # Redondeo aritmético a 2 decimales
│       └── xmlFormat.ts         # Identador estético de XML

💻 Desarrollo Local

Para levantar el proyecto en tu entorno local, asegúrate de tener instalado Node.js.

  1. Clonar el repositorio:

    git clone https://github.com/tu-usuario/xml-cfdi-mock-generator.git
    cd xml-cfdi-mock-generator
  2. Instalar dependencias:

    npm install
  3. Correr en modo desarrollo:

    npm run dev

    Abre tu navegador en http://localhost:5173.

  4. Compilar para producción:

    npm run build

    Esto generará la carpeta dist/ con los archivos estáticos listos para subir a producción.


☁️ Despliegue en Vercel (Costo Cero)

Este proyecto funciona al 100% en el lado del cliente (Client-Side). No tiene base de datos ni backend de pago, lo que permite alojarlo de forma gratuita de por vida.

Pasos para desplegar en Vercel:

  1. Sube tu código a un repositorio de GitHub.
  2. Inicia sesión en Vercel y haz clic en Add New > Project.
  3. Importa tu repositorio de GitHub.
  4. Vercel detectará automáticamente que es un proyecto Vite.
  5. Haz clic en Deploy. ¡Listo! Cada cambio que subas a tu rama principal se compilará y actualizará en Vercel de forma automática e inmediata.

🗺️ Roadmap de Evolución

  • Fase 2: Integrar un formulario dinámico para cargar CSDs (Certificados de Sello Digital) de prueba y firmar criptográficamente los XMLs en el navegador.
  • Fase 3: Liberar un paquete CLI en npm para automatizar la generación de XMLs desde scripts de terminal e integración continua (CI/CD).
  • Fase 4: Añadir renderizado PDF de la representación impresa localmente usando pdfmake.

About

Descripción: Generador masivo, local e instantáneo de XML CFDI 4.0 de prueba para México. Soporta Carta Porte 3.1, Pagos 2.0, Comercio Exterior 2.0, Nómina 1.2 e inyección de Timbre Fiscal (TFD 1.1). 100% Client-Side (Vite + TS).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages