jueves, 5 de diciembre de 2013

Dicen que mis facturas no seran validas en el 2014

SI, es cierto.  


SAT anuncio que solo se podrá utilizar facturación electrónica

Que pasa si no utilizo facturación electrónica?


 Sencillo,  no podrás hacer NADA y nadie te quera aceptar tus antiguas facturas porque hacienda no se las aceptará en sus declaraciones de impuestos.

¿Es obligatorio tener Internet?

SI es obligatorio, ya que la factura se reporta en VIVO con SAT vía internet.

¿No tengo computadora, que puedo hacer?

Hay que conseguirla y contratar Internet; aunque existe otra opción.  Si tienes un smartphone Android y tienes interent en tu equipo, entonces puedes crear facturas desde el celular, no es tan cómodo pero funciona bien.

¿Que pasa con mis antiguas facturas?

Las almacenas 5 años como lo pide el SAT

¿Tengo que comprar algún programa?

Existen gratuitos y de paga

¿El programa de facturación ya incluye facturas?


Los programas de paga suelen tener algunas facturas de regalo, y los gratuitos NO.

¿Como adquiero facturas cuando se me terminen?

Hay que comprarlas;  antiguamente las comprabas en la imprenta, ahora en un proveedor autorizado a vender facturas compatibles con el programa que utilizas

¿Son costosas las facturas?

Igual que las facturas impresas el costo varia según cuantas compres, en lo personal te recomiendo comprar mínimo 100 ya que comprar muy pocas si es algo costoso.

¿Me pueden recomendar algún programa o distribuidor de facturación electrónica?


Si, ingresa a www.multifacturas.com  ahí tienen una gran variedad de alternativas.

  • Facturación por página web
  • Programa gratuito de facturación en windows
  • Programa avanzado de facturación en windows 
  • Soporte smartphones y tablets  iphone, ipad, android
  • Aplicación para android 
  • entre otros...








Migrar de CBB a CFDi

Solución según tu situación:

Usuario de Facturación

Si eres alguien que antes facturabas con CBB lo que necesitas es cambiar o actualizar tu programa.

En el mercado las actualizaciones tienen un costo promedio de 3500 pesos y suelen ser una o dos al año según como hacienda publique reformas.

Una recomendación (aunque no obligación)  es utilizar el programa de facturación que distribuyen en multifacturas.com , tiene el costo de 3500 pesos  pero sus actualizaciones son gratuitas.

Si se plano no tienes presupuesto también tienen una solución gratuita aunque mucho mas sencilla y ademas se enlaza con la web y tu APP android.

Desarrollador o Programador.


Si cuentas con tu propio sistema ahora tienes que hacer varios cambios; por ejemplo el domicilio fiscal ahora viene separado en varios campos, especificas moneda, paridad, código de producto (obligatorio) entre diversos campos extras.

Después de esto tienes que generar el XML, la cadena original, sellarlo y mandarlo a timbrar con un PAC. La documentación para el XML la encuentras en el Anexo 20 en la página de www.sat.gob.mx

Un modo más sencillo es que :

  1. Implementa la captura de campos nuevos que pide el SAT
  2. llena un archivo de texto con esa información
  3. Ejecuta un programa
  4. Lee el XML (CFDi) ya generado y timbrado, ahora solo lees sus valores y los imprimes en tu factura.
  5. Listo
 Esta librería la puedes descargar en http://www.multifacturas.com  y es gratuita.




Como convertir un TXT a CFDi (XML)

En multifacturas.com podrás encontrar un KIT de desarrollo gratuito en el cual creas un archivo de texto (TXT) en el formato dado, ejecutas un programa y listo,  te genera el CFDi, PNG y un archivo de texto con todos los detalles por ejemplo el saldo actual.

Aquí un fragmento del archivo de texto

[SDK]
ruta=C:\multifacturas_sdk\
[PAC]
usuario=DEMO700101XXX
pass=DEMO700101XXX
produccion=NO
[conf]
cer=L:\multifacturas\multifacturas_sdk\pruebas\aaa010101aaa.cer.pem
key=L:\multifacturas\multifacturas_sdk\pruebas\aaa010101aaa.key.pem
pass=12345678a
[factura]
noCertificadoSAT=20001000000100005867
certificado=
serie=A
folio=100
fecha_expedicion=2013-12-05 00:07:30
metodo_pago=EFECTIVO
forma_pago=PAGO EN UNA SOLA EXHIBICION
tipocomprobante=ingreso
moneda=MXN

...
...
...
[emisor.DomicilioFiscal]
calle=JUAREZ
noExterior=100
noInterior=
colonia=CENTRO
localidad=MONTERREY
municipio=MONTERREY
estado=NUEVO LEON

...
...
...
[conceptos]
[conceptos.0]
cantidad=1
unidad=PIEZA
ID=COD1
descripcion=PRODUCTO PRUEBA 1
valorunitario=100.00
importe=100.00
[conceptos.1]
cantidad=1
unidad=PIEZA
ID=COD2
descripcion=PRODUCTO PRUEBA 2
valorunitario=100.00
importe=100.00

...
...
...
[impuestos]
[impuestos.translados]
[impuestos.translados.0]
impuesto=IVA
tasa=16
importe=160

...
...


Se manda a llamar un ejecutable y nos regresa CFDi (XML) ya Timbrado, PNG bi-dimencional de esa factura y  un archivo de texto con detalles de la transacción,  por ejemplo uuid, códigos de error, saldo actual, etc.

Espero les sirva.





Que es la cadena original de un CFDi?

Es una representación de todos los elementos de la factura en una cadena separada por pipes  "|" , estos llevan un orden especifico publicado en el Anexo 20.


Ejemplo de XML (CFD) sin Sellar


<?xml version="1.0" encoding="UTF-8"?>
                <cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                  xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
                                  xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"
                                  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"
                                  version="3.2"
                                 
                                  serie="A"
                                  folio="100"
                                  fecha="2013-12-05T00:07:30"
                                  formaDePago="PAGO EN UNA SOLA EXHIBICION"
                                  noCertificado="20001000000100005867"
                                  certificado="MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NjcwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDBaFw0xNjA3MjcxNzAyMDBaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2TTQSPONBOVxpXv9wLYo8jezBrb34i/tLx8jGdtyy27BcesOav2c1NS/Gdv10u9SkWtwdy34uRAVe7H0a3VMRLHAkvp2qMCHaZc4T8k47Jtb9wrOEh/XFS8LgT4y5OQYo6civfXXdlvxWU/gdM/e6I2lg6FGorP8H4GPAJ/qCNwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEATxMecTpMbdhSHo6KVUg4QVF4Op2IBhiMaOrtrXBdJgzGotUFcJgdBCMjtTZXSlq1S4DG1jr8p4NzQlzxsdTxaB8nSKJ4KEMgIT7E62xRUj15jI49qFz7f2uMttZLNThipunsN/NF1XtvESMTDwQFvas/Ugig6qwEfSZc0MDxMpKLEkEePmQwtZD+zXFSMVa6hmOu4M+FzGiRXbj4YJXn9Myjd8xbL/c+9UIcrYoZskxDvMxc6/6M3rNNDY3OFhBK+V/sPMzWWGt8S1yjmtPfXgFs1t65AZ2hcTwTAuHrKwDatJ1ZPfa482ZBROAAX1waz7WwXp0gso7sDCm2/yUVww=="
                                  subTotal="1000.00"
                                  descuento="0.00"
                                  total="1160.00"
                                  metodoDePago="EFECTIVO"
                                  tipoDeComprobante="ingreso"
                                  TipoCambio="1.0000"
                                  Moneda="MXN"
                                    LugarExpedicion="MONTERREY"
                                    >
       
                  <cfdi:Emisor
                         rfc="AAA010101AAA"
                         nombre="ACCEM SERVICIOS EMPRESARIALES SC">
                    <cfdi:DomicilioFiscal
                                calle="JUAREZ"
                                noExterior="100"
                               
                                colonia="CENTRO"
                                localidad="MONTERREY"
                                municipio="MONTERREY"
                                estado="NUEVO LEON"
                                pais="MEXICO"
                                codigoPostal="01234" />
                    <cfdi:ExpedidoEn
                                calle="HIDALGO"
                                noExterior="240"
                               
                                colonia="LAS CUMBRES 3 SECTOR"
                                localidad="MONTERREY"
                                municipio="MONTERREY"
                                estado="NUEVO LEON"
                                pais="MEXICO"
                                codigoPostal="64610" />
                    <cfdi:RegimenFiscal Regimen="MI REGIMEN" />
                  </cfdi:Emisor>
               
                  <cfdi:Receptor
                        rfc="SOHM7509289MA"
                        nombre="MIGUEL ANGEL SOSA HERNANDEZ">
                    <cfdi: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" />
                  </cfdi:Receptor>
               
                  <cfdi:Conceptos>
        <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD1" descripcion="PRODUCTO PRUEBA 1" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD2" descripcion="PRODUCTO PRUEBA 2" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD3" descripcion="PRODUCTO PRUEBA 3" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD4" descripcion="PRODUCTO PRUEBA 4" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD5" descripcion="PRODUCTO PRUEBA 5" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD6" descripcion="PRODUCTO PRUEBA 6" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD7" descripcion="PRODUCTO PRUEBA 7" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD8" descripcion="PRODUCTO PRUEBA 8" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD9" descripcion="PRODUCTO PRUEBA 9" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD10" descripcion="PRODUCTO PRUEBA 10" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                           
                  </cfdi:Conceptos>
                  <cfdi:Impuestos totalImpuestosTrasladados="160.00">
                    <cfdi:Traslados>
                      <cfdi:Traslado impuesto="IVA" tasa="16.00" importe="160.00" />
                    </cfdi:Traslados>
                  </cfdi:Impuestos>
                </cfdi:Comprobante>


Ejemplo de cadena generada


||3.2|2013-12-05T00:07:30|ingreso|PAGO EN UNA SOLA EXHIBICION|1000.00|0.00|1.0000|MXN|1160.00|EFECTIVO|MONTERREY|AAA010101AAA|ACCEM SERVICIOS EMPRESARIALES SC|JUAREZ|100|CENTRO|MONTERREY|MONTERREY|NUEVO LEON|MEXICO|01234|HIDALGO|240|LAS CUMBRES 3 SECTOR|MONTERREY|MONTERREY|NUEVO LEON|MEXICO|64610|MI REGIMEN|SOHM7509289MA|MIGUEL ANGEL SOSA HERNANDEZ|PERIFERICO|1024|B|SAN ANGEL|CIUDAD DE MéXICO|ALVARO OBREGON|DISTRITO FEDERAL|MEXICO|23010|1|PIEZA|COD1|PRODUCTO PRUEBA 1|100.00|100.00|1|PIEZA|COD2|PRODUCTO PRUEBA 2|100.00|100.00|1|PIEZA|COD3|PRODUCTO PRUEBA 3|100.00|100.00|1|PIEZA|COD4|PRODUCTO PRUEBA 4|100.00|100.00|1|PIEZA|COD5|PRODUCTO PRUEBA 5|100.00|100.00|1|PIEZA|COD6|PRODUCTO PRUEBA 6|100.00|100.00|1|PIEZA|COD7|PRODUCTO PRUEBA 7|100.00|100.00|1|PIEZA|COD8|PRODUCTO PRUEBA 8|100.00|100.00|1|PIEZA|COD9|PRODUCTO PRUEBA 9|100.00|100.00|1|PIEZA|COD10|PRODUCTO PRUEBA 10|100.00|100.00|IVA|16.00|160.00|160.00||


A esta cadena se le aplicarán los certificados para generar el Sello


Si no deseas batallar te recomiendo la librería de multifacturas.com , ingresas todos los elementos de la factura como parámetros y te genera el XML, lo sella, y regresa ya timbrado.

Espero te sirva.




Como timbrar un CFDi utilizando webservice con un PAC

En este caso les mostrare un ejemplo con PHP, pero en cualquier lenguaje existe la equivalencia con mucha similitud.

include nusoap/nusoap.php";

$xml=' xml sin timbrar';
$rfc='DEMO123456A12';
$clave='mi clave';


// DEFINE DIRECCION DE TIMBRADO
    $soapclient = new nusoap_client("http://pac1.multifacturas.com/pac/?wsdl",$esWSDL = true);
 

//Generamos el arreglo con los parámetros para timbrado
    $tim = array('rfc' => $rfc, 'clave' => $clave,'xml' => $xml,'produccion' => $produccion);


    //Generamos el llamado al servicio de timbrado
    $soap_timbrado = $soapclient->call('timbrar', $tim);
 

echo "RESPUESTA DEL PAC<pre>";
print_r($soap_timbrado);

 echo "</pre>";


La respuesta es un array, entre los elementos esta el cfdi, png, saldo, etc..

Si no tienes experiencia en el timbrado en www.multifacturas.com hay un librería que te genera el xml , lo timbra y almacena.

espero te sirva.

Migrar de CFD a CFDi 3.2

Los campos adicionales son muy pocos, el método de sellado es igual cambiando ligeramente el formato de la cadena original por los campos adicionales.

Una vez que tienes esto solo mandas a llamar un webservice hace el PAC y listo, te regresa el CFDi

El timbrado con el PAC lo puedes contratar en multifacturas.com a precios rasonables

Si de plano no deseas batallar adecuando tu sistema usa el KIT de Desarrollo que ellos crearon, es fácil de de implementar.


Creas un archivo de texto con los parámetros de la factura, mandas a llamar un ejecutable y te regresa el CFDi  su XML y PNG ya generado.


Ejemplo xml de un cfdi 3.2

Les comparto un ejemplo de un archivo XML de un CFDi 3.2 antes de timbrar.

<?xml version="1.0" encoding="UTF-8"?>
                <cfdi:Comprobante xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                  xmlns:cfdi="http://www.sat.gob.mx/cfd/3"
                                  xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"
                                  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"
                                  version="3.2"
                                  sello="lblp7KHhyro0Mf55SbU3jCLIT0W2jZkJB2xS4kTFJHa4PFDgLfU2jwbckcfQlEi5+OWJ2+5uzBEwQ+DKpkCth43cERnl82mAimmk6eil+L3AKtAbPq4p/1MeMSJp78o5YqO2GMhxXKwt5wy5PUzAWWuH1g/uxnLqJyU8zdU/sxg="
                                  serie="A"
                                  folio="100"
                                  fecha="2013-12-05T00:07:30"
                                  formaDePago="PAGO EN UNA SOLA EXHIBICION"
                                  noCertificado="20001000000100005867"
                                  certificado="MIIEdDCCA1ygAwIBAgIUMjAwMDEwMDAwMDAxMDAwMDU4NjcwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMjA3MjcxNzAyMDBaFw0xNjA3MjcxNzAyMDBaMIHbMSkwJwYDVQQDEyBBQ0NFTSBTRVJWSUNJT1MgRU1QUkVTQVJJQUxFUyBTQzEpMCcGA1UEKRMgQUNDRU0gU0VSVklDSU9TIEVNUFJFU0FSSUFMRVMgU0MxKTAnBgNVBAoTIEFDQ0VNIFNFUlZJQ0lPUyBFTVBSRVNBUklBTEVTIFNDMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxETAPBgNVBAsTCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2TTQSPONBOVxpXv9wLYo8jezBrb34i/tLx8jGdtyy27BcesOav2c1NS/Gdv10u9SkWtwdy34uRAVe7H0a3VMRLHAkvp2qMCHaZc4T8k47Jtb9wrOEh/XFS8LgT4y5OQYo6civfXXdlvxWU/gdM/e6I2lg6FGorP8H4GPAJ/qCNwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEATxMecTpMbdhSHo6KVUg4QVF4Op2IBhiMaOrtrXBdJgzGotUFcJgdBCMjtTZXSlq1S4DG1jr8p4NzQlzxsdTxaB8nSKJ4KEMgIT7E62xRUj15jI49qFz7f2uMttZLNThipunsN/NF1XtvESMTDwQFvas/Ugig6qwEfSZc0MDxMpKLEkEePmQwtZD+zXFSMVa6hmOu4M+FzGiRXbj4YJXn9Myjd8xbL/c+9UIcrYoZskxDvMxc6/6M3rNNDY3OFhBK+V/sPMzWWGt8S1yjmtPfXgFs1t65AZ2hcTwTAuHrKwDatJ1ZPfa482ZBROAAX1waz7WwXp0gso7sDCm2/yUVww=="
                                  subTotal="1000.00"
                                  descuento="0.00"
                                  total="1160.00"
                                  metodoDePago="EFECTIVO"
                                  tipoDeComprobante="ingreso"
                                  TipoCambio="1.0000"
                                  Moneda="MXN"
                                    LugarExpedicion="MONTERREY"
                                    >
       
                  <cfdi:Emisor
                         rfc="AAA010101AAA"
                         nombre="ACCEM SERVICIOS EMPRESARIALES SC">
                    <cfdi:DomicilioFiscal
                                calle="JUAREZ"
                                noExterior="100"
                               
                                colonia="CENTRO"
                                localidad="MONTERREY"
                                municipio="MONTERREY"
                                estado="NUEVO LEON"
                                pais="MEXICO"
                                codigoPostal="01234" />
                    <cfdi:ExpedidoEn
                                calle="HIDALGO"
                                noExterior="240"
                               
                                colonia="LAS CUMBRES 3 SECTOR"
                                localidad="MONTERREY"
                                municipio="MONTERREY"
                                estado="NUEVO LEON"
                                pais="MEXICO"
                                codigoPostal="64610" />
                    <cfdi:RegimenFiscal Regimen="MI REGIMEN" />
                  </cfdi:Emisor>
               
                  <cfdi:Receptor
                        rfc="SOHM7509289MA"
                        nombre="MIGUEL ANGEL SOSA HERNANDEZ">
                    <cfdi: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" />
                  </cfdi:Receptor>
               
                  <cfdi:Conceptos>
        <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD1" descripcion="PRODUCTO PRUEBA 1" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD2" descripcion="PRODUCTO PRUEBA 2" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD3" descripcion="PRODUCTO PRUEBA 3" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD4" descripcion="PRODUCTO PRUEBA 4" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD5" descripcion="PRODUCTO PRUEBA 5" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD6" descripcion="PRODUCTO PRUEBA 6" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD7" descripcion="PRODUCTO PRUEBA 7" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD8" descripcion="PRODUCTO PRUEBA 8" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD9" descripcion="PRODUCTO PRUEBA 9" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                <cfdi:Concepto cantidad="1" unidad="PIEZA" noIdentificacion="COD10" descripcion="PRODUCTO PRUEBA 10" valorUnitario="100.00" importe="100.00"></cfdi:Concepto>
                           
                  </cfdi:Conceptos>
                  <cfdi:Impuestos totalImpuestosTrasladados="160.00">
                    <cfdi:Traslados>
                      <cfdi:Traslado impuesto="IVA" tasa="16.00" importe="160.00" />
                    </cfdi:Traslados>
                  </cfdi:Impuestos>
                </cfdi:Comprobante>



Ahora lo enviamos a timbrar  y nos regresa un nuevo XML con información adicional.

<?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-05T00:07:30" sello="lblp7KHhyro0Mf55SbU3jCLIT0W2jZkJB2xS4kTFJHa4PFDgLfU2jwbckcfQlEi5+OWJ2+5uzBEwQ+DKpkCth43cERnl82mAimmk6eil+L3AKtAbPq4p/1MeMSJp78o5YqO2GMhxXKwt5wy5PUzAWWuH1g/uxnLqJyU8zdU/sxg=" 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="ingreso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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="PRODUCTO PRUEBA 1" unidad="PIEZA" noIdentificacion="COD1"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 2" unidad="PIEZA" noIdentificacion="COD2"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 3" unidad="PIEZA" noIdentificacion="COD3"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 4" unidad="PIEZA" noIdentificacion="COD4"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 5" unidad="PIEZA" noIdentificacion="COD5"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 6" unidad="PIEZA" noIdentificacion="COD6"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 7" unidad="PIEZA" noIdentificacion="COD7"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 8" unidad="PIEZA" noIdentificacion="COD8"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 9" unidad="PIEZA" noIdentificacion="COD9"/>
<cfdi:Concepto importe="100.00" valorUnitario="100.00" cantidad="1" descripcion="PRODUCTO PRUEBA 10" unidad="PIEZA" noIdentificacion="COD10"/>
</cfdi:Conceptos>
<cfdi:Impuestos totalImpuestosTrasladados="160.00">
<cfdi:Traslados>
<cfdi:Traslado importe="160.00" tasa="16.00" impuesto="IVA"/>
</cfdi:Traslados>
</cfdi:Impuestos>
<cfdi:Complemento>
<tfd:TimbreFiscalDigital version="1.0" UUID="28BB36E8-A897-4EB9-A418-138E528352B9" FechaTimbrado="2013-12-05T01:01:51" selloCFD="lblp7KHhyro0Mf55SbU3jCLIT0W2jZkJB2xS4kTFJHa4PFDgLfU2jwbckcfQlEi5+OWJ2+5uzBEwQ+DKpkCth43cERnl82mAimmk6eil+L3AKtAbPq4p/1MeMSJp78o5YqO2GMhxXKwt5wy5PUzAWWuH1g/uxnLqJyU8zdU/sxg=" noCertificadoSAT="20001000000100005761" selloSAT="fq7qJlYY1Mf1hGs8uIKV2WXjXNkV9Aad2eDW2v+jX2B855EWPkSmD7oNZRCQ+/w8Dw1VyluTrNrQYkxUUWoWjlYFWfhmLMfGl5WbnqCtBHIaL5DGf5d0sVUi5wrFlb81heUxWCf+m0AOIWq3FsovWTKN1n+57Pk2qCenECxWpgE="/>
</cfdi:Complemento>
</cfdi:Comprobante>



Ahora esto lo almacenamos en un archivo en formato UTF8 y listo.

Dentro de su elaboración existen varios puntos laboriosos.
  • Ciertos caracteres no son permitidos como las comillas dobles, SAT presenta un equivalente para su uso, así otros caracteres
  • Manejar adecuadamente la migración de juegos de caracteres entre mi aplicación, bases de datos y hacienda;  haciendo las debidas conversiones
  • Generación de la cadena original con las reglas de xslt
  • Generación del sello y codificación adecuada del mismo
  • Leer e interpretar el Anexo 20 el cual es un manual extenso y detallado
  • Manejar adecuadamente todos los nodos del XML
  • Hacer la comunicación con el PAC interpretando todos sus mensajes
  • y por ultimo el tiempo invertido en la programación.
Lo bueno es que todo esto vale la pena.

y mucho mejor,  en www.multifacturas.com regalan la librería de desarrollo en la cual solo pones los parámetros y genera el XML ya timbrado.  y es gratuito

espero les sirva.


ACTUALIZACION
ya hay soporte para generación automática de recibos de  nominas, honorarios, arrendamiento, nota de crédito, entre otros...

ACTUALIZACIÓN MARZO 2015
Ya contamos con timbrado ilimitado !!!!









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