Coder Social home page Coder Social logo

cfdi's Introduction

CFDI - Java

GitHub release (latest by date) License: MIT Donaciones

Descripción

Paquetes Java para dar soporte a Comprobante Fiscal Digital por Internet.

Como utilizarlo

Como dependencias de Maven

  1. Agrega las siguientes líneas en la sección de <servers> de tu archivo de configuración de Maven ($M2_HOME/conf/settings.xml o ~/.m2/settings.xml):
<server>
    <id>github</id>
    <username>tuUsuarioDeGithub</username>
    <password>tuToken</password>
</server>
  1. Agrega la siguiente dependencia en la sección <dependencyManagement> de tu archivo pom.xml:
<dependency>
    <groupId>io.github.percontmx.cfdi</groupId>
    <artifactId>bom-all</artifactId>
    <version>1.1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
  1. En tu sección de <dependencies> agrega los componentes que necesites. Para agregar, por ejemplo, el paquete de CFDI 3.3, agrega lo siguiente:
<dependency>
    <groupId>io.github.percontmx.cfdi</groupId>
    <artifactId>cfdi-v3_3</artifactId>
</dependency>

Ejemplo

<?xml version="1.0" encoding="UTF-8" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.mycompany</groupId>
  <artifactId>cfdi-ejemplo</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <dependencyManagement>
     <dependencies>
        <dependency>
            <groupId>io.github.percontmx.cfdi</groupId>
            <artifactId>bom-all</artifactId>
            <version>1.1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
        <groupId>io.github.percontmx.cfdi</groupId>
        <artifactId>cfdi-v3_3</artifactId>
    </dependency>

    <dependency>
        <groupId>io.github.percontmx.cfdi</groupId>
        <artifactId>nomina-v1_2</artifactId>
    </dependency>

    <dependency>
        <groupId>io.github.percontmx.cfdi</groupId>
        <artifactId>tfd-v1_1</artifactId>
    </dependency>
  </dependencies>
</project>

cfdi's People

Contributors

alexpercont avatar

Watchers

 avatar  avatar

cfdi's Issues

Crear perfiles de liberación

Crear perfiles para cada proyecto, que permitan la generación de distintos artefactos para la liberación de una versión. Por ejemplo:

  • código fuente.
  • código fuente de pruebas.
  • documentación (javadoc).

Actualmente siempre se generan todos los artefactos mencionados en CFDI 3.3 pero para las versiones snapshot esto puede ser no necesario.

Bindings de nómina v1.2

Personalizar los nombres de los tipos de datos de nómina v1.2 así como los catálogos de nómina.

Migración a Gradle

En un futuro cercano se planea migrar todo el proyecto a Gradle, para aprovechar las bondades de Gradle e implementar algunas funcionalidades que no es posible hacer con Maven.

Paquete de validadores

Crear proyecto para incluir una capa de validadores para ciertos elementos de los datos para los demás proyectos:

  • RFC (persona física, moral o ambos),
  • CURP,
  • Correos electrónicos,
  • Números telefónicos,
  • etcétera.

Las rutinas de validación deben ser compatibles con Bean Validation API 2.0 y probarse con la implementación de referencia para esta API (Hibernate Validator.

Crear Bill of materials

Crear proyecto bill of materials para manejar las versiones de todos los paquetes desde un solo proyecto.

Renombrar atributos en CFDI v3.3

Renombrar los siguientes atributos en la clase principal Comprobante:

  • Version a Versión.
  • FormaPago a FormaDePago.
  • NoCertificado a NúmeroDeCertificado.
  • TipoCambio a TipoDeCambio.
  • MetodoPago a MétodoDePago.
  • LugarExpedicion a LugarDeExpedición.
  • Confirmacion a Confirmación.

Nuevo proceso de release

Maven-release-plugin no fue del todo útil.

Crear otro proceso de release que no utilice maven release plugin.

Migrar a Java 11

Actualmente el código está compilado vs Java 8 (la cual por defecto tiene JAXB).
Actualizar la compilación a Java 11.

Catálogos CFDI

Extraer componente de catálogos CFDI de CFDI 3.3 y crear su propio proyecto dentro del módulo de catálogos.

Reparar workflow de pull request de CFDI v3.3.

A partir de que se separaron el proyecto padre CFDI y CFDI v3.3, el workflow para verificar pull requests no se está ejecutando.
Reparar el workflow de CFDI v3.3 para pull requests y verificar si se puede crear un workflow genérico para todos los paquetes que se crearán más adelante.

Separar clase de comprobante en múltiples clases.

Conforme a la definición del esquema de CFDI versión 3.3, JAXB genera una sola clase principal Comprobante y el resto de los elementos los genera como clases internas.
Esta tarea consiste en personalizar los bindings para generar múltiples clases.

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.