jueves, 26 de diciembre de 2013

Libreria de nomina xml CFDi

Librería para Nominas (CFDi)

En 2009 comenzamos a desarrollar facturación electrónica y sabemos por carne propia el esfuerzo para entender nuevas tecnologías, interpretar los Anexos del SAT, errores de validación que salen sobre la practica, entre muchos otros puntos.

En aquel entonces nos hubiera fascinado tener una librería que solo ingresáramos los campos de la factura electrónica y realizara todo ese trabajo,  es por eso que desarrollamos una y se las compartimos.

Esta librería tiene 2 modalidades, una es ejecutarse mediante PHP y la otra esta pensada para plataformas en windows en la cual generas un archivo de texto, mandas a llamar un comando y te regresa el xml  generado y timbrado.

Costo

Por el  momento es $0.00 pesos, no sabemos si cambiemos de parecer dentro de poco ya que llevo su esfuerzo realizarlo.

Opcional timbrado ilimitado de facturación y nómina

Uso de la Librería de Timbrado y Generación del XML

 

  1. Descarga el KIT de desarrollo y ejecutalo, este te creara la carpeta c:\multifacturas_sdk e instalara openssl y xsltproc
  2. abre el archivo c:\multifacturas_sdk\factura_nomina.ini , este es un archivo de texto que vienen todos los parámetros necesarios para crear tu factura
  3. Ejecuta el comando C:\multifacturas_sdk\timbrar32.bat "C:\multifacturas_sdk\factura_nomina.ini"  
  4. listo, el xml fue generado en la ruta indicada en el archivo .ini
  5. Lee el xml e imprimelo al gusto. 
La libreria:
  1. Genera el XML
  2. Lo sella
  3. Lo timbra
  4. Genera respaldo en la nube
  5. Genera respaldo local
  6. entrega respuesta con información desglozada

Ejemplo del archivo ini

cfdi=C:\multifacturas_sdk\timbrados\xml_1.xml
xml_debug=C:\multifacturas_sdk\timbrados\xml_debug_1.xml
php_openssl=SI
remueve_acentos=NO
html_a_txt=NO
modonomina=SI
[SDK]
ruta=C:\multifacturas_sdk\
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO
[conf]
cer=C:\multifacturas_sdk\pruebas\aaa010101aaa.cer.pem
key=C:\multifacturas_sdk\pruebas\aaa010101aaa.key.pem
pass=12345678a
[factura]
serie=A
folio=100
fecha_expedicion=2014-12-05 00:07:30
metodo_pago=EFECTIVO
forma_pago=PAGO EN UNA SOLA EXHIBICION
tipocomprobante=ingreso
moneda=MXN
tipocambio=1.0000
LugarExpedicion=MONTERREY, NUEVO LEON
RegimenFiscal=MI REGIMEN
subtotal=1000
descuento=0
total=1160
[emisor]
rfc=AAA010101AAA
nombre=ACCEM SERVICIOS EMPRESARIALES SC
[emisor.DomicilioFiscal]
calle=JUAREZ
noExterior=100
noInterior=
colonia=CENTRO
localidad=MONTERREY
municipio=MONTERREY
estado=NUEVO LEON
pais=MEXICO
CodigoPostal=01234
[emisor.ExpedidoEn]
calle=HIDALGO
noExterior=240
noInterior=
colonia=LAS CUMBRES 3 SECTOR
localidad=MONTERREY
municipio=MONTERREY
estado=NUEVO LEON
pais=MEXICO
CodigoPostal=64610
[receptor]
rfc=SOHM7509289MA
nombre=MIGUEL ANGEL SOSA HERNANDEZ
[receptor.Domicilio]
calle=PERIFERICO
noExterior=1024
noInterior=B
colonia=SAN ANGEL
localidad=CIUDAD DE MÉXICO
municipio=ALVARO OBREGON
estado=DISTRITO FEDERAL
pais=MEXICO
CodigoPostal=23010
[conceptos]
[conceptos.0]
cantidad=1
unidad=SERVICIO
ID=NOM
descripcion=NOMINA
valorunitario=100.00
importe=100.00
[impuestos]
[impuestos.translados]
[impuestos.translados.0]
impuesto=IVA
tasa=0.00
importe=0
[impuestos.translados.1]
impuesto=ISR
tasa=0.00
importe=0
[nomina]
[nomina.datos]
NumEmpleado=1040
CURP=DESO801116HGTLRS08
TipoRegimen=001
FechaPago=2013-12-13
FechaInicialPago=2013-12-06
FechaFinalPago=2013-12-13
NumDiasPagados=5
PeriodicidadPago=semanal
NumSeguridadSocial=12988020199
Departamento=ALMACEN
RegistroPatronal=B471578365
FechaInicioRelLaboral=2012-12-13
Puesto=JEFE DE ALMACEN
TipoContrato=Base
TipoJornada=Diurna
SalarioBaseCotApor=89.58
RiesgoPuesto=003
SalarioDiarioIntegrado=60.50
[nomina.percepciones]
[nomina.percepciones.0]
TipoPercepcion=001
Clave=019
Concepto=SUELDOS SEMANAL
ImporteGravado=2404.22
ImporteExento=0.00
[nomina.percepciones.1]
TipoPercepcion=010
Clave=001
Concepto=PREMIOS DE PUNTUALIDAD
ImporteGravado=240.42
ImporteExento=0.00
[nomina.percepciones.2]
TipoPercepcion=016
Clave=002
Concepto=PREMIOS DE ASISTENCIA
ImporteGravado=240.42
ImporteExento=0.00
[nomina.deducciones]
[nomina.deducciones.0]
TipoDeduccion=001
Clave=008
Concepto=IMSS
ImporteGravado=64.39
ImporteExento=0.00
[nomina.deducciones.1]
TipoDeduccion=005
Clave=012
Concepto=INFONAVIT
ImporteGravado=64.39
ImporteExento=0.00
[nomina.deducciones.2]
TipoDeduccion=002
Clave=008
Concepto=ISR
ImporteGravado=360.86
ImporteExento=0.00



NOTA: en el ejemplo los valores del sueldo son inventados y no concuerdan, la suma es tu responsabilidad

Ejemplo de XML ya timbrado

<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante total="1160.00" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" LugarExpedicion="MONTERREY" TipoCambio="1.0000" fecha="2013-12-26T13:27:26" sello="hnpZJd/TsHfwKPjlm9B/F+/gv7QjwaS6tX1OfoVipi4u0TXyMZwJvmGY5l8HPKwztJoNbyVN5bQmr4r3O4W9Hxljj63+kCuTqBFcf9CCByOGt7p+mYRWbpu6AWK/Omja06iAKX2CqsukqEdAnjyGz+b2qK1UUySYC2Bjl6smMck=" Moneda="MXN" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" metodoDePago="EFECTIVO" noCertificado="20001000000100005867" 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/TimbreFiscalDigital                                   http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/TimbreFiscalDigital/TimbreFiscalDigital.xsd" certificado="MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NjcwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDBaFw0xNjA3MjcxNzAyMDBaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2TTQSPONBOVxpXv9wLYo8jezBrb34i/tLx8jGdtyy27BcesOav2c1NS/Gdv10u9SkWtwdy34uRAVe7H0a3VMRLHAkvp2qMCHaZc4T8k47Jtb9wrOEh/XFS8LgT4y5OQYo6civfXXdlvxWU/gdM/e6I2lg6FGorP8H4GPAJ/qCNwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEATxMecTpMbdhSHo6KVUg4QVF4Op2IBhiMaOrtrXBdJgzGotUFcJgdBCMjtTZXSlq1S4DG1jr8p4NzQlzxsdTxaB8nSKJ4KEMgIT7E62xRUj15jI49qFz7f2uMttZLNThipunsN/NF1XtvESMTDwQFvas/Ugig6qwEfSZc0MDxMpKLEkEePmQwtZD+zXFSMVa6hmOu4M+FzGiRXbj4YJXn9Myjd8xbL/c+9UIcrYoZskxDvMxc6/6M3rNNDY3OFhBK+V/sPMzWWGt8S1yjmtPfXgFs1t65AZ2hcTwTAuHrKwDatJ1ZPfa482ZBROAAX1waz7WwXp0gso7sDCm2/yUVww==" version="3.2" serie="A" descuento="0.00" folio="100" subTotal="1000.00" tipoDeComprobante="egreso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:nomina="http://www.sat.gob.mx/nomina" formaDePago="PAGO EN UNA SOLA EXHIBICION">
<cfdi:Emisor nombre="ACCEM SERVICIOS EMPRESARIALES SC" rfc="AAA010101AAA">
<cfdi:DomicilioFiscal codigoPostal="01234" localidad="MONTERREY" noExterior="100" estado="NUEVO LEON" pais="MEXICO" municipio="MONTERREY" colonia="CENTRO" calle="JUAREZ"/>
<cfdi:ExpedidoEn codigoPostal="64610" localidad="MONTERREY" noExterior="240" estado="NUEVO LEON" pais="MEXICO" municipio="MONTERREY" colonia="LAS CUMBRES 3 SECTOR" calle="HIDALGO"/>
<cfdi:RegimenFiscal Regimen="MI REGIMEN"/>
</cfdi:Emisor>
<cfdi:Receptor nombre="MIGUEL ANGEL SOSA HERNANDEZ" rfc="SOHM7509289MA">
<cfdi:Domicilio codigoPostal="23010" localidad="CIUDAD DE MÉXICO" noExterior="1024" estado="DISTRITO FEDERAL" pais="MEXICO" noInterior="B" municipio="ALVARO OBREGON" colonia="SAN ANGEL" calle="PERIFERICO"/>
</cfdi:Receptor>
<cfdi:Conceptos>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="NOMINA" unidad="SERVICIO" noIdentificacion="NOM"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="0.00">
<cfdi:Traslados>
<cfdi:Traslado importe="0.00" tasa="0.00" impuesto="IVA"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<nomina:Nomina FechaFinalPago="2013-12-13" TipoContrato="Base" TipoJornada="Diurna" CURP="DESO801116HGTLRS08" Departamento="ALMACEN" NumDiasPagados="5" PeriodicidadPago="semanal" xsi:schemaLocation="http://www.sat.gob.mx/nomina http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina11.xsd" RegistroPatronal="B471578365" Antiguedad="365" SalarioBaseCotApor="89.58" FechaInicialPago="2013-12-06" NumSeguridadSocial="12988020199" RiesgoPuesto="003" SalarioDiarioIntegrado="60.50" FechaInicioRelLaboral="2012-12-13" TipoRegimen="001" Puesto="JEFE DE ALMACEN" NumEmpleado="1040" Version="1.1" FechaPago="2013-12-13">
<nomina:Percepciones TotalExento="0" TotalGravado="2885.06">
<nomina:Percepcion ImporteGravado="2404.22" ImporteExento="0.00" Clave="019" TipoPercepcion="001" Concepto="SUELDOS SEMANAL"/>
<nomina:Percepcion ImporteGravado="240.42" ImporteExento="0.00" Clave="001" TipoPercepcion="010" Concepto="PREMIOS DE PUNTUALIDAD"/>
<nomina:Percepcion ImporteGravado="240.42" ImporteExento="0.00" Clave="002" TipoPercepcion="016" Concepto="PREMIOS DE ASISTENCIA"/>
</nomina:Percepciones>
<nomina:Deducciones TotalExento="0" TotalGravado="489.64">
<nomina:Deduccion TipoDeduccion="001" ImporteGravado="64.39" ImporteExento="0.00" Clave="008" Concepto="IMSS"/>
<nomina:Deduccion TipoDeduccion="005" ImporteGravado="64.39" ImporteExento="0.00" Clave="012" Concepto="INFONAVIT"/>
<nomina:Deduccion TipoDeduccion="002" ImporteGravado="360.86" ImporteExento="0.00" Clave="008" Concepto="ISR"/>
</nomina:Deducciones>
</nomina:Nomina>
<tfd:TimbreFiscalDigital version="1.0" UUID="3803DC1E-85C9-4C71-A6F9-83A89017F017" FechaTimbrado="2013-12-26T13:32:13" selloCFD="hnpZJd/TsHfwKPjlm9B/F+/gv7QjwaS6tX1OfoVipi4u0TXyMZwJvmGY5l8HPKwztJoNbyVN5bQmr4r3O4W9Hxljj63+kCuTqBFcf9CCByOGt7p+mYRWbpu6AWK/Omja06iAKX2CqsukqEdAnjyGz+b2qK1UUySYC2Bjl6smMck=" noCertificadoSAT="20001000000100005761" selloSAT="QdqD5xebI9oDX2GkIu8oI9IWaaFiYzR96uKbDWOYHHDus6sOcvBanmnP0/mvm8p8CCqB++EXEIyhh0y0VRZXDBGdbv7+R9JgpY/UktWM6CCyZ2eOHFvmarSNp5EzxJ9ezIMYJnVko6z4Zi8kfVvr3453Nh2okF6/yWWieFSuH8c="/>
</cfdi:Complemento>
</cfdi:Comprobante>







No hay comentarios:

Publicar un comentario

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...