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

Compartir

  • Ejemplo validar cfdi 3.3
  • Ejemplo sellar cfdi 3.3
  • Ejemplo de Timbrado Factura Electrónica CFDI 3.3
  • Ejemplo cfdi 3.3 java
  • CFDI 3.3 SAT
  • cfdi version 3.3
  • xml cfdi 3.3
  • cambios cfdi 3.3
  • generar xml cfdi 3.3
  • ejemplo xml cfdi
Ejemplo cfdi 3.3 java

Ejemplo cfdi 3.3 java

Publicado 13/06/2017

La libreria cfdi33 te ayuda a generar, sellar, validar cfdi 3.3, tu solo le metes/agregas los valores capturados o de tu base de datos,  solicita un demo de la libreria aqui

Crear cfdi 3.3 sat java

/** CLASE EJEMPLO CREAR CFDI 3.3**/

public class EjemploCFDi33 {

    public EjemploCFDi33() {}
    
    public void ejecutar(){

        Configuracion configXML = new Configuracion();
        configXML.setLicencia("fafd12f8e61badc25e3b77643a4e24c2"); //LICENCIA DEMO
        configXML.setInfoSistema("SI");  //MUESTRA INFORMACION DEL SISTEMA OPERATIVO Y PATH JAVA (OPCIONAL)
        configXML.setComprobanteTipo("FACTURA"); //TIPO DE COMPROBANTE CFDI 3.3 A GENERAR
        
        String so=System.getProperty("os.name");
        if(so.contains("Linux"))
        {
            configXML.setRutaXML("/home/carlos/Documentos/xml/"); //RUTA DONDE SE GUARDARA EL ARCHVO XML EN WINDOWS
        }
        if(so.contains("Windows"))
        {
            configXML.setRutaXML("C:/proyectos_java/xml/"); //RUTA DONDE SE GUARDARA EL ARCHVO XML EN WINDOWS
        }
        configXML.setArchivoXML("ejemplo_factura33.xml"); //NOMBRE DEL ARCHIVO XML QUE SE CREARA
        //PRUEBAS
        String KEY=System.getProperty("user.dir")+"/libcfdi33/pruebas/FIEL_Pruebas_VAAM130719H60.key";
        String CER=System.getProperty("user.dir")+"/libcfdi33/pruebas/FIEL_Pruebas_VAAM130719H60.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
        //configXML.setValidar_pos("SI"); // VALIDAR LA INFORMACION INGRESADA DESPUES DE CREAR EL ARCHIVO XML
        
        /*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(1000.00));
        comprobante.setTotal(new BigDecimal(1500.00));
        String moneda="MXN";
        comprobante.setMoneda(Utilerias.getMonedaComprobante(moneda));
        String tipocomprobante="N";
        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");
        
        /*CFDI RELACIONADO*/
        CfdiRelacionado cfdiRelacionado = new CfdiRelacionado();
        cfdiRelacionado.setUUID("A39DA66B-52CA-49E3-879B-5C05185B0EF7");
        
        /*CFDI RELACIONADOS*/
        CfdiRelacionados cfdiRelacionados = new CfdiRelacionados();
        cfdiRelacionados.setTipoRelacion("01");
        cfdiRelacionados.getCfdiRelacionado().add(cfdiRelacionado);
        comprobante.setCfdiRelacionados(cfdiRelacionados);
        
        /*EMISOR*/
        Emisor emisor = new Emisor();
        emisor.setRfc("VAAM130719H60AGDSFSGFG");
        emisor.setRegimenFiscal("601");
        emisor.setNombre("GRUPO SISTEMAS SOLUCIONES");
        comprobante.setEmisor(emisor);
        
        /*RECEPTOR*/
        Receptor receptor = new Receptor();
        receptor.setNombre("VENTA A PUBLICO EN GENERAL");
        receptor.setRfc("XAXX010101000");
        receptor.setNumRegIdTrib("0000000000000");
        String pais="MEX";
        CPais paisComprobante = Utilerias.getPaisComprobante(pais);
        receptor.setResidenciaFiscal(paisComprobante);
        String usoCFDI="D05";
        receptor.setUsoCFDI(Utilerias.getUsoCFDiComprobante(usoCFDI));
        comprobante.setReceptor(receptor);

        /*CONCEPTOS*/
        Conceptos conceptos = new Conceptos();
        for(int i = 1; i <=5; i++)
        {
            /*CONCEPTO*/
            Concepto concepto = new Concepto();
            concepto.setClaveProdServ("01010101");
            concepto.setClaveUnidad("C81");
            //concepto.setNoIdentificacion("0000"+i);
            concepto.setCantidad(new BigDecimal(10.0+i));
            concepto.setUnidad("TONELADA");
            concepto.setDescripcion("Concepto"+i);
            concepto.setValorUnitario(new BigDecimal(100));
            concepto.setImporte(new BigDecimal(1000));
            
            /*IMPUESTOS CONCEPTO*/
            Impuestos impuestosConcepto = new Impuestos();
            /*IMPUESTOS TRASLADOS*/
            Traslados trasladosConcepto = new Traslados();
            /*IMPUESTO TRASLADO*/
            Traslado trasladoConcepto = new Traslado();
            trasladoConcepto.setBase(new BigDecimal(2400.00));
            trasladoConcepto.setImporte(new BigDecimal(100.00));
            trasladoConcepto.setImpuesto("001");
            trasladoConcepto.setTasaOCuota("0.160000");
            String tipoFactorTraslado="Tasa";
            trasladoConcepto.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorTraslado));
            trasladosConcepto.getTraslado().add(trasladoConcepto);
            impuestosConcepto.setTraslados(trasladosConcepto);
            
            /*IMPUESTOS RETENCIONES*/
            Retenciones retencionesConceptos = new Retenciones();
            /*IMPUESTO RETIENCION*/
            Retencion retencionConcepto=new Retencion();
            retencionConcepto.setBase(new BigDecimal(2400.00));
            retencionConcepto.setImporte(new BigDecimal(100.00));
            retencionConcepto.setImpuesto("001");
            retencionConcepto.setTasaOCuota(new BigDecimal(100.00));
            String tipoFactorRetencion="Tasa";
            retencionConcepto.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorRetencion));
            retencionesConceptos.getRetencion().add(retencionConcepto);
            impuestosConcepto.setRetenciones(retencionesConceptos);
            
            /*PREDIAL*/
            CuentaPredial predial = new CuentaPredial();
            predial.setNumero("23438222");    
            concepto.setCuentaPredial(predial);
            
            concepto.setImpuestos(impuestosConcepto);
            conceptos.getConcepto().add(concepto);
            concepto=null;
            impuestosConcepto=null;
            trasladosConcepto=null;
            trasladoConcepto=null;
            retencionesConceptos=null;
            retencionConcepto=null;
        }
        
        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("001");
        String tipoFactorComprobante="Tasa";
        trasladoComprobante.setTipoFactor(Utilerias.getTipoFactorImpuestoConceptoComprobante(tipoFactorComprobante));
        trasladoComprobante.setTasaOCuota("0.160000");
        trasladoComprobante.setImporte(new BigDecimal(100.00));
        trasladosComprobante.getTraslado().add(trasladoComprobante);
        impuestosComprobante.setTraslados(trasladosComprobante);
        
        impuestosComprobante.setTotalImpuestosRetenidos(new BigDecimal(100));
        impuestosComprobante.setTotalImpuestosTrasladados(new BigDecimal(100.00));
        comprobante.setImpuestos(impuestosComprobante);
        
        /*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());
    }

}

 

/** fin clase ejemplo generar cfdi 3.3 sat **/

/** CLASE MAIN O EN TU MODULO JAVA**/

public class InicioDemos {

    public static void main(String[] args) {
        
        /**
         * Ejemplo generar xml sellado para factura CFDi 3.3
         *
         * */
        EjemploCFDi33 ejemploCFDi33 = new EjemploCFDi33();
        ejemploCFDi33.ejecutar();
        
        
        /**
         * Ejemplo generar xml sellado de nomina 1.2
         *
         * */
        //EjemploNomina12 nomina12 = new EjemploNomina12();
        //nomina12.ejecutar();
        
        /**
         * Ejemplo generar xml sellado de nomina 1.2
         *
         * */
        //EjemploComercioExterior11 comercioExterior11 = new EjemploComercioExterior11();
        //comercioExterior11.ejecutar();
        
        
        /**
         * Ejemplo generar xml sellado del complemento de Pagos 1.0
         *
         * */
        //EjemploPagos10 pagos10 = new EjemploPagos10();
        //pagos10.ejecutar();
    }

}

/** fin clase main Demo generar cfdi 3.3**/

 

Al comprar la libreria te hacemos un ejemplo basico de conexion con el pac que tu desees, (timbrar y cancelar)

solicita un demo de la libreria aqui