La versión de su navegador no está debidamente actualizada. Le recomendamos actualizarla a la versión más reciente.

Compartir

Ejemplo Complemento INE java

Libreria cfdi 3.3 java

la libreria cfdi33 te ayuda a generar facilmente el comprobante cfdi con el complemento INE,  segun las especificaciones del sat, ademas sella y valida el archivo xml cfdi creado, para mas informacion solicita un demo de la libreria aqui

EJEMPLO  INE EN JAVA

 

package com.sistemaspymes.cfdi33;

import java.math.BigDecimal;
import java.util.Date;

import javax.xml.datatype.XMLGregorianCalendar;

import com.generarxml.cfdi33.Configuracion;
import com.generarxml.cfdi33.CrearXmlCFDi33;
import com.generarxml.cfdi33.CrearXmlCFDi33.RespuestaGenerarXML;
import com.generarxml.cfdi33.Utilerias;

import mx.gob.sat.cfd._3.Comprobante;
import mx.gob.sat.cfd._3.Comprobante.CfdiRelacionados;
import mx.gob.sat.cfd._3.Comprobante.CfdiRelacionados.CfdiRelacionado;
import mx.gob.sat.cfd._3.Comprobante.Complemento;
import mx.gob.sat.cfd._3.Comprobante.Conceptos;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.CuentaPredial;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.Impuestos;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.Impuestos.Retenciones;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.Impuestos.Retenciones.Retencion;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.Impuestos.Traslados;
import mx.gob.sat.cfd._3.Comprobante.Conceptos.Concepto.Impuestos.Traslados.Traslado;
import mx.gob.sat.cfd._3.Comprobante.Emisor;
import mx.gob.sat.cfd._3.Comprobante.Receptor;
import mx.gob.sat.implocal.ImpuestosLocales;
import mx.gob.sat.ine.INE;
import mx.gob.sat.ine.INE.Entidad;
import mx.gob.sat.ine.INE.Entidad.Contabilidad;
import mx.gob.sat.ine.TAmbito;
import mx.gob.sat.ine.TClaveEntidad;
import mx.gob.sat.ine.TTipoComite;
import mx.gob.sat.ine.TTipoProc;
import mx.gob.sat.sitio_internet.cfd.catalogos.CPais;

public class EjemploCFDiIne {

public EjemploCFDiIne() {}

public void ejecutar(){

Configuracion configXML = new Configuracion();
configXML.setLicencia("2efcf80fe82e01aa9eb8a5a8acfbb161"); //LICENCIA DEMO
configXML.setInfoSistema("SI");
configXML.setComprobanteTipo("INE"); //INE

String so=System.getProperty("os.name");
if(so.contains("Linux"))
{
configXML.setRutaXML("/home/carlos/Documentos/xml/");
}
if(so.contains("Windows"))
{
configXML.setRutaXML("C:/proyectos_java/xml/");
}
configXML.setArchivoXML("ejemplo_factura_ine.xml");
//PRUEBAS
String KEY=System.getProperty("user.dir")+"/libcfdi33/pruebas/AAA010101AAA.key";
String CER=System.getProperty("user.dir")+"/libcfdi33/pruebas/AAA010101AAA.cer";
String CONTRASENA="12345678a";
configXML.setCer(CER);
configXML.setKey(KEY);
configXML.setContresena(CONTRASENA);
//configXML.setValidar_pre("SI"); // VALIDAR LA INFORMACION INGRESADA ANTES DE CREAR EL ARCHIVO XML - TIEMPO DE EJECUCION 5 A 8 SEGUNDOS
//configXML.setValidar_pos("SI"); // VALIDAR LA INFORMACION INGRESADA DESPUES DE CREAR EL ARCHIVO XML - TIEMPO DE EJECUCION 5 A 8 SEGUNDOS

/*COMPROBANTE*/
Comprobante comprobante = new Comprobante();
comprobante.setSerie("A");
comprobante.setFolio("1");
/*FORMATO DE FECHA*/
String FORMATER = "yyyy-MM-dd'T'HH:mm:ss";
Date date = new Date();
XMLGregorianCalendar fechaComprobante = Utilerias.getFechaXMLGregorian(date, FORMATER);
comprobante.setFecha(fechaComprobante);
comprobante.setSubTotal(new BigDecimal(200.00));
comprobante.setTotal(new BigDecimal(683.20));
String moneda="MXN";
comprobante.setMoneda(Utilerias.getMonedaComprobante(moneda));
String tipocomprobante="I";
comprobante.setTipoDeComprobante(Utilerias.getTipoDeComprobante(tipocomprobante));
comprobante.setFormaPago("01");
String metododepago="PUE";
comprobante.setMetodoPago(Utilerias.getMetodoDePagoComprobante(metododepago));
//comprobante.setCondicionesDePago("CONDIDCIONES");
//comprobante.setDescuento(new BigDecimal(100.00));
comprobante.setTipoCambio(new BigDecimal(1.0));
comprobante.setLugarExpedicion("45079");

/*EMISOR*/
Emisor emisor = new Emisor();
emisor.setRfc("VAAM130719H60");
emisor.setRegimenFiscal("601");
emisor.setNombre("GRUPO SISTEMAS SOLUCIONES");
comprobante.setEmisor(emisor);

/*RECEPTOR*/
Receptor receptor = new Receptor();
receptor.setNombre("CARR861127SB0");
receptor.setRfc("CARR861127SB0");
String pais="MEX";
CPais paisComprobante = Utilerias.getPaisComprobante(pais);
receptor.setResidenciaFiscal(paisComprobante);
String usoCFDI="G03";
receptor.setUsoCFDI(Utilerias.getUsoCFDiComprobante(usoCFDI));
comprobante.setReceptor(receptor);

/*CONCEPTOS*/
Conceptos conceptos = new Conceptos();
/*CONCEPTO*/
Concepto concepto = new Concepto();
concepto.setClaveProdServ("50211503");
concepto.setClaveUnidad("C81");
concepto.setNoIdentificacion("10ER");
concepto.setCantidad(new BigDecimal(1.0));
concepto.setUnidad("TONELADA");
concepto.setClaveUnidad("H87");
concepto.setDescripcion("Concepto 1");
concepto.setValorUnitario(new BigDecimal(200));
concepto.setImporte(new BigDecimal(200));

/*IMPUESTOS CONCEPTO*/
Impuestos impuestosConcepto = new Impuestos();
/*IMPUESTOS TRASLADOS*/
Traslados trasladosConcepto = new Traslados();
/*IMPUESTO TRASLADO*/
Traslado trasladoConcepto = new Traslado();
trasladoConcepto.setBase(new BigDecimal(200.00));
trasladoConcepto.setImporte(new BigDecimal(32.00));
trasladoConcepto.setImpuesto("002");
trasladoConcepto.setTasaOCuota(new BigDecimal(0.160000));
String tipoFactorTraslado="Tasa";
trasladoConcepto.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorTraslado));
trasladosConcepto.getTraslado().add(trasladoConcepto);
//
Traslado trasladoConcepto1 = new Traslado();
trasladoConcepto1.setBase(new BigDecimal(232.00));
trasladoConcepto1.setImporte(new BigDecimal(371.20));
trasladoConcepto1.setImpuesto("003");
trasladoConcepto1.setTasaOCuota(new BigDecimal(0.160000));
String tipoFactorTraslado1="Tasa";
trasladoConcepto.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorTraslado1));
trasladosConcepto.getTraslado().add(trasladoConcepto1);
impuestosConcepto.setTraslados(trasladosConcepto);

concepto.setImpuestos(impuestosConcepto);
conceptos.getConcepto().add(concepto);

comprobante.setConceptos(conceptos);

/*IMPUESTOS COMPROBANTE*/
Comprobante.Impuestos impuestosComprobante = new Comprobante.Impuestos();

/*
//RETENCIONES COMPROBANTE
Comprobante.Impuestos.Retenciones retencionesComprobante = new Comprobante.Impuestos.Retenciones();
//RETENCION COMPROBANTE
Comprobante.Impuestos.Retenciones.Retencion retencionComprobante = new Comprobante.Impuestos.Retenciones.Retencion();
retencionComprobante.setImporte(new BigDecimal(100.00));
retencionComprobante.setImpuesto("002");
retencionesComprobante.getRetencion().add(retencionComprobante);
impuestosComprobante.setRetenciones(retencionesComprobante);
*/
/*TRASLADOS COMPROBANTE*/
Comprobante.Impuestos.Traslados trasladosComprobante = new Comprobante.Impuestos.Traslados();
/*TRASLADO COMPROBANTE*/
Comprobante.Impuestos.Traslados.Traslado trasladoComprobante = new Comprobante.Impuestos.Traslados.Traslado();
trasladoComprobante.setImpuesto("002");
String tipoFactorComprobante="Tasa";
trasladoComprobante.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorComprobante));
trasladoComprobante.setTasaOCuota(new BigDecimal(0.160000));
trasladoComprobante.setImporte(new BigDecimal(32.00));
trasladosComprobante.getTraslado().add(trasladoComprobante);
/*TRASLADO COMPROBANTE 1*/
Comprobante.Impuestos.Traslados.Traslado trasladoComprobante1 = new Comprobante.Impuestos.Traslados.Traslado();
trasladoComprobante1.setImpuesto("003");
String tipoFactorComprobante1="Tasa";
trasladoComprobante1.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorComprobante1));
trasladoComprobante1.setTasaOCuota(new BigDecimal(0.160000));
trasladoComprobante1.setImporte(new BigDecimal(371.20));
trasladosComprobante.getTraslado().add(trasladoComprobante1);
impuestosComprobante.setTraslados(trasladosComprobante);

//impuestosComprobante.setTotalImpuestosRetenidos(new BigDecimal(100));
impuestosComprobante.setTotalImpuestosTrasladados(new BigDecimal(403.20));
comprobante.setImpuestos(impuestosComprobante);

//AGREGAR COMPLEMENTO INE
INE Ine = new INE();
Ine.setVersion("1.1");
//TTipoComite tipoComite = Utilerias.getTipoComite("Campaña");
//Ine.setTipoComite(tipoComite);
TTipoProc tipoProceso = Utilerias.getTipoProceso("Campaña");
Ine.setTipoProceso(tipoProceso);
Ine.setIdContabilidad(1);

Entidad entidad = new Entidad();
TAmbito ambito = Utilerias.getAmbitoEntidad("Federal");
entidad.setAmbito(ambito);
TClaveEntidad claveEntidad = Utilerias.getClaveEntidad("DIF");
entidad.setClaveEntidad(claveEntidad);

Contabilidad contabilidadEntidad = new Contabilidad();
contabilidadEntidad.setIdContabilidad(12345);
entidad.getContabilidad().add(contabilidadEntidad);

Ine.getEntidad().add(entidad);

Complemento complemento = new Complemento();
complemento.getAny().add(Ine);
//comprobante.setComplemento(Ine); //AGREGAR COMPLEMENTO FORMA ANTERIOR
comprobante.getComplemento().add(complemento); //AGREGAR COMPLEMENTO NUEVA FORMA

/*GENERAR XML*/
CrearXmlCFDi33 xml = new CrearXmlCFDi33(comprobante, configXML);
RespuestaGenerarXML res = xml.generarXMLCFDi33();

System.out.println("Ruta xml generado: "+res.getRutaArchivoXML());
System.out.println("Archivo XML en string: "+res.getArchivoXMLtexto());
System.out.println("Archivo XML en Base64: "+res.getArchivoXMLBase64());
}

 

}

Otros usuarios buscaron:  libreria cfdi 3.3,ejemplo cfdi 3.3 java, timbrar cfdi 3.3 java, validar cfdi 3.3 java, ejemplo complemento ine, xml cfdi ine