Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

miércoles, 11 de octubre de 2017

Como generar un XML de nómina para CFDi 3.3

Como generar un XML de nómina  para CFDi 3.3

Para generar un XML hay que ver todas las reglas del documento llamado Anexo 20 que esta publicado en el portal del SAT.

http://sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/Anexo_20_version3.3.aspx

Ahí explica nodo por nodo como se forma el XML,  aparte de un proceso para generar la cadena original, el sellado del documento y por ultimo enviarlo al PAC para que le agrege el timbrado (cada PAC tiene su propio método).

Sellar el documento es como un sello de autenticidad que se realiza por medio de los certificados CSD entregados por el SAT.

Modos de generar el XML de nómina
  1. Se interpretar la documentación del SAT para generar yo mismo el XML y enviarlo al webservice del PAC, ya solo es cuestion de tiempo para programar lo necesario.
  2. Usas una función de PHP, en la cual pones los valores de la nómina como variables y al ejecutar una función me regresa el XML generado, validado, sellado y timbrado.
  3. En windows creas un archivo de texto con la información de la factura, ejecutas un programa y te regresa el XML generado, validado, sellado y timbrado.
  4. Para los amantes del .net cargan una DLL y al ejecutar una función regresa el XML generado, validado, sellado y timbrado.
Lo mas fácil son los puntos 2, 3 y 4;  ya que es una librería que se encarga de todo  y esta la puedes descargar en www.multifacturas.com

lunes, 22 de febrero de 2016

Ejemplo java para timbrar cfdi xml

Ejemplo en java para timbrar tus xml CFDI con el webservice de multifacturas.com

Descarga el ejemplo en java de la clase TimbrarMultifacturas desde http://multifacturas.com/sdk


El codigo es facil de usar y esta comentado.

Ejemplo java para timbrar cfdi

package multifacturas;

import java.util.HashMap;
import java.util.Random;

public class DemoMultifacturas {

    public static void main(String[] args) {
        Random rn = new Random();
        int pac = rn.nextInt(10) + 1;
        System.out.println("SERVIDOR MULTIFACTURAS:"+ pac);

        //TOMA UN SERVIDOR MULTIFACTURAS AL AZAR
        / /CONTAMON CON 10 SERVIDORES PARA BALANCEAR LA CARGA DE TRABAJO Y ASEGURAR DE                 //TIMBRADO DE NUESTROS CLIENTES
        String url_webservice ="http://pac"+pac+".multifacturas.com/pac/index.php?wsdl";  
        System.out.println("url servidor multifacturas:"+ url_webservice+"\n\n");

        //RFC DE PRUEBA 
        String rfc="DEMO700101XXX";
        String clave="DEMO700101XXX";
        //RUTA DEL XML SELLADO 
        String ruta_xml="C:\\multifacturas_sdk\\timbrados\\sin_timbrar_ejemplo_factura.xml";
        String produccion="NO";

        //CANCELAR UN XML
        String uuid="E353BE75-756D-46B8-82C2-91D8A3F1A7A8";
        String ruta_cer="C:\\multifacturas_sdk\\pruebas\\aaa010101aaa.cer";
        String ruta_key="C:\\multifacturas_sdk\\pruebas\\aaa010101aaa.key";
        String contraseña_csd="12345678a";

        //RESPUESTA CLASE MULTIFACTURAS
        HashMap respuesta_timbrado;
        HashMap respuesta_saldo;
        HashMap respuesta_cancelar;

        //OBJETO TimbrarMultifacturas CON 3 METODOS DE EJEMPLO
        TimbrarMultifacturas timbrar = new TimbrarMultifacturas();

        //TIMBRAR XML 
        respuesta_timbrado = timbrar.timbrarXML(url_webservice, rfc, clave, ruta_xml, produccion);
        System.out.println("Demo cfdi64=" + respuesta_timbrado.get("cfdi64"));
        System.out.println("Demo cfdi=" + respuesta_timbrado.get("cfdi"));
        System.out.println("Demo png=" + respuesta_timbrado.get("png"));
        System.out.println("Demo idpac=" + respuesta_timbrado.get("idpac"));
        System.out.println("Demo produccion=" + respuesta_timbrado.get("produccion"));
        System.out.println("Demo codigo_mf_numero=" + respuesta_timbrado.get("codigo_mf_numero"));
        System.out.println("Demo codigo_mf_texto=" + respuesta_timbrado.get("codigo_mf_texto"));
        System.out.println("Demo mensaje_original_pac_json=" +         respuesta_timbrado.get("mensaje_original_pac_json"));
        System.out.println("Demo cancelada=" + respuesta_timbrado.get("cancelada"));
        System.out.println("Demo saldo=" + respuesta_timbrado.get("saldo"));
        System.out.println("Demo uuid=" + respuesta_timbrado.get("uuid"));
        System.out.println("Demo servidor=" + respuesta_timbrado.get("servidor"));
        System.out.println("Demo ejecucion=" + respuesta_timbrado.get("ejecucion"));
         
        //       CONSULTAR SALDO   
        respuesta_saldo = timbrar.saldo(url_webservice, rfc, clave);
        System.out.println("Demo saldo codigo_mf_numero= "+respuesta_saldo.get("codigo_mf_numero"));
        System.out.println("Demo saldo codigo_mf_texto= " + respuesta_saldo.get("codigo_mf_texto"));
        System.out.println("Demo saldo saldo= " + respuesta_saldo.get("saldo"));

        //CANCELAR
        respuesta_cancelar=timbrar.cancalarXml(url_webservice, rfc, clave, uuid, ruta_cer, ruta_key,contraseña_csd);

        System.out.println("Demo cancelar idpac=" + respuesta_cancelar.get("idpac"));
        System.out.println("Demo cancelar pac=" + respuesta_cancelar.get("pac"));
        System.out.println("Demo cancelar produccion=" + respuesta_cancelar.get("produccion"));
        System.out.println("Demo cancelar codigo_mf_numero=" + respuesta_cancelar.get("codigo_mf_numero"));
        System.out.println("Demo cancelar codigo_mf_texto=" + respuesta_cancelar.get("codigo_mf_texto"));
        System.out.println("Demo cancelar mensaje_original_pac_json=" +         respuesta_cancelar.get("mensaje_original_pac_json"));System.out.println("Demo cancelar ejecucion=" +         respuesta_cancelar.get("ejecucion"));

    }
}

Como bloquera archivos adjuntos que son virus en postfix o plesk

   Como bloquear adjuntos del correo en Plesk/Postfix   1- edita el archivo  /etc/postfix/main.cf   2- busca el parametro mime_header_checks...