Buscador

Loading

viernes, 16 de diciembre de 2016

Como generar un CFDi de nómina v1.2

Librería para generar un CFDi de Nómina  v1.2

Contamos con varias librerias :

Libreria Windows / MS-DOS

Esta librería consta en generar un archivo de texto con extencion INI, el cual tiene la información de la factura. el KIT leerá el archivo conviertiendolo en un CFDi,  aquí un ejemplo

modonomina=SI
REMUEVE_ACENTOS=NO
cfdi=timbrados/cfdi_ejemplo_nomina_12.xml
xml_debug=timbrados/sin_timbrar_ejemplo_nomina_horas_extra.xml
php_openssl=SI
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO
[conf]
cer=pruebas/aaa010101aaa.cer.pem
key=pruebas/aaa010101aaa.key.pem
pass=12345678a
[factura]
serie=A
folio=100
fecha_expedicion=2016-12-13 15:44:45
metodo_pago=NA
forma_pago=PAGO EN UNA SOLA EXHIBICION
tipocomprobante=egreso
moneda=MXN
tipocambio=1
LugarExpedicion=45069
RegimenFiscal=601
subtotal=8980.75
total=7746.66
descuento=1234.09
[emisor]
rfc=AAA010101AAA
nombre=ACCEM SERVICIOS EMPRESARIALES SC
[receptor]
rfc=SOHM7509289MA
nombre=MIGUEL ANGEL SOSA HERNANDEZ
[conceptos]
[conceptos.0]
cantidad=1
unidad=ACT
descripcion=Pago de nómina
valorunitario=8980.75
importe=8980.75
[nomina]
[nomina.datos]
TipoNomina=O
FechaPago=2016-10-31
FechaInicialPago=2016-10-16
FechaFinalPago=2016-10-31
NumDiasPagados=15
TotalPercepciones=8980.75
TotalDeducciones=1234.09
TotalOtrosPagos=0.0
[nomina.receptor]
ClaveEntFed=JAL
Curp=CACF880922HJCMSR03
NumEmpleado=060
PeriodicidadPago=04
TipoContrato=01
TipoRegimen=02
Antigüedad=P21W
Banco=021
CuentaBancaria=1234567890
FechaInicioRelLaboral=2016-06-01
NumSeguridadSocial=04078873454
Puesto=Desarrollador
RiesgoPuesto=2
SalarioBaseCotApor=435.50
SalarioDiarioIntegrado=435.50
[nomina.emisor]
RegistroPatronal=5525665412
[nomina.percepciones]
TotalGravado=8980.75
TotalExento=0.00
TotalSueldos=8980.75
[nomina.percepciones.0]
TipoPercepcion=001
Clave=001
Concepto=Sueldos, Salarios Rayas y Jornales
ImporteGravado=6250.05
ImporteExento=0.00
[nomina.percepciones.1]
TipoPercepcion=049
Clave=014
Concepto=Premios de asistencia
ImporteGravado=625.00
ImporteExento=0.00
[nomina.percepciones.2]
TipoPercepcion=019
Clave=019
Concepto=Horas extra
ImporteGravado=2105.70
ImporteExento=0.00
[nomina.percepciones.2.HorasExtra]
[nomina.percepciones.2.HorasExtra.0]
Dias=2
TipoHoras=01
HorasExtra=8
ImportePagado=105.70
[nomina.percepciones.2.HorasExtra.1]
Dias=1
TipoHoras=02
HorasExtra=6
ImportePagado=1000.00
[nomina.deducciones]
TotalOtrasDeducciones=179.34
TotalImpuestosRetenidos=1054.75
[nomina.deducciones.0]
TipoDeduccion=002
Clave=001
Concepto=ISR
Importe=1054.75
[nomina.deducciones.1]
TipoDeduccion=001
Clave=012
Concepto=Seguridad social
Importe=179.34



Libreria PHP Nómina

Esta consta de un arreglo el cual será llenado con la información del XML,  al ejecutar una sola funcion tendra como respuesta un XML ya timbrado y validado

include_once "lib/cfdi32_multifacturas.php";

$datos['modonomina']='SI';

$datos['PAC']['usuario'] = 'DEMO700101XXX';
$datos['PAC']['pass'] = 'DEMO700101XXX';
$datos['PAC']['produccion'] = 'NO'; //   [SI|NO]
$datos['conf']['cer'] = 'pruebas/aaa010101aaa.cer.pem';
$datos['conf']['key'] = 'pruebas/aaa010101aaa.key.pem';
$datos['conf']['pass'] = '12345678a';



//RUTA DONDE ALMACENARA EL CFDI
$datos['cfdi']='timbrados/cfdi_ejemplo_nomina.xml';
// OPCIONAL GUARDAR EL XML GENERADO ANTES DE TIMBRARLO
$datos['xml_debug']='timbrados/sin_timbrar_ejemplo_nomina.xml';

//OPCIONAL, ACTIVAR SOLO EN CASO DE CONFLICTOS
//$datos['remueve_acentos']='SI';

//OPCIONAL, UTILIZAR LA LIBRERIA PHP DE OPENSSL, DEFAULT SI
$datos['php_openssl']='SI';

$datos['factura']['serie'] = 'A'; //opcional
$datos['factura']['folio'] = '100'; //opcional
$datos['factura']['fecha_expedicion'] = date('Y-m-d H:i:s',time()-120);// Opcional  "time()-120" para retrasar la hora 2 minutos para evitar falla de error en rango de fecha



$datos['factura']['metodo_pago'] = '01'; // VER DOCUMENTACION :: EFECTIV0, CHEQUE, TARJETA DE CREDITO, TRANSFERENCIA BANCARIA, NO IDENTIFICADO
$datos['factura']['forma_pago'] = 'PAGO EN UNA SOLA EXHIBICION';  //PAGO EN UNA SOLA EXHIBICION, CREDITO 7 DIAS, CREDITO 15 DIAS, CREDITO 30 DIAS, ETC
$datos['factura']['tipocomprobante'] = 'egreso';
$datos['factura']['moneda'] = 'MXN'; // MXN USD EUR
$datos['factura']['tipocambio'] = '1.0000'; // OPCIONAL (MXN = 1.00, OTRAS EJ: USD = 13.45; EUR = 16.86)
$datos['factura']['LugarExpedicion'] = 'MONTERREY, NUEVO LEON';
//$datos['factura']['NumCtaPago'] = '0234'; //opcional; 4 DIGITOS pero obligatorio en transferencias y cheques

$datos['factura']['RegimenFiscal'] = 'MI REGIMEN';

$datos['emisor']['rfc'] = 'AAA010101AAA'; //RFC DE PRUEBA
$datos['emisor']['nombre'] = 'ACCEM SERVICIOS EMPRESARIALES SC';  // EMPRESA DE PRUEBA
$datos['emisor']['DomicilioFiscal']['calle'] = 'JUAREZ';
$datos['emisor']['DomicilioFiscal']['noExterior'] = '100';
$datos['emisor']['DomicilioFiscal']['noInterior'] = ''; //(opcional)
$datos['emisor']['DomicilioFiscal']['colonia'] = 'CENTRO';
$datos['emisor']['DomicilioFiscal']['localidad'] = 'MONTERREY';
$datos['emisor']['DomicilioFiscal']['municipio'] = 'MONTERREY'; // o delegacion
$datos['emisor']['DomicilioFiscal']['estado'] = 'NUEVO LEON';
$datos['emisor']['DomicilioFiscal']['pais'] = 'MEXICO';
$datos['emisor']['DomicilioFiscal']['CodigoPostal'] = '01234'; // 5 digitos

//SI EX EXPEDIDO EN SUCURSAL CAMBIA EL DOMICILIO
//SI ES EN EL MISMO DOMICILIO REPETIR INFORMACION
$datos['emisor']['ExpedidoEn']['calle'] = 'HIDALGO';
$datos['emisor']['ExpedidoEn']['noExterior'] = '240';
$datos['emisor']['ExpedidoEn']['noInterior'] = ''; //(opcional)
$datos['emisor']['ExpedidoEn']['colonia'] = 'LAS CUMBRES 3 SECTOR';
$datos['emisor']['ExpedidoEn']['localidad'] = 'MONTERREY';
$datos['emisor']['ExpedidoEn']['municipio'] = 'MONTERREY'; // O DELEGACION
$datos['emisor']['ExpedidoEn']['estado'] = 'NUEVO LEON';
$datos['emisor']['ExpedidoEn']['pais'] = 'MEXICO';
$datos['emisor']['ExpedidoEn']['CodigoPostal'] = '64610'; // 5 digitos

// IMPORTANTE PROBAR CON NOMBRE Y RFC REAL O GENERARA ERROR DE XML MAL FORMADO
$datos['receptor']['rfc'] = 'SOHM7509289MA';
$datos['receptor']['nombre'] = 'MIGUEL ANGEL SOSA HERNANDEZ';
//opcional
$datos['receptor']['Domicilio']['calle'] = 'PERIFERICO';
$datos['receptor']['Domicilio']['noExterior'] = '1024';
$datos['receptor']['Domicilio']['noInterior'] = 'B';
$datos['receptor']['Domicilio']['colonia'] = 'SAN ANGEL';
$datos['receptor']['Domicilio']['localidad'] = 'CIUDAD DE MÉXICO';
$datos['receptor']['Domicilio']['municipio'] = 'ALVARO OBREGON';
$datos['receptor']['Domicilio']['estado'] = 'DISTRITO FEDERAL';
$datos['receptor']['Domicilio']['pais'] = 'MEXICO';
$datos['receptor']['Domicilio']['CodigoPostal'] = '23010'; // 5 digitos

//AGREGAR 10 CONCEPTOS DE PRUEBA
    $concepto['cantidad'] = 1;
    $concepto['unidad'] = 'SERVICIO';
    $concepto['ID'] = "NOM"; //ID, REF, CODIGO O SKU DEL PRODUCTO
//    $concepto['descripcion'] = "PRODUCTO PRUEBA > '$i'";
    $concepto['descripcion'] = "NOMINA";
    $concepto['valorunitario'] = '100.00'; // SIN IVA
    $concepto['importe'] = '100.00';

    $datos['conceptos'][] = $concepto;

$datos['factura']['subtotal'] = 1160.00; // sin impuestos
$datos['factura']['total'] = 1160.00; // total incluyendo impuestos
$datos['factura']['descuento'] = 100.00; // descuento sin impuestos

$retenido['impuesto'] = 'ISR';
$retenido['importe'] = 100.00; // iva de los productos facturados
$datos['impuestos']['retenidos'][] = $retenido;



//////////////////////////////////////////////////////////////
//DATOS GENERALES DE LA NOMINA
//////////////////////////////////////////////////////////////

//OBLIGATORIOS
$datosnomina['NumEmpleado']='1040';
$datosnomina['CURP']='DESO801116HGTLRS08';
$datosnomina['TipoRegimen']='001';
$datosnomina['FechaPago']='2013-12-13';
$datosnomina['FechaInicialPago']='2013-12-06';
$datosnomina['FechaFinalPago']='2013-12-13';
$datosnomina['NumDiasPagados']='5';
$datosnomina['PeriodicidadPago']='semanal';
//
$datosnomina['FechaInicioRelLaboral']='2012-12-13';


//OPCIONALES
/*
$datosnomina['SalarioBaseCotApor']='89.58';
$datosnomina['SalarioDiarioIntegrado']='60.50';
$datosnomina['RiesgoPuesto']='003';
$datosnomina['Departamento']='ALMACEN';
$datosnomina['Puesto']='JEFE DE ALMACEN';
$datosnomina['TipoContrato']='Base';
$datosnomina['TipoJornada']='Diurna';

$datosnomina['RegistroPatronal']='B471578365';
$datosnomina['NumSeguridadSocial']='12988020199';

// AL NO INGRESARSE LA CALCULA CON DIFERENCIA DE FECHAS FechaFinalPago-FechaInicioRelLaboral
$datosnomina['Antiguedad']='365';  //semanas
//UTILIZADOS CUANDO SE HACE TRANSFERENCIA ELECTRONICA
$datosnomina['CLABE']='012345678901234567';
$datosnomina['Banco']='123';
*/




//////////////////////////////////////////////////////////////
//AGREGA PERCEPCIONES
//PERSEPCION 1
$percepcion['TipoPercepcion']='001';
$percepcion['Clave']='019';
$percepcion['Concepto']='SUELDOS SEMANAL';
$percepcion['ImporteGravado']='2404.22';
$percepcion['ImporteExento']='0.00';
$percepciones[]=$percepcion;
unset($percepcion);

//PERSEPCION 2
$percepcion['TipoPercepcion']='010';
$percepcion['Clave']='001';
$percepcion['Concepto']='PREMIOS DE PUNTUALIDAD';
$percepcion['ImporteGravado']='240.42';
$percepcion['ImporteExento']='0.00';
$percepciones[]=$percepcion;
unset($percepcion);


//PERSEPCION 3
$percepcion['TipoPercepcion']='016';
$percepcion['Clave']='002';
$percepcion['Concepto']='PREMIOS DE ASISTENCIA';
$percepcion['ImporteGravado']='240.42';
$percepcion['ImporteExento']='0.00';
$percepciones[]=$percepcion;
unset($percepcion);

//////////////////////////////////////////////////////////////
//AGREGAR DEDUCCIONES

//DEDUCCION 1
$deduccion['TipoDeduccion']='001';
$deduccion['Clave']='008';
$deduccion['Concepto']='IMSS';
$deduccion['ImporteGravado']='64.39';
$deduccion['ImporteExento']='0.00';
$deducciones[]=$deduccion;
unset($deduccion);

//DEDUCCION 2
$deduccion['TipoDeduccion']='005';
$deduccion['Clave']='012';
$deduccion['Concepto']='INFONAVIT';
$deduccion['ImporteGravado']='64.39';
$deduccion['ImporteExento']='0.00';
$deducciones[]=$deduccion;
unset($deduccion);


//DEDUCCION 3
$deduccion['TipoDeduccion']='002';
$deduccion['Clave']='008';
$deduccion['Concepto']='ISR';
$deduccion['ImporteGravado']='360.86';
$deduccion['ImporteExento']='0.00';
$deducciones[]=$deduccion;
unset($deduccion);





// AGREGA INCAPACIDAD
// CONCEPTO 1 INCAPACIDAD

$incapacidad['DiasIncapacidad']='1';
$incapacidad['TipoIncapacidad']='1'; //Razón de la incapacidad: Catálogo publicado en el portal del SAT en internet
$incapacidad['Descuento']='1';
$incapacidades[]=$incapacidad;
unset($incapacidad);
$datos['nomina']['incapacidades']=$incapacidades;


///HORAS EXTRAS
//Dias  -- Número de días en que el trabajador realizó horas extra en el periodo
//TipoHoras -- Tipo de pago de las horas extra: Dobles o Triples
//HorasExtra -- Número de horas extra trabajadas en el periodo
//ImportePagado -- Importe pagado por las horas extra       

$horasextra['Dias']='2';
$horasextra['TipoHoras']='Dobles';
$horasextra['HorasExtra']='33';
$horasextra['ImportePagado']='1';
$horasextras[]=$horasextra;
unset($horasextra);
$datos['nomina']['horasextras']=$horasextras;

$datos['nomina']['datos']=$datosnomina;
$datos['nomina']['percepciones']=$percepciones;
$datos['nomina']['deducciones']=$deducciones;
// GENERA EL CFDi
$res= cfdi_generar_xml($datos);


DLL para generar el recibo de nómina 1.2


Tambien contamos con una DLL para generar los recibos de nómina,  abajo detalles para descargarla

Web Service recibo de nómina 1.2

Tambien contamos con un webservice compatible con nómina 1.2


Pueden descargar el KIT de desarrollo en www.multifacturas.com



jueves, 15 de diciembre de 2016

Ejemplo XML CFDi v2 recibos de Nómina con subsidio

Recibos de Nómina con subsidio v1.2 SAT


A continuación un ejemplo del CFDi de nómina v1.2  con subsidio




<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd" xmlns:nomina12="http://www.sat.gob.mx/nomina12" version="3.2" serie="A" folio="100" LugarExpedicion="45069" TipoCambio="1" Moneda="MXN" fecha="2016-12-13T13:52:07" sello="BEyVY9z92dtRz4lXyhpzlLhyD40MGI9XiR44X411tVushMkxJWbNgM2ggzdsdiodFthde5XqxYsOwEIHKmhQgMLYDEcnwKAjEI1cHlXdMavKHSKrz9sTcJd+PKZyviWIsoYTQ2PAdt7szfUWimznDswq6NtLy3tb2CzFnhiIM/4=" formaDePago="PAGO EN UNA SOLA EXHIBICION" noCertificado="20001000000200001428" certificado="MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MjgwDQYJKoZIhvcNAQEFBQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2VsaSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE2MDEyOVoXDTE3MDUwNzE2MDEyOVowgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0THEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKS/beUVy6E3aODaNuLd2S3PXaQre0tGxmYTeUxa55x2t/7919ttgOpKF6hPF5KvlYh4ztqQqP4yEV+HjH7yy/2d/+e7t+J61jTrbdLqT3WD0+s5fCL6JOrF4hqy//EGdfvYftdGRNrZH+dAjWWml2S/hrN9aUxraS5qqO1b7btlAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQACPXAWZX2DuKiZVv35RS1WFKgT2ubUO9C+byfZapV6ZzYNOiA4KmpkqHU/bkZHqKjR+R59hoYhVdn+ClUIliZf2ChHh8s0a0vBRNJ3IHfA1akWdzocYZLXjz3m0Er31BY+uS3qWUtPsONGVDyZL6IUBBUlFoecQhP9AO39er8zIbeU2b0MMBJxCt4vbDKFvT9i3V0Puoo+kmmkf15D2rBGR+drd8H8Yg8TDGFKf2zKmRsgT7nIeou6WpfYp570WIvLJQY+fsMp334D05Up5ykYSAxUGa30RdUzA4rxN5hT+W9whWVGD88TD33Nw55uNRUcRO3ZUVHmdWRG+GjhlfsD" subTotal="12500.05" descuento="1234.09" total="11265.96" metodoDePago="NA" tipoDeComprobante="egreso" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <cfdi:Emisor rfc="AAA010101AAA" nombre="ACCEM SERVICIOS EMPRESARIALES SC">
        <cfdi:RegimenFiscal Regimen="601" />
    </cfdi:Emisor>
    <cfdi:Receptor rfc="SOHM7509289MA" nombre="MIGUEL ANGEL SOSA HERNANDEZ" />
    <cfdi:Conceptos>
        <cfdi:Concepto cantidad="1" unidad="ACT" descripcion="Pago de nómina" valorUnitario="12500.05" importe="12500.05" />
    </cfdi:Conceptos>
    <cfdi:Impuestos />
    <cfdi:Complemento>
        <tfd:TimbreFiscalDigital xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="61a61e36-7c72-433b-95fa-9bf473d005db" FechaTimbrado="2016-12-13T13:57:00" selloCFD="BEyVY9z92dtRz4lXyhpzlLhyD40MGI9XiR44X411tVushMkxJWbNgM2ggzdsdiodFthde5XqxYsOwEIHKmhQgMLYDEcnwKAjEI1cHlXdMavKHSKrz9sTcJd+PKZyviWIsoYTQ2PAdt7szfUWimznDswq6NtLy3tb2CzFnhiIM/4=" noCertificadoSAT="20001000000300022323" selloSAT="nZ1Z5gdf9JFDpnZnOS5lEi93w8WUPrAEQ+Ygp/kNGia3iD5I3BCsNqtviE0S6Lxi0nwW1E5RPqr81usifEWLtiLJaltEzkJUbYzTNO44xr5j88fwgnlnl7ajwWbTKLEtsHdaGywdXOAaVig36NcNVBkSiJxkSQV8bFEdHSOHKfxwiRbSgAqgSE+1v0PEI9NR05lJ1T/ooEbmRn41/sdprdXB8g5MIfv1EwPV9ahmas9672bIe5ErW2QtqO62Wp/njcTTU7TsPBpIkrbSYKrJ1Qy5nkRkSk+R1A37LqhMSquXkcMj9ApW7RSKfnbnqwl0Tu892jXjLIx2BrFEdIhh6Q==" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
        <nomina12:Nomina Version="1.2" TipoNomina="O" FechaPago="2016-10-31" FechaInicialPago="2016-10-16" FechaFinalPago="2016-10-31" NumDiasPagados="15" TotalPercepciones="7500.05" TotalDeducciones="1234.09" TotalOtrosPagos="5000.00">
            <nomina12:Emisor RegistroPatronal="5525665412"></nomina12:Emisor>
            <nomina12:Receptor ClaveEntFed="JAL" Curp="CACF880922HJCMSR03" NumEmpleado="060" PeriodicidadPago="04" TipoContrato="01" TipoRegimen="02" Antigüedad="P21W" Banco="021" CuentaBancaria="1234567890" FechaInicioRelLaboral="2016-06-01" NumSeguridadSocial="04078873454" Puesto="Desarrollador" RiesgoPuesto="2" SalarioBaseCotApor="435.50" SalarioDiarioIntegrado="435.50"></nomina12:Receptor>
            <nomina12:Percepciones TotalGravado="7500.05" TotalExento="0.00" TotalSueldos="7500.05">
                <nomina12:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteGravado="6250.05" ImporteExento="0.00"></nomina12:Percepcion>
                <nomina12:Percepcion TipoPercepcion="049" Clave="014" Concepto="Premios de asistencia" ImporteGravado="625.00" ImporteExento="0.00"></nomina12:Percepcion>
                <nomina12:Percepcion TipoPercepcion="010" Clave="013" Concepto="Premios por puntualidad" ImporteGravado="625.00" ImporteExento="0.00"></nomina12:Percepcion>
            </nomina12:Percepciones>
            <nomina12:Deducciones TotalOtrasDeducciones="179.34" TotalImpuestosRetenidos="1054.75">
                <nomina12:Deduccion TipoDeduccion="002" Clave="001" Concepto="ISR" Importe="1054.75" />
                <nomina12:Deduccion TipoDeduccion="001" Clave="012" Concepto="Seguridad social" Importe="179.34" />
            </nomina12:Deducciones>
            <nomina12:OtrosPagos>
                <nomina12:OtroPago TipoOtroPago="002" Clave="002" Concepto="Subsidio para el empleo" Importe="5000.00">
                    <nomina12:SubsidioAlEmpleo SubsidioCausado="5000.00" />
                </nomina12:OtroPago>
            </nomina12:OtrosPagos>
        </nomina12:Nomina>
    </cfdi:Complemento>
</cfdi:Comprobante>



Este lo puedes generar a mano enviandolo por webservice  o utilizar el KIT de desarrollo el cual te genera y valida el XML de modo transparente, además de soportar multiples complementos y opciones.

informes en www.multifacturas.com


miércoles, 14 de diciembre de 2016

CFDi Comercio Exterior v1.1

Generar CFDi Comercio Exterior v1.1  SAT 2017

Contamos con webservice, kit de desarrollo php/windows y DLL  para realizar el timbrado del complemento de comercio exterior 1.1  del SAT

El funcionamiento consta en llenar los datos de la factura en variables ya definidas,  mandar a ejecutar el KIT/dll  y este te generará el CFDi

para mayor información contactanos en www.multifacturas.com

50% descuento en la primer compra de timbres

CFDi XML Nómina 1.2 : SAT 2017

Ejemplo de XML del recibo de Nómina v1.2 

 A continuación les presentamos un ejemplo de cfdi para recibo de nómina versión 1.2  la cual entra en vigor el 2017


<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd" xmlns:nomina12="http://www.sat.gob.mx/nomina12" version="3.2" serie="A" folio="100" LugarExpedicion="45069" TipoCambio="1" Moneda="MXN" fecha="2016-12-13T15:34:52" sello="RglgKuozXN1ndbt/YJHWxQ4iuGAEGvmI8k0Uh1+tiQJb+amQTt7GuEY+dgs1N4U3DU2gOoBxOJDZodvk4jZxzWIfFmHlWaaNqB38o6RtXbhP2DVzZ/Kpi0jKteOFunW9c8jQ7jm3zQFTjopmhgTrX0vXCjPq3uFo5S7CBj3zdVY=" formaDePago="PAGO EN UNA SOLA EXHIBICION" noCertificado="20001000000200001428" certificado="MIIEYTCCA0mgAwIBAgIUMjAwMDEwMDAwMDAyMDAwMDE0MjgwDQYJKoZIhvcNAQEFBQAwggFcMRowGAYDVQQDDBFBLkMuIDIgZGUgcHJ1ZWJhczEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMTQwMgYJKoZIhvcNAQkCDCVSZXNwb25zYWJsZTogQXJhY2VsaSBHYW5kYXJhIEJhdXRpc3RhMB4XDTEzMDUwNzE2MDEyOVoXDTE3MDUwNzE2MDEyOVowgdsxKTAnBgNVBAMTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSkwJwYDVQQpEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEChMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxJTAjBgNVBC0THEFBQTAxMDEwMUFBQSAvIEhFR1Q3NjEwMDM0UzIxHjAcBgNVBAUTFSAvIEhFR1Q3NjEwMDNNREZOU1IwODERMA8GA1UECxMIcHJvZHVjdG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKS/beUVy6E3aODaNuLd2S3PXaQre0tGxmYTeUxa55x2t/7919ttgOpKF6hPF5KvlYh4ztqQqP4yEV+HjH7yy/2d/+e7t+J61jTrbdLqT3WD0+s5fCL6JOrF4hqy//EGdfvYftdGRNrZH+dAjWWml2S/hrN9aUxraS5qqO1b7btlAgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQACPXAWZX2DuKiZVv35RS1WFKgT2ubUO9C+byfZapV6ZzYNOiA4KmpkqHU/bkZHqKjR+R59hoYhVdn+ClUIliZf2ChHh8s0a0vBRNJ3IHfA1akWdzocYZLXjz3m0Er31BY+uS3qWUtPsONGVDyZL6IUBBUlFoecQhP9AO39er8zIbeU2b0MMBJxCt4vbDKFvT9i3V0Puoo+kmmkf15D2rBGR+drd8H8Yg8TDGFKf2zKmRsgT7nIeou6WpfYp570WIvLJQY+fsMp334D05Up5ykYSAxUGa30RdUzA4rxN5hT+W9whWVGD88TD33Nw55uNRUcRO3ZUVHmdWRG+GjhlfsD" subTotal="7500.05" descuento="1234.09" total="6265.96" metodoDePago="NA" tipoDeComprobante="egreso" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <cfdi:Emisor rfc="AAA010101AAA" nombre="ACCEM SERVICIOS EMPRESARIALES SC">
        <cfdi:RegimenFiscal Regimen="601" />
    </cfdi:Emisor>
    <cfdi:Receptor rfc="SOHM7509289MA" nombre="MIGUEL ANGEL SOSA HERNANDEZ" />
    <cfdi:Conceptos>
        <cfdi:Concepto cantidad="1" unidad="ACT" descripcion="Pago de nómina" valorUnitario="7500.05" importe="7500.05" />
    </cfdi:Conceptos>
    <cfdi:Impuestos />
    <cfdi:Complemento>
        <tfd:TimbreFiscalDigital xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital/TimbreFiscalDigital.xsd" version="1.0" UUID="a80986f5-5a98-4d49-b2d4-e34fa92e1aa5" FechaTimbrado="2016-12-13T15:37:10" selloCFD="RglgKuozXN1ndbt/YJHWxQ4iuGAEGvmI8k0Uh1+tiQJb+amQTt7GuEY+dgs1N4U3DU2gOoBxOJDZodvk4jZxzWIfFmHlWaaNqB38o6RtXbhP2DVzZ/Kpi0jKteOFunW9c8jQ7jm3zQFTjopmhgTrX0vXCjPq3uFo5S7CBj3zdVY=" noCertificadoSAT="20001000000300022323" selloSAT="kPSP8LnCphILH3LGqktfHepAnkTQW6yDiwlWv67pR6R1Mi8Nji0kxXvPo7Q1m1WthkD02uYmBEh6OehD77fdGyszoIUxYgXqDRPdmE6ZJ8HzdhYYjpp/vjomktsye4wGqSzfSqxEl/9Jc0TrQL26KSUZYSr2n7+NyAyg45EpzaunhydCuqxA/gHtz3yZZEIsNtRJLjw56FtuXE07RgLGV5aScujwt+tbi+FyMpRLXNB21V701LeDEyo3uLinLtWYYCJGrkXe9jX0EQ9o4EQeXSLp/ABLsGv7iRoAciako64OofRhyrabD3ITiZqmyPHakjVcvVn79EjjWVqbcG3AaQ==" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
        <nomina12:Nomina Version="1.2" TipoNomina="O" FechaPago="2016-10-31" FechaInicialPago="2016-10-16" FechaFinalPago="2016-10-31" NumDiasPagados="15" TotalPercepciones="7500.05" TotalDeducciones="1234.09" TotalOtrosPagos="0.0">
            <nomina12:Emisor RegistroPatronal="5525665412"></nomina12:Emisor>
            <nomina12:Receptor ClaveEntFed="JAL" Curp="CACF880922HJCMSR03" NumEmpleado="060" PeriodicidadPago="04" TipoContrato="01" TipoRegimen="02" Antigüedad="P21W" Banco="021" CuentaBancaria="1234567890" FechaInicioRelLaboral="2016-06-01" NumSeguridadSocial="04078873454" Puesto="Desarrollador" RiesgoPuesto="2" SalarioBaseCotApor="435.50" SalarioDiarioIntegrado="435.50"></nomina12:Receptor>
            <nomina12:Percepciones TotalGravado="7500.05" TotalExento="0.00" TotalSueldos="7500.05">
                <nomina12:Percepcion TipoPercepcion="001" Clave="001" Concepto="Sueldos, Salarios Rayas y Jornales" ImporteGravado="6250.05" ImporteExento="0.00"></nomina12:Percepcion>
                <nomina12:Percepcion TipoPercepcion="049" Clave="014" Concepto="Premios de asistencia" ImporteGravado="625.00" ImporteExento="0.00"></nomina12:Percepcion>
                <nomina12:Percepcion TipoPercepcion="010" Clave="013" Concepto="Premios por puntualidad" ImporteGravado="625.00" ImporteExento="0.00"></nomina12:Percepcion>
            </nomina12:Percepciones>
            <nomina12:Deducciones TotalOtrasDeducciones="179.34" TotalImpuestosRetenidos="1054.75">
                <nomina12:Deduccion TipoDeduccion="002" Clave="001" Concepto="ISR" Importe="1054.75" />
                <nomina12:Deduccion TipoDeduccion="001" Clave="012" Concepto="Seguridad social" Importe="179.34" />
            </nomina12:Deducciones>
        </nomina12:Nomina>
    </cfdi:Complemento>
</cfdi:Comprobante>



Aprovecho para comentarles que se cuenta con:

  • Web Service compatible con nómina 1.2
  • KIT de desarrollo que te genera el CFDi en base a puros parámetros compatible con MS-DOS, Windows y PHP
  • DLL para .net
  • Soporte a gran cantidad de complementos
  • ambiente de pruebas
  • panel administrativo
  • 50% de descuento en la primer compra de timbres.
  • Aceptamos tarjetas de debito  y credito a 3,6,12 meses.
  • Facilidades de pago.
  • Planes ilimitados
  • entre otros beneficios

informes en www.multifacturas.com



lunes, 24 de octubre de 2016

Como instalar Telnet Cliente en Windows

Como instalar Telnet en Windows

 Ingresa a la linea de comandos (cmd) y ejecuta el siguiente comando:
 
pkgmgr /iu:"TelnetClient"
 
 
 y Listo, telnet ya esta activo.
 
 
 

miércoles, 10 de agosto de 2016

Como activar antivirus en todos los dominios de Plesk (odin)

Como activar antivirus en todos los dominios de Plesk (odin)


Es necesario entrar a shell como root y ejecutar

Para un dominio en especifico
# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -NBe"select m.mail_name, d.name from mail as m left join domains as d on m.dom_id=d.id where name LIKE 'example.com';" | while read j i; do /usr/local/psa/bin/mail -u $j"@"$i -antivirus inout;  echo "";done

Para todos los dominios

# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` psa -NBe"select m.mail_name, d.name from mail as m left join domains as d on m.dom_id=d.id where 1;" | while read j i; do /usr/local/psa/bin/mail -u $j"@"$i -antivirus inout;  echo "";done;


espero les sirva

viernes, 22 de abril de 2016

Optimizando MySQL


Les comparto esta presentación que explica claramente los problemas y soluciones




http://www.slideshare.net/myxplain/advanced-my-sqlqueryandschematuning



viernes, 26 de febrero de 2016

Instalar certificado SSL en cpanel con godaddy

Instalar certificado SSL en cpanel con godaddy


La documentación de godaddy y cpanel esta algo escasa y en varios casos con direcciones inexistentes (error 404).

Intentar adivinar el orden de los certificados esta en chino, pero les comparto este video con muy buena explicación


 


Espero los sirva.

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"));

    }
}

miércoles, 3 de febrero de 2016

Como sincronizar discos duros en vivo


¿Como sincronizar discos duros en vivo en LINUX?

Existe el formato GlusterFS  para cluster, este te permite sincronizar discos duros, indispensable para la alta disponibilidad, sistemas elasticos en la nube, etc.

Les dejo la pagina oficial


http://www.gluster.org/

Como crear una factura electronica con C#

Creando una factura electrónica en C# Existen varios métodos Método 1 - Web Service Primero generás un archivo XML el cual tiene toda ...