¡Esta es una revisión vieja del documento!
Como proveedor autorizado de certificación con el número 68934, iTimbre realiza la validación y certificación (timbrado) de Comprobantes Fiscales Digitales generados por Internet (CFDI) conforme a las especificaciones requeridas por el SAT a través de sus Servicios Web (Software como Servicio) de una manera rápida y segura.
Adicionalmente el Web Service de iFactura le ofrece el servicio de generación y firmado de su XML. A través del Portal de iTimbre usted podrá proporcionar su firma digital (CSD) para que iTimbre se encargue de generar el sello del XML y así ahorrar la programación de esas funciones.
Además de la certificación de sus comprobantes, iFactura le ofrece las siguientes funciones:
La característica principal de la arquitectura del Web Service de iTimbre es que utiliza JSON+REST en lugar del tradicional XML+SOAP. Por lo tanto es importante tener conocimientos del formato JSON para poder crear los mensajes que serán enviados al Web Service. Afortunadamente JSON es mucho más fácil de entender y de implementar.
El registro de las cuentas se detalla en Registro de cuentas en iFactura.
Para realizar la conexión con el Web Service de iFactura es necesario proveer al menos los siguientes datos en el llamado:
Método | Parámetro a enviar |
---|---|
Crear Nueva Factura | nueva_factura |
Crear Complemento Pago | nueva_factura |
Convertir CFD en CFDI | cfd2cfdi |
Crear Nuevo Recibo de Nómina | nomina2cfdi |
Cancelar un CFDI | cancelarCFDI |
Al realizar el llamado, las variables se deben serializar en formato JSON y almacenarse en una variable llamada “q”, la cual se debe enviar por HTTP.
Dirección del Servicio: https://facturacion33.itimbre.com/service.php
Método: nueva_factura
Método utilizado para generar un nuevo CFDI 3.3, de timbrado, el cual puede corresponder a cualquiera de los siguientes documentos:
NOTA: Es necesario revisar el nuevo catalogo del cfdi SAT donde podra encontrar las claves correspondientes de la nueva facturacion electronica
El llamado recibirá las siguientes validaciones:
Para generar un recibo se deben mandar al servicio solamente los datos correspondientes a los Datos del Comprobante y Conceptos.
{ "conceptos": [ { "ClaveProdServ": "15101505", "ClaveUnidad": "LTR", "Importe": "28.88", "Unidad": "LTS", "noIdentificacion": "16", "Cantidad": "2", "descripcion": "DISEL", "ValorUnitario": "14.44", "Impuestos": { "Traslados": [ { "Base": "28.88", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.16", "Importe": "4.62" }, { "Base": "2", "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.3154", "Importe": "0.63" } ] } }, { "ClaveProdServ": "15101506", "ClaveUnidad": "LTR", "Importe": "83.86", "Unidad": "LTS", "noIdentificacion": "2", "Cantidad": "5.51", "descripcion": "PREMIUM", "ValorUnitario": "15.22", "Impuestos": { "Traslados": [ { "Base": "83.86", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.16", "Importe": "13.42" }, { "Base": "5.51", "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.4637", "Importe": "2.55" } ] } }, { "ClaveProdServ": "15101506", "ClaveUnidad": "LTR", "Importe": "84.12", "Unidad": "LTS", "noIdentificacion": "1", "Cantidad": "6.19", "descripcion": "MAGNA", "ValorUnitario": "13.59", "Impuestos": { "Traslados": [ { "Base": "84.12", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.16", "Importe": "13.46" }, { "Base": "6.19", "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.38", "Importe": "2.35" } ] } } ], "datos_factura": { "FormaPago": "04", "TipoCambio": "1", "MetodoPago": "PUE", "RegimenFiscal": "601", "LugarExpedicion": "22010", "Moneda": "MXN", "TipoDeComprobante": "I", "CondicionesDePago": "Crédito", "no_sucursal": "1", "SubTotal": "196.86", "Version": "3.3", "Impuestos": { "TotalImpuestosRetenidos": "0", "TotalImpuestosTrasladados": "37.03", "Traslados": [ { "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.16", "Importe": "31.5" }, { "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.3154", "Importe": "0.63" }, { "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.4637", "Importe": "2.55" }, { "Impuesto": "003", "TipoFactor": "Cuota", "TasaOCuota": "0.38", "Importe": "2.35" } ] }, "CfdiRelacionados": { "TipoRelacion": "01", "CfdiRelacionado": { "UUID": "0DDABF0D-6576-4CCC-BF1C-6CE3C26A0696" } } }, "method": "nueva_factura", "cliente": { "id": "189", "UsoCFDI": "G01", "nombre": "NUEVA EMPRESA DE EJEMPLO", "rfc": "XAXX010101000", "correo": "itimbre.lburgos@gmail.com" }, "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": true, "enviarFactura": false }
SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente:
{ "id_transaccion": 0, "result": { "retcode": 1, "data": 8877 } }
Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos:
{ "id_transaccion":0, "result": { "retcode":10, "error":"La cuenta especificada no existe." } }
Método: nueva_factura
Método utilizado para generar un nuevo CFDI 3.3, timbrado, con el complemento de pago
El llamado recibirá las siguientes validaciones:
Para generar una factura se debe enviar al servicio todos los bloques de datos; Datos del Comprobante, Datos del Cliente y Conceptos.
Ejemplo
{ "conceptos": [{ "ClaveProdServ": "84111506", "ClaveUnidad": "ACT", "Importe": "0", "Cantidad": "1", "descripcion": "Pago", "ValorUnitario": "0" }], "datos_factura": { "RegimenFiscal": "601", "LugarExpedicion": "22010", "Moneda": "XXX", "TipoDeComprobante": "P", "numero_de_pago": "1", "cantidad_de_pagos": "1", "Version": "3.3" }, "method": "nueva_factura", "cliente": { "id": "189", "UsoCFDI": "P01", "nombre": "NUEVA EMPRESA DE EJEMPLO", "rfc": "XAXX010101000" }, "Complementos": [{ "Pagos": [{ "Pago": { "FechaPago": "2017-08-24T10:10:03", "FormaDePagoP": "01", "MonedaP": "MXN", "Monto": "5000", "DoctoRelacionado": [{ "IdDocumento": "54EE66D7-63A1-4761-947A-0A76514AEEF5", "MonedaDR": "MXN", "MetodoDePagoDR": "PPD", "NumParcialidad": "1", "ImpSaldoAnt": "1", "ImpPagado": "1", "ImpSaldoInsoluto": "0" }] } }] }], "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": true, "enviarFactura": false }
SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente:
{ "id_transaccion": 0, "result": { "RFC": "XAXX010101000", "user": "23", "retcode": 1, "UUID": "D4F92041-2C5B-402A-A973-7BD84588BE40", "data": "<xml/>", "stampdate": "2014-07-30T10:00:00-07:00", "refID": "44536", "acuse": "acuse_sat=false", "client_email": "NUEVA EMPRESA DE EJEMPLO<>", "pdfBase64": " === PDF EN BASE64 === " "email_result": -1, "email_error": "ERROR" } }
Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos:
{ "id_transaccion": 0, "result": { "retcode": 101, "error": "Error 301 al timbrar: 'XML mal formado - value 'EEA9709DASD083R7' does not match regular expression facet '[A-Z,Ñ,&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z,0-9]?[A-Z,0-9]?[0-9,A-Z]?' (ERROR)'" } }
Método: cfd2cfdi
Método para transformar un CFD a CFDI o para solamente agregar el complemento tfd:TimbreFiscalDigital a un CFDI ya generado.
El llamado recibirá las siguientes validaciones:
Para generar un CFDI desde un CFD, o bien desde un CFDI v3.2 con o sin sellos, es necesario enviar los siguientes datos:
{ "method": "cfd2cfdi", "xml_version": "2.2", "xml_data": "<CFDv2.2/>", "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": true, "enviarFactura": false }
Existen las siguientes opciones para enviar al servicio:
CFD v2.2:
Se trata de un CFD de acuerdo a las especificaciones del Anexo 20 para un CFD 2.2, no es necesario alterar nada en el XML para enviarlo al servicio.
<?xml version="1.0" encoding="UTF-8"?> <Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv22.xsd" version="2.2" serie="A" folio="42834934824" fecha="2014-04-02T13:49:57" noAprobacion="7564787" anoAprobacion="2013" formaDePago="Pago en una Sola Exhibición" subTotal="45000" total="45000" metodoDePago="No se que" tipoDeComprobante="ingreso" LugarExpedicion="Mexico.DF" Moneda="Pesos" noCertificado="00001000000300561079" certificado="MIIE1DCCA7ygAwIBAgIUMDAwMDEwMDAwMDAzMDA1NjEwNzkwDQYJKoZIhvcNAQEFBQAwggGKMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMR8wHQYJKoZIhvcNAQkBFhBhY29kc0BzYXQuZ29iLm14MSYwJAYDVQQJDB1Bdi4gSGlkYWxnbyA3NywgQ29sLiBHdWVycmVybzEOMAwGA1UEEQwFMDYzMDAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBEaXN0cml0byBGZWRlcmFsMRQwEgYDVQQHDAtDdWF1aHTDqW1vYzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTUwMwYJKoZIhvcNAQkCDCZSZXNwb25zYWJsZTogQ2xhdWRpYSBDb3ZhcnJ1YmlhcyBPY2hvYTAeFw0xMzA3MjUyMjI3MDFaFw0xNzA3MjUyMjI3MDFaMIIBHzE0MDIGA1UEAxMrQkVOQ0hNQVJLIEVMRUNUUk9OSUNTIFRJSlVBTkEgUyBERSBSTCBERSBDVjE0MDIGA1UEKRMrQkVOQ0hNQVJLIEVMRUNUUk9OSUNTIFRJSlVBTkEgUyBERSBSTCBERSBDVjE0MDIGA1UEChMrQkVOQ0hNQVJLIEVMRUNUUk9OSUNTIFRJSlVBTkEgUyBERSBSTCBERSBDVjElMCMGA1UELRMcU01FMDUwNTA0QTQ3IC8gU0FVTDcxMTExNTdZNjEeMBwGA1UEBRMVIC8gU0FVTDcxMTExNUhCQ0NSUzA0MTQwMgYDVQQLEytCZW5jaG1hcmsgRWxlY3Ryb25pY3MgVGlqdWFuYSBTIGRlIFJMIGRlIENWMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDI/m/CdQOoHxgG33WyEENzmbhziOc/yAHdIgFw1CIEkh1DObgb8GxAOy27BAIBRtJirglapbj3CO6cJb72XodBIpNYukwjb8/mytKPDIUNAP2J+Wm7We4C54MfITf8IAcbWFT0rmJnzUEOCul8/Lz6WjdV16DIe6UC90IxpvmTGQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEAcXDQ+MrJaMxZXRtfHUm8Z4BC1j3fY41UCaJBmKRZP63IhsOp/TUKTb64TR3KJuJSzY7vJ40pptyLnjj43fIAZd1RC5aTCQX8ilWDZMIBgKrAEaTXfxnUrTs+DeFd6HkZb5HFQUEbynXyXnxz31XM9I9UeM1wrQdkTCJwUzNqqrOR4cKsNtf7xUi3tV+R7hiJNlN6AGJchEugb5cz7pgd93UL5Kghf9YIMqOnQQTF12y7XzTnxvtHVYbYHc3ARBx29a7SlcKiJxDqRW1R8gASK6Y4GvPyYNjhgHeXlFAIsMSJn+6Qd8xEf6J8CbZxSI84nKJ1xN+FNDmu+lZYldOk1Q==" sello="gb/U+E7kI3cTckoOpRfHeONKR9Q8RsHeRsOe5I8GWaesGrCQUU6CncNvDGljHgCeyIsaUDb14YZNprSaMB8++Yz3rzj6Xo1SbmD4q8xDFysc0U3kOPg5aTV6gAP2YL9gWdNuT0eQfzZVKKHgoFG/Pnz+pH3TqBbOAN4+p6Btjgc="> <Emisor rfc="XAXX010101000" nombre="Empresa de Prueba SA de CV"> <DomicilioFiscal calle="Fuerza Aerea" noExterior="35" colonia="Colonia" localidad="TIJUANA" municipio="TIJUANA" estado="Baja California Norte" pais="MEXICO" codigoPostal="22222"/> <ExpedidoEn localidad="Tijuana" estado="Baja California Norte" pais="Mexico"/> <RegimenFiscal Regimen="Régimen General de Ley Personas Morales"/> </Emisor> <Receptor rfc="XEXX010101000" nombre="Cliente SA"> <Domicilio calle="Calle del Cliente" noExterior="1234" colonia="Afueras" localidad="Ciudad de México" estado="Distrifo Federal" pais="México" codigoPostal="00000"/> </Receptor> <Conceptos> <Concepto cantidad="1" unidad="N/A" noIdentificacion="01" descripcion="SERVICIO" valorUnitario="150000.0000" importe="150000.00"/> </Conceptos> <Impuestos totalImpuestosTrasladados="0.00"> <Traslados> <Traslado impuesto="IVA" tasa="0" importe="0.00"/> </Traslados> </Impuestos> </Comprobante>
CFD v3.2 con Sellos:
Es un CFDI 3.2 con todos los elementos requeridos, excepto por el complemento tfd:TimbreFiscalDigital, el cual se agregará por el servicio.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" LugarExpedicion="Tijuana,Baja California Norte" Moneda="Pesos" certificado="MIIEjDCCA3SgAwIBAgIUMDAwMDEwMDAwMDAyMDM0NjI5ODMwDQYJKoZIhvcNAQEFBQAwggGVMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSEwHwYJKoZIhvcNAQkBFhJhc2lzbmV0QHNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxFDASBgNVBAcMC0N1YXVodMOpbW9jMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxPjA8BgkqhkiG9w0BCQIML1Jlc3BvbnNhYmxlOiBDZWNpbGlhIEd1aWxsZXJtaW5hIEdhcmPDrWEgR3VlcnJhMB4XDTEzMDQxNTE4MzM0MloXDTE3MDQxNTE4MzM0Mlowgc0xKjAoBgNVBAMTIU9MSVZFUiBYSUNPVEVOQ0FUTCBPTE1PUyBNQVJUSU5FWjEqMCgGA1UEKRMhT0xJVkVSIFhJQ09URU5DQVRMIE9MTU9TIE1BUlRJTkVaMSowKAYDVQQKEyFPTElWRVIgWElDT1RFTkNBVEwgT0xNT1MgTUFSVElORVoxFjAUBgNVBC0TDU9PTU84NTAyMTlCRjgxGzAZBgNVBAUTEk9PTU84NTAyMTlIREdMUkwwNTESMBAGA1UECxMJTk8gQVBMSUNBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQEUod/knzrkEMFX/StAoV8pyGHj0B/onziMWvtmyNUixMu3I8fhcW019fzXmu8j41wws67a4T4eTdBnyb9kQActbJ4/Ww7ckSGZu4B+BqoqrqeKZ5KSd8k5DHCoKnhNcAVqLt7rCJiT9M4qIsgHH+hP+wL7OHYRtOwWBH2ulFDwIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQUFAAOCAQEARZ74t6jm4WbdvwiolqGPE3KSIx9TkGVxtTXMOVNTShCzFlETnIh2vM0YpvXt5YCr0deireamg9PvKsRWc1k7sWgRnf700G5PYltzKFKtBTII0Fxqxd1Ib8vt+vmduT1kyE27y5BHlAh5u4KlC64cMl1VRxYYBGM5f/3XhxRhJQNin5CZqf3jQq9E4nmargIv4m3S8wKRqJxXKUW5mmMXiROW+0BNbivY7dd68zNnZUJydlcAS8t0Y4JKVEbsKDjwBUySKE3zM+hV9uvpmcob9xxUwMt+36jIV0nuUHAQWSfrcAWTfaJBf57CP3MonjhfO0Nz69AyxodB0QAJQk/T+g==" descuento="0.00" fecha="2014-03-02T09:46:03" folio="42834934824" formaDePago="Pago en una sola exhibición" metodoDePago="99" noCertificado="00001000000203462983" sello="LaQqUcGySP2fwPBpA6pAk1nCOceNhpMwQoGKAW/njtFayrbr6d61R7Ezhmq3mXZRc0FVbfufxsy3f2soC6YYsub0TyHQXExSojIiBdkDuYi4lI+XuIVpo0QACFdRcJaLnqYOeOUGHRKfrIwvVSUrOdNUUEKNYR/F91kf/JWtn10=" serie="A" subTotal="150000.00" tipoDeComprobante="ingreso" total="150000.00" version="3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd"> <cfdi:Emisor nombre="Carlos Valentin Perez Nango" rfc="XAXX010101000"> <cfdi:DomicilioFiscal calle="calle 15" codigoPostal="22400" colonia="Libertad" estado="Baja California" municipio="Tijuana" noExterior="830" pais="México"/> <cfdi:ExpedidoEn estado="Baja California Norte" localidad="Tijuana" pais="Mexico"/> <cfdi:RegimenFiscal Regimen="Rgimen General de Ley Personas Morales"/> </cfdi:Emisor> <cfdi:Receptor nombre="Cliente SA" rfc="XEXX010101000"> <cfdi:Domicilio calle="Calle del Cliente" codigoPostal="00000" colonia="Afueras" estado="Distrifo Federal" noExterior="1234" pais="Mexico"/> </cfdi:Receptor> <cfdi:Conceptos> <cfdi:Concepto cantidad="1.00" descripcion="SERVICIO" importe="150000.00" unidad="N/A" valorUnitario="150000.00"/> </cfdi:Conceptos> <cfdi:Impuestos totalImpuestosRetenidos="0.00" totalImpuestosTrasladados="0.00"> <cfdi:Retenciones> <cfdi:Retencion importe="0.00" impuesto="IVA"/> <cfdi:Retencion importe="0.00" impuesto="ISR"/> </cfdi:Retenciones> <cfdi:Traslados> <cfdi:Traslado importe="0.00" impuesto="IVA" tasa="0.00"/> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Comprobante>
CFD v3.2 sin Sellos:
Se trata de un CFD 3.2, con todos los elementos requerido excepto por Certificado, Sello y NoCertificado.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" LugarExpedicion="Tijuana, B.C." Moneda="MXN" NumCtaPago="1245" condicionesDePago="Crédito" descuento="0.00" fecha="2014-03-01T11:32:45" serie= "AL" folio="8345723842738" formaDePago="Pago en una sola exhibición" metodoDePago="03" noCertificado="" sello="" certificado="" subTotal="700.00" tipoDeComprobante="ingreso" total="422.00" version="3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd"> <cfdi:Emisor nombre="Carlos Valentin Perez Nango" rfc="XAXX010101000"> <cfdi:DomicilioFiscal calle="calle 15" codigoPostal="22400" colonia="Libertad" estado="Baja California" municipio="Tijuana" noExterior="830" pais="México"/> <cfdi:RegimenFiscal Regimen="Régimen General"/> </cfdi:Emisor> <cfdi:Receptor nombre="NUEVA EMPRESA DE EJEMPLO" rfc="EEA9709083R7"> <cfdi:Domicilio calle="PRINCIPAL" codigoPostal="22140" colonia="CACHO" estado="BAJA CALIFORNIA" municipio="TIJUANA" noExterior="150" noInterior="B" pais="Mexico"/> </cfdi:Receptor> <cfdi:Conceptos> <cfdi:Concepto cantidad="10.00" descripcion="Tomate saladette s/m" importe="200.00" noIdentificacion="640130" unidad="Kg" valorUnitario="20.00"/> <cfdi:Concepto cantidad="50.00" descripcion="Cebolla Blanca pelada s/m" importe="500.00" noIdentificacion="766115" unidad="Kg" valorUnitario="10.00"/> </cfdi:Conceptos> <cfdi:Impuestos totalImpuestosRetenidos="300.00" totalImpuestosTrasladados="22.00"> <cfdi:Retenciones> <cfdi:Retencion importe="100.00" impuesto="IVA"/> <cfdi:Retencion importe="200.00" impuesto="ISR"/> </cfdi:Retenciones> <cfdi:Traslados> <cfdi:Traslado importe="22.00" impuesto="IVA" tasa="11.00"/> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Comprobante>
SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente:
{ "id_transaccion": 0, "result": { "RFC": "XAXX010101000", "user": "23", "retcode": 1, "UUID": "D4F92041-2C5B-402A-A973-7BD84588BE40", "data": "<xml/>", "stampdate": "2014-07-30T10:00:00-07:00", "ip_addr": "10.0.1.6", "refID": "44536", "acuse": "acuse_sat=false", "client_email": "NUEVA EMPRESA DE EJEMPLO<>", "pdfBase64": " === PDF EN BASE64 === " "email_result": -1, "email_error": "ERROR" } }
Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos:
{ "id_transaccion": 0, "result": { "retcode": -1, "error": "El folio ya existe." } }
Método: nueva_factura
Método para generar un cfdi 3.3 con el complemento de nomina 1.2 timbrado.
El llamado recibirá las siguientes validaciones:
Para generar un Recibo de Nómina CFDI es necesario enviar los siguientes datos:
{ "conceptos": [{ "Cantidad": "1", "ClaveUnidad": "ACT", "Descripcion": "Pago de nómina", "ClaveProdServ": "84111505", "ValorUnitario": "6500.35", "Importe": "6500.35", "Descuento": "2678.95" }], "datos_factura": { "FormaPago": "99", "SubTotal": "6500.35", "Descuento": "2678.95", "Total": "3821.4", "MetodoPago": "PUE", "RegimenFiscal": "601", "LugarExpedicion": "32250", "Moneda": "MXN", "TipoDeComprobante": "N", "correo": "info-social@mpsnamex.com", "Version": "3.3" }, "method": "nueva_factura", "cliente": { "id": "1", "UsoCFDI": "P01", "nombre": "EMPRESA DEMO NAMEX", "rfc": "WJU070709R29" }, "Complementos": [{ "Nomina": { "Version": "1.2", "TipoNomina": "O", "FechaPago": "2017-11-07", "FechaInicialPago": "2017-10-16", "FechaFinalPago": "2017-10-22", "NumDiasPagados": "7.000", "TotalPercepciones": "6500.35", "TotalDeducciones": "2678.95", "Emisor": { "RegistroPatronal": "A8362671100" }, "Receptor": { "UsoCFDI": "P01", "Rfc": "RILJ8007122A1", "Nombre": "JESUS ABRAHAM RIVAS LOZANO", "Curp": "RILJ800712HCHVZS09", "NumSeguridadSocial": "33998067111", "FechaInicioRelLaboral": "2011-11-14", "Antigüedad": "P310W", "TipoContrato": "01", "Sindicalizado": "No", "TipoJornada": "01", "TipoRegimen": "02", "NumEmpleado": "50", "RiesgoPuesto": "5", "PeriodicidadPago": "02", "Banco": "012", "CuentaBancaria": "02796492118", "SalarioBaseCotApor": "870.52", "SalarioDiarioIntegrado": "0", "ClaveEntFed": "CHH" }, "Percepciones": { "TotalSueldos": "6500.35", "TotalSeparacionIndemnizacion": "0", "TotalGravado": "5691", "TotalExento": "809.35", "Percepcion": [{ "TipoPercepcion": "001", "Clave": "Sueldos", "Concepto": "Percepcion Normal 45,00 H SB=813,00", "ImporteGravado": "4878", "ImporteExento": "0" }, { "TipoPercepcion": "001", "Clave": "Sueldos", "Concepto": "Septimo Dia", "ImporteGravado": "813", "ImporteExento": "0" }, { "TipoPercepcion": "005", "Clave": "FdoAhoPat", "Concepto": "Fdo Aho Aportacion Patronal", "ImporteGravado": "0", "ImporteExento": "728.35" }, { "TipoPercepcion": "029", "Clave": "ValeDespen", "Concepto": "Vales de Despensa", "ImporteGravado": "0", "ImporteExento": "81" } ] }, "Deducciones": { "TotalOtrasDeducciones": "1699.12", "TotalImpuestosRetenidos": "979.83", "Deduccion": [{ "TipoDeduccion": "002", "Clave": "ISR", "Concepto": "ISR", "Importe": "979.83" }, { "TipoDeduccion": "001", "Clave": "IMSS", "Concepto": "IMSS", "Importe": "162.38" }, { "TipoDeduccion": "004", "Clave": "FdoAhoPat", "Concepto": "Fdo Aho Aportacion Patronal", "Importe": "728.35" }, { "TipoDeduccion": "004", "Clave": "DedFdoAho", "Concepto": "Fdo Aho Empl Acum Empl= 32465,41 Empr= 32465,41", "Importe": "728.35" }, { "TipoDeduccion": "004", "Clave": "CAFETERIA", "Concepto": "CAFETERIA", "Importe": "80.04" } ] } } }], "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": true, "enviarFactura": false }
SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente:
{ "id_transaccion": 0, "result": { "RFC": "XAXX010101000", "user": "23", "retcode": 1, "UUID": "D4F92041-2C5B-402A-A973-7BD84588BE40", "data": "<xml/>", "stampdate": "2014-07-30T10:00:00-07:00", "ip_addr": "10.0.1.6", "refID": "44536", "acuse": "acuse_sat=false", "client_email": "NUEVA EMPRESA DE EJEMPLO<>", "pdfBase64": " === PDF EN BASE64 === " "email_result": -1, "email_error": "ERROR" } }
Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos:
{ "id_transaccion": 0, "result": { "retcode": 101, "error": "Error 301 al timbrar: 'XML mal formado - value 'valor-invalido' not in enumeration (ERROR)'" } }
Método: cancelarCFDI
Método para cancelar un CFDI generado a través del webservice de iFactura.
El llamado recibirá las siguientes validaciones:
Para cancelar un CFDI es necesario enviar los siguientes datos:
{ "method": "cancelarCFDI", "cancelaciones": [ { "uuid": "344DEDAB-6AD3-4BC6-AD09-A30D6D925327", "serie": "A", "folio": "1756" }, { "uuid": "B8A5D757-72DA-4B5A-AD5E-9F1E91ECF395", "serie": "A", "folio": "1757" }, { "serie": "A", "folio": "99999", "esNomina": "SI" } ], "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor" }
SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente:
Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos:
{ "id_transaccion": 0, "result": { "retcode": -1, "error": "Respuesta no esperada al intentar enviar el CFDI al SAT.", "notFoundInternalFolios": { "payrolls": [ "A99999" ] } } }
El catálogo de datos soportados por el servicio se encuentra en el Catálogo de Datos Soportados.
Para cancelar algún CFDI no se necesita que éste haya sido certificado por iTimbre. No obstante, se requiere que el mensaje enviado al SAT incluya cierta información firmada por el emisor del CFDI, por lo que es necesario que se proporcione el sello digital (CSD) con el que fue firmado el CFDI en un archivo PFX. Para más detalle consulte el documento “Manual de Generación del PFX”.
La petición de cancelación seguirá siendo la misma. Se requiere contar con un esquema de aceptación o rechazo de cancelación del CFDI por parte del receptor el cuál aceptará o rechazará las solicitudes de cancelación de los CFDI. iTimbre como proveedor autorizado por el SAT ha preparado el entorno para consumir este nuevo servicio en él cual se han agregado nuevos métodos de consulta al web service de timbrado para verificar el estatus del comprobante y la aceptación o rechazo del cfdi por parte del receptor.
Los parámetros a ser enviados para realizar la cancelación y verificación de respuesta de aceptación o rechazo del XML Nombre del método para cancelar un cfdi es: cancelarCFDI. los parametros son los siguientes:
Parametros:
PARÁMETRO | DESCRIPCIÓN |
---|---|
id | Identificador de referencia asignado por el cliente. Este parámetro no es requerido por el Web Service de iTimbre, sino que tiene como propósito ser utilizado por el cliente como método de control para asegurarse de recibir la respuesta solicitada. Se recomienda utilizar el número de folio interno del XML. |
method | Nombre del método para cancelar un cfdi es: cancelarCFDI. |
params | Debe contener un arreglo con los parámetros: user, pass, status_sat, RFC, rfcReceptor y folios,client. |
user | Usuario del Portal de iTimbre con el que se ingresa al sistema (correo electrónico con el que se registró). |
pass | Contraseña generada por iTimbre al momento de registrar al emisor. |
RFC | RFCdel emisor del CFDI. Nota: es el único parámetro que debe estar en mayúsculas. |
client | Parametro para validar el tipo de cliente, valores permitidos cfdfactura (Clientes que utilizan el servicio de facturacion33.itimbre.com) integracion_libre (clientes que utilizan el servicio de portalws.timbre.com) |
folios | Arreglo que contiene la lista de folios (UUID) a cancelar. El número máximo es de 500 y todos los folios deben pertenecer al mismo emisor y haber sido generados con el mismo CSD que se proporciona en el archivo PFX. |
Ejemplo de codificación de llamado en formato JSON (Un solo folio):
{ "id":1001, "method":"cancelarCFDI", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "client":"cfdfactura", "folios": [ "25916C58-672A-43CD-96EE-F14E0FDD4378", ] } }
Ejemplos para la cancelación para más de un folio.
{ "id":1001, "method":"cancelarCFDI", "params": { "user":"miemail@midominio.com", "pass":"cabb17fb8536180e11af6dff0da42132", "RFC":"EEM010101XYZ", "client":"cfdfactura", "folios": [ "25916C58-672A-43CD-96EE-F14E0FDD4378", "9F5E685B-1444-4B54-9421-FBC9203686B2", "C0FAA75F-974C-41C9-80A7-5C744517F81F" ] } }