Skip to content

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)

License

Notifications You must be signed in to change notification settings

maxmario/factura-electronica

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

factura-electronica

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)

Build Status

Librería de componentes

La librería presenta una interfaz muy simple centrada en el Comprobante Fiscal Digital (CFD), las clases principales son CFDv32 y CFDv22 que tienen la lógica correspondiente a las versiones 3.2 y 2.2 del CFD respectivamente.

Cada uno de estos elementos tiene la funcionalidad necesaria para: validar, firmar, verificar y serializar CFDs.

Comprobante Fiscal Digital por Internet (CFDv32):

    CFDv32 cfd = new CFDv32(new FileInputStream(file)); // Crea un CFD a partir de un InputStream
    Key key = KeyLoader.loadPKCS8PrivateKey(new FileInputStream(keyfile),  password);
    Certificate cert = KeyLoader.loadX509Certificate(new FileInputStream(certFile));
    Comprobante sellado = cfd.sellarComprobante(key, cert); // Firma el CFD y obtiene un Comprobante sellado
    cfd.validar(); // Valida el XML, que todos los elementos estén presentes
    cfd.verificar(); // Verifica un CFD ya firmado
    cfd.guardar(System.out); // Serializa el CFD a un OutputStream

Comprobante Fiscal Digital (CFDv22):

    CFDv22 cfd = new CFDv22(new FileInputStream(file)); // Crea un CFD a partir de un InputStream
    Key key = KeyLoader.loadPKCS8PrivateKey(new FileInputStream(keyfile),  password);
    Certificate cert = KeyLoader.loadX509Certificate(new FileInputStream(certFile));
    Comprobante sellado = cfd.sellarComprobante(key, cert); // Firma el CFD y obtiene un Comprobante sellado
    cfd.validar(); // Valida el XML, que todos los elementos estén presentes
    cfd.verificar(); // Verifica un CFD ya firmado
    cfd.guardar(System.out); // Serializa el CFD a un OutputStream

Timbre Fiscal Digital (TFDv1):

    CFDv32 cfd = new CFDv32(new FileInputStream(file));// Crea un CFD a partir de un InputStream
    TFDv1 tfd = new TFDv1(cfd); // Crea un TDF a partir del CDF
    PrivateKey key = KeyLoader
        .loadPKCS8PrivateKey(new FileInputStream(keyfile), password);
    tfd.timbrar(key); // Timbra el CDF
    tfd.verificar(cert); // Verifica el TDF
    tfd.guardar(System.out); // Serializa el CFD timbrado a un OutputStream

Instalación

Utiliza maven

<dependency>
  <groupId>mx.bigdata.cfdi</groupId>
  <artifactId>cfdi-base</artifactId>
  <version>0.2.5</version>
</dependency>

Descarga las dependencias

  1. Descarga la última versión de las librerías
  2. Descomprime el archivo cfdi-base-0.2.5-bin.zip
  3. Agrega todos los archivos jar al classpath de tu aplicación.

Documentos

Entérate de las mejoras y actualizaciones a las librerías a través de nuestra cuenta de twitter.

Valida tus CFD-I utilizando el Validador de forma y sintaxis de Comprobantes Fiscales Digitales v3.

Encuentra más información sobre los CFDI en las siguientes referencias las siguientes referencias:

Proyectos relacionados

Facturatron Interfaz gráfica open source para faturación, que permite conectarse con múltiples PAC.

Dudas y comentarios

¿Tienes algún problema o sugerencia de mejora?

Busca la respuesta en la sección de preguntas frecuentes o en la sección de seguimiento. Si no encuentras la respuesta, crea una nueva entrada utilizando la liga de New Issue y haremos todo lo posible por solucionarlo.

About

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 61.4%
  • XSLT 38.4%
  • Batchfile 0.2%