Coder Social home page Coder Social logo

bitpang98 / factura-electronica Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grupocorasa/factura-electronica

0.0 1.0 0.0 2.03 MB

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

License: Apache License 2.0

Batchfile 0.16% Java 51.98% XSLT 47.87%

factura-electronica's Introduction

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), la clase principal es CFDv33 que tiene la lógica de la version 3.3 del CFDi.

Este elemento tiene la funcionalidad necesaria para: validar, firmar, verificar y serializar CFDs.

Versión ligera

La librería presenta una alternativa debido al alto consumo de memoria que requiere la versión estandar causada por los catálogos publicados por el SAT. La versión ligera, permite generar el XML capturando los campos como cadenas simples, y deshabilita la validación de los catálogos, por lo que si no tenemos extrema precaución en este sentido el PAC nos rechazará el archivo debido a que no es un valor del catálogo.

Comprobante Fiscal Digital (CFDv33):

    CFDv33 cfd = new CFDv33(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 (TFDv11):

    CFDv33 cfd = new CFDv33(new FileInputStream(file));// Crea un CFD a partir de un InputStream
    TFDv11 tfd = new TFDv11(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.grupocorasa.cfdi</groupId>
  <artifactId>cfdi-base</artifactId>
  <version>3.3.2</version>
</dependency>
<dependency>
  <groupId>mx.grupocorasa.cfdi</groupId>
  <artifactId>cfdi-base-lightweight</artifactId>
  <version>3.3.2</version>
</dependency>

Descarga las dependencias

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

Documentos

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

Dudas y comentarios

¿Tienes algún problema o sugerencia de mejora?

Busca la respuesta 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.

Proyecto Original de:

elmer-garduno

Comenzó el proyecto pero eventualmente fue abandonado debido a su falta de tiempo.

La empresa Comercializadora Ortega y Accionistas, S.A. de C.V. tomó el proyecto ya iniciado por elmer para continuar con su mantenimiento y mejora.

El proyecto se mantendrá OpenSource para poder continuar con la mejora colectiva del mismo.

factura-electronica's People

Contributors

elmer-garduno avatar hortegag91 avatar camarillo avatar javadabadoo avatar jalgaba avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.