====== Web Services de iFactura ====== ===== Introducción ===== 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: * Cancelación de CFDIs * Búsqueda de sus Comprobantes. * Respaldos automáticos. * Acceso desde cualquier lugar a sus comprobantes y reportes. * Acceso desde dispositivos móviles, consolas, SmartTvs, o cualquier gadget con navegador web. * Generación automática de PDF. * Envío automático de los CFDI al receptor. * Generación de reportes de comprobantes generados. * Entre otros. ====== Web Service de iFactura ====== 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. ===== Registro ===== El registro de las cuentas se detalla en **[[:registro-de-cuenta-itimbre|Registro de cuentas en iFactura]]**. ===== Conexión ===== Para realizar la conexión con el Web Service de iFactura es necesario proveer al menos los siguientes datos en el llamado: * **Cuenta**: Es el nombre de la cuenta con la que cuenta en el servicio de facturación. * **Usuario**: El usuario registrado con los permisos suficientes para realizar la operación que se esta solicitando a través del método. * **Contraseña**: Es la clave correspondiente al usuario con el que se está autentificando. * **Método**: Es la función a realizar de acuerdo al catálogo de métodos soportados. * **Parámetros**: Los parámetros son datos adicionales u opcionales que deben enviarse y dependen del método utilizado. ==== Métodos soportados ==== ^ 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 | \\ ==== Serialización y Envío ==== 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 (Producción y Pruebas): **[[https://facturacion.itimbre.com/service.php|https://facturacion.itimbre.com/service.php]]** **Credenciales de la cuenta DEMO iTimbre.** "cuenta": demo\\ "user": administrador\\ "password": Administr4dor ===== Métodos ===== ==== Crear Nuevo Factura ==== **Método: nueva_factura** Método utilizado para generar un nuevo **CFDI**, de timbrado, el cual puede corresponder a cualquiera de los siguientes documentos: * Factura, * Recibo de Honorarios, * Recibo de Arrendamiento, * Recibo de Donativos, * Nota de Cargo, * Nota de Crédito, * Nota de Devolución, * Carta Porte. * CFDI Global **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: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. === Llamado === Para generar un recibo se deben mandar al servicio solamente los datos correspondientes a los **Datos del Comprobante** y **Conceptos**. == Ejemplo de Llamado (Web Service JSON) == { "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": "false", "enviarFactura": "true", "conceptos": [ { "ClaveProdServ": "01010101", "ClaveUnidad": "ACT", "Importe": 100, "Cantidad": 1, "descripcion": "Venta", "ValorUnitario": 100, "ObjetoImp": "02", "Impuestos": { "Traslados": [ { "Base": 100, "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "16.00" } ] } } ], "datos_factura": { "Version": "4.0", "FormaPago": "01", "TipoCambio": "1", "MetodoPago": "PUE", "RegimenFiscal": "601", "LugarExpedicion": "21000", "Moneda": "MXN", "TipoDeComprobante": "I", "Exportacion": "01", "SubTotal": "100.00", "Total": "116.00", "Impuestos": { "TotalImpuestosTrasladados": "16.00", "Traslados": [ { "Base": "100.00", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "16.00" } ] } }, "method": "nueva_factura", "cliente": { "id": "1000", "UsoCFDI": "G03", "Nombre": "TME DEMO SA", "Rfc": "TME960709LR2", "DomicilioFiscalReceptor": "22530", "RegimenFiscalReceptor": "601", "correo": "soporte@itimbre.com" } } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, el 1 significa correcto. * **data**: Corresponde al folio del recibo que se le asignó en el servicio, este es el que se requiere para generar una factura por medio del servicio de **Autofacturación**. { "id_transaccion": 0, "result": { "retcode": 1, "data": 8877 } } Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el **Catálogo de Códigos de Respuesta**. * **data**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion":0, "result": { "retcode":10, "error":"La cuenta especificada no existe." } } ==== Crear Factura Global con CFDI 4.0 ==== **Método: nueva_factura** Método utilizado para generar un nuevo **CFDI** **4.0**, timbrado, con los datos de factura global. * Factura global. El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. === Llamado === Para generar una factura se debe enviar al servicio todos los bloques de datos; **Datos del Comprobante**, **Datos del Cliente** y **Conceptos**. Ejemplo: { "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": "false", "enviarFactura": "true", "conceptos": [ { "ClaveProdServ": "01010101", "NoIdentificacion": "150", "ClaveUnidad": "ACT", "Importe": 100, "Cantidad": 1, "descripcion": "Venta", "ValorUnitario": 100, "ObjetoImp": "02", "Impuestos": { "Traslados": [ { "Base": 100, "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "16.00" } ] } } ], "datos_factura": { "Version": "4.0", "FormaPago": "01", "MetodoPago": "PUE", "RegimenFiscal": "601", "LugarExpedicion": "21000", "Moneda": "MXN", "TipoDeComprobante": "I", "Exportacion": "01", "SubTotal": "100.00", "Total": "116.00", "InformacionGlobal": { "Periodicidad": "02", "Meses": "01", "Año": "2022" }, "Impuestos": { "TotalImpuestosTrasladados": "16.00", "Traslados": [ { "Base": "100.00", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "16.00" } ] } }, "method": "nueva_factura", "cliente": { "id": "1000", "UsoCFDI": "S01", "Nombre": "PUBLICO EN GENERAL", "Rfc": "XAXX010101000", "DomicilioFiscalReceptor": "21000", "RegimenFiscalReceptor": "616" } } === Respuesta: === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **refID: ** Contiene el folio identificador en el sistema iFactura. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **total_processing_time:** total del tiempo de procesamiento y emisión de CFDI. * **wservice_id:** Contiene el identificador del web service consumido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de “<>”. * **email_result**: Resultado del envío del correo. **1** para correcto y **-1** para incorrecto. Ejemplo { "id_transaccion": "", "result": { "RFC": "NEA040929DKA", "user": "23", "retcode": 1, "UUID": "CBC134C8-E495-45F3-8FF3-B48BB726555D", "data": "", "stampdate": "2022-09-06T13:31:17", "refID": "A992", "acuse": "acuse_sat=false", "total_processing_time": 0.013831198215485, "wservice_id": "WS02 SANDBOX", "client_email": "PUBLICO EN GENERAL", "email_result": 1 }, "ifactura_total_processing_time": 2.8206098079681 } === === Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el Catálogo de Códigos de Respuesta. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": 10, "error": "La cuenta especificada no existe." }, "ifactura_total_processing_time": 0.012959003448486 } ===== Web service de Auto Facturación. ===== El web service de auto facturación, es una herramienta pensada para clientes que realizan una alta cantidad de transacciones, y de las cuales solo una parte de estas son facturadas por sus clientes; para facilitar el servicio de facturación, se brinda este servicio web. El proceso es muy sencillo: el usuario debe enviar la información de sus recibos, ya sea de forma individual, o por lotes; el servicio le arrojará una “data” la cual, combinada con el valor del “nuevo_recibo”, permitirá encontrar el recibo en el web, permitiendo al cliente ingresar sus datos fiscales para emitir su factura, y posteriormente poder visualizarla, descargarla, o enviarla por correo. **Metódo: nuevo_recibo.** Método utilizado para enviar un folio de recibo al sistema de Web Service iFactura. El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. **Llamado:** nuevo_recibo.json { "id_transaccion": "0", "method": "nuevo_recibo", "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "datos_factura": { "TipoDeComprobante": "I", "tipoDeComprobante2": "0", "FormaPago": "01", "TipoCambio": "1.00000", "MetodoPago": "PUE", "RegimenFiscal": "601", "LugarExpedicion": "15620", "Moneda": "MXN", "folio_recibo": "", "Version": "4.0", "comentarios": "-" }, "conceptos": [ { "ClaveProdServ": "24141514", "ClaveUnidad": "H87", "Importe": 430.17, "noIdentificacion": "111111", "Cantidad": "1", "descripcion": "SERVICIO REGULAR/UNION", "ValorUnitario": 430.17, "Impuestos": { "Traslados": [ { "Base": 430.17, "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": 68.83 } ] } } ] } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, el 1 significa correcto. * **data**: Corresponde al folio del recibo que se le asignó en el servicio, este es el que se requiere para generar una factura por medio del servicio de **Autofacturación**. { "id_transaccion": "0", "result": { "retcode": 1, "data": "182685" }, "ifactura_total_processing_time": 0.50998306274414063 } Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el Catálogo de Códigos de Respuesta. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": 10, "error": "La cuenta especificada no existe." }, "ifactura_total_processing_time": 0.012959003448486 } ==== Proceso de auto facturación. ==== El usuario, deberá ingresar a la liga brindada por el cliente de web service iFactura: [[https://facturacion.itimbre.com/servicios/autofacturacion/?cuenta=demo|https://facturacion.itimbre.com/servicios/autofacturacion/?cuenta=demo]] (El nombre de la cuenta, debe corresponder al del nombre de la cuenta del cliente de web service iFactura). Al ingresar a la liga, el usuario deberá usar el "data" obtenido del nuevo_recibo enviado (proporcionado por el cliente de Web Service iFactura) y el valor total del nuevo_recibo, posteriormente presionar el botón siguiente: {{:ejemplo-auto-facturacion.png?nolink&1903x555}} En la siguiente pantalla, el usuario deberá ingresar sus datos fiscales y, posteriormente, presionar el botón: "siguiente": {{:ingresar-informacion-fiscal.png?nolink&1903x640}} **Datos Obligatorios:** * Nombre o Razón Social. * RFC . * Regimen fiscal. * Uso de CFDI. * Dirección * País. A continuación, el sitio web le mostrará al usuario algunos datos para validar que la información sea correcta; si son correctos, el usuario deberá presionar "facturar", si por el contrario, algún dato está incorrecto, deberá presionar el botón "Atrás" y corregir sus datos. {{:validar-datos-de-factura.png?nolink&1903x640}} Si la información es correcta, el sistema le permitirá visualizar, descargar, y enviar por correo su CFDI emitido: {{:cfdi-de-auto-factura.png?nolink&1903x796}}Si por el contrario, el sistema detecta un error en los datos, o en el recibo creado, señalará con una leyenda roja, el error en la pantalla: {{:error-de-auto-factura.png?nolink&1903x102}} ==== Crear Complemento carta porte 3.0 con CFDI 4.0, tipo ingreso. ==== **Método: nueva_factura** Método utilizado para generar un nuevo **CFDI 4.0**, timbrado, con el complemento carta porte 3.0, tipo ingreso. * Complemento carta porte 3.0. El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. === Llamado === Para generar un recibo se deben mandar al servicio los datos correspondientes a los **Datos del Comprobante** y **Conceptos, así como los datos de origen, destino, mercancías, y la información del operador (chofer)**. == Ejemplo de Llamado (Web Service JSON) == { "id_transaccion": "0", "getPdf": true, "method": "nueva_factura", "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "conceptos": [ { "Unidad": "Unidad de servicio", "Cantidad": "1.00", "NoIdentificacion": "9", "ValorUnitario": "50000.00", "Importe": "50000.00", "ClaveProdServ": "78101802", "ClaveUnidad": "E48", "Descripcion": "Flete Sencillo ", "ObjetoImp": "02", "Impuestos": { "Traslados": [ { "Base": "50000.00", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "8000.00" } ], "Retenciones": [ { "Base": "50000.00", "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.040000", "Importe": "2000.00" } ] } } ], "RegimenFiscal": "Regimen de prueba de entidad gubernamental", "datos_factura": { "FormaPago": "04", "TipoCambio": "1.00", "MetodoPago": "PUE", "Moneda": "MXN", "TipoDeComprobante": "I", "SubTotal": "50000.00", "Serie": "XX", "Folio": "25012024", "Version": "4.0", "Total": "56000.00", "Exportacion": "01", "RegimenFiscal": "601", "LugarExpedicion": "22010", "Impuestos": { "TotalImpuestosRetenidos": "2000.00", "Retenciones": [ { "Impuesto": "002", "Importe": "2000.00" } ], "TotalImpuestosTrasladados": "8000.00", "Traslados": [ { "Impuesto": "002", "TipoFactor": "Tasa", "TasaOCuota": "0.160000", "Importe": "8000.00", "Base": "50000.00" } ] } }, "cliente": { "id": "1", "UsoCFDI": "G03", "nombre": "ALFONSO JUAREZ PINZON", "rfc": "JUPA740925837", "RegimenFiscalReceptor": "612", "DomicilioFiscalReceptor": "44290" }, "Complementos": [ { "CartaPorte": { "Version": "3.0", "TranspInternac": "No", "TotalDistRec": "500", "IdCCP": "CCC7d89c-b0ff-4fc7-abc7-eb515ff0d59a", "Ubicaciones": { "Ubicacion": [ { "TipoUbicacion": "Origen", "RFCRemitenteDestinatario": "NWM9709244W4", "NombreRemitenteDestinatario": "Nueva Wal Mart de Mexico. S. de R. L. de C.V", "FechaHoraSalidaLlegada": "2023-12-22T09:55:21", "Domicilio": [ { "Calle": "SANTA ROSA", "NumeroExterior": "53", "NumeroInterior": "SN", "Estado": "JAL", "Municipio": "120", "Localidad": "10", "Colonia": "0747", "Pais": "MEX", "CodigoPostal": "45140" } ] }, { "TipoUbicacion": "Destino", "RFCRemitenteDestinatario": "CAVJ830820K61", "NombreRemitenteDestinatario": "Sabritas SA de CV", "FechaHoraSalidaLlegada": "2023-12-23T10:55:21", "DistanciaRecorrida": "500", "Domicilio": [ { "Calle": "Santa Esther", "NumeroExterior": "57", "NumeroInterior": "B", "Estado": "JAL", "Municipio": "120", "Localidad": "10", "Colonia": "0748", "Pais": "MEX", "CodigoPostal": "45140" } ] } ] }, "Mercancias": { "Mercancia": [ { "BienesTransp": "50326700", "Descripcion": "1", "Cantidad": "1.00", "ClaveUnidad": "XBX", "Unidad": "Caja", "PesoEnKg": "1.00", "ValorMercancia": "0.00", "Moneda": "MXN" } ], "PesoBrutoTotal": 1, "UnidadPeso": "KGM", "NumTotalMercancias": 1, "Autotransporte": [ { "PermSCT": "TPAF01", "NumPermisoSCT": "0X2XTXZ0X50X3X2X1X0", "IdentificacionVehicular": { "ConfigVehicular": "C2", "PlacaVM": "MAG5678", "AnioModeloVM": "2020", "PesoBrutoVehicular": "1.00" }, "Seguros": { "AseguraRespCivil": "GNP Seguros", "PolizaRespCivil": "1234585536" } } ] }, "FiguraTransporte": { "TiposFigura": [ { "TipoFigura": "01", "RFCFigura": "EUGD840828QD5", "NombreFigura": "Operador Porcentaje Catalogo", "NumLicencia": "NVOL09627", "Domicilio": [ { "Calle": "Santa Esther", "NumeroExterior": "57", "NumeroInterior": "B", "Estado": "JAL", "Municipio": "120", "Localidad": "10", "Colonia": "0748", "Pais": "MEX", "CodigoPostal": "45140" } ] } ] } } } ] } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **refID: ** Contiene el folio identificador en el sistema iFactura. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **total_processing_time:** total del tiempo de procesamiento y emisión de CFDI. * **wservice_id:** Contiene el identificador del web service consumido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de “<>”. { "id_transaccion": "0", "result": { "RFC": "NEA040929DKA", "user": "23", "retcode": 1, "UUID": "11DF9FA8-A673-47B3-971D-0A03D55CA9BD", "data": "", "stampdate": "2024-01-25T14:13:32", "refID": "XX25012024", "acuse": "acuse_sat=false", "testmode": true, "total_processing_time": 0.0082671840985616, "wservice_id": "NPWS-01 SANDBOX", "client_email": "ALFONSO JUAREZ PINZON<>", "pdfBase64": "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fnUlVtOUrp9uD18sfyqzSAKKKKACiiigAooooAKKKQnAyaAIby6is7Z55jhV7dyfQVxN9fS39w00p9lXso9Kl13VDf3e2M/6PEcJ/te9ZNxN5EDyAZIHA9T2rnnLmdkc85czsiZEn1C7+xWjbMDM03/PMe3ua6ixsoLC2WC2Tag6+rH1J7mq+i6eNP09I25mf55W9WPX/CtAVtGPKjaMeVCinCminCqKFFKKQUooAcKUUgpRQBzWp239jX/2yEYsbl8TKOkbnow9j3q2GrVu7aO8tJbaYZSVSprmdJlkNoYZj++t3ML/AFXj+WKxqx6mc11NMNS7qh3UuaxMyXdRuqPNGaAJN1NLUzNIWoAeWppamE0hNAGzpWoZIt5Tz/Ax/lWvXG7iDkHmuk0q9+1wYY/vU4b3963pzvozSEuheooorU0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKmp2v2uyeNfvj5l+orkCCCQRgiu6rI1TRxcsZrfCyn7yno3/16AOcop80EsDbZo2Q+4plMAq5pVobu9RcfIh3Ofaiz0y5u2G1Cid3YYH/ANeumsrOKyh8uMZPVmPUmgBb23F1aSQn+IcH0PauNdGjdkcEMpwQe1dzWZqmlLefvYiEmHr0b60gOYoqWe2ntm2zRsnuRwfxqKmAVPY2zXd0kS9CcsfQd6daafc3bDy4yF/vtwK6bT7COxi2r8zt95z3oAtABQABgDgUtFFIAooooAKKKKACiiigArC8U6j9ltBbRnEs45x2Xv8An0/OtxiFUsxwAMk15xql8dQ1CW452k4QeijpWdSVkZ1JWRCDRGgn1KwhP3TMGI9dozTQadC4i1XT5T0EwU/8CGKyh8SMKfxI7UUopBSiuk6xRThTRThQAopRSClFADhSikFKKAHCuVmXyPEmoRjhZVSUD3xg/wAq6oVy2pH/AIqmbHa2QH8zUT+Fkz2J80ZqPNLmuYwJN1GajzRmgB+aTNMzRmgBxNNJppNITQApNNTVl0u5SXlj0KA9R3qne3ywDYmGk/lWMzNI5Zzlj1JqkuoLuetRSpNEksbBkdQykdwafXM+CtQM1k9lIfngO5M91P8Agf5101dKd1c6E7oKKKKYwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkoJAGTwK5nVdVe6dooWKwDjj+P8A+tQBsXOq2UWUeQSHuqjd/wDWqsmsacGyIWQ+vlj+lc7RTA7O3u4LoZhlV/buPwqeuGR2jcOjFWHQg102kal9sQxy4Eyj/voetIDToorndX1ZpHa3t22xjhmH8X/1qANW51OzgJSSUM3dVGaprrGnbsiBgfXyx/jXPUUwOytr62uuIZVY/wB3ofyqxXCqxVgykgjoRXR6Nqhuf9HnP70D5W/vf/XpAa9FFFABRRRQAUUUUAFFFFAGP4ovPsmjyBTh5j5Y/Hr+ma4IGui8bXO+9gtweI03H6k//W/WubBrnqO8jkqu8iQGm3KNJAwQ4cfMpHqORQDTwahOxCdnc6/TLxb/AE+G5X+Nckeh7j86tiuU8O3n2O/eykOIbk74vZ+4/GurFdSd1c7U7q4opwpopwpjFFKKQUooAcKUUgpRQA4VyNy+/wASak3ZRGg/75yf511wrjDldY1MN97z8/hgYqKnwkT+Es5pc1HmjNcxgSZozTM0ZoAfmkzTM1BNeRQ8Fst6CgCyTWdeahjMcB57t6fSq1xeST8fdT0Heq4FUkNITGTknJoxTgKXFMZf8P3ZsdYglJwjHY/0PH/1/wAK9KryfFem6Xc/a9Mt5ycs6Dcffof1zWlN9DSD6FuiiitTQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDN124MOnlVOGkO38O9cvW/wCJQfJgPbcawKYBRRRQAVLaTm2uY5l/hOT7jvUVFAHW6rcG306R0PzMNqn61yVdDrasNIhB6hlz+RrnqACiiigAp0UjRSrIhwynIptFAHbxSCWJJF6OoYfjT6racCNOt8/88x/KrNIAooooAKKKKACiiigDznxDN5+uXbZ+6+z8hj+lZtTXb+beTSHq0jN+ZqGuR6s4W7u4oNPBqOlBpCHSp5qYDFWB3Kw6qR0NdRoWrjUITFNhLyIYkT1/2h7VzANIyEuksbtFMnKSL1H/ANatIT5dzWnU5dGd8KcK5iy8TyQgJqcBOOPPhGQfqvatuz1SwvcfZrqKQn+HdhvyPNbpp7HSmnsXRSikFKKYxwpRSClFADhXJ69CbPxAs+MR3sYBP+2v/wBbFdYKp6tpseq2LW8hKNndG46ow6Gk1dWE1dWOa3UjSon3mC/U4rI1C31DTpCl+soXtKuSjfQ1UjkSTOw5xXO4NGHI1ubj31uv8e4+wzUD6n/zzj/FjWcBTsUrCsTSXU0vDOQPQcVFikdljXc7AD3q7Z6Tqt8ge2sHEZ6PKwQH6A81Si3sUk3sVAKcBUl1a3en3CwX9uYHcZQ5DK30IpoFJprcGrCAUuKdilxSAbiu48ISl9HKE/6uRlH04P8AU1xWK6vwUx8u8TsCh/PP+FXB+8VHc6eiiitzUKKz59c0q3maGfUbaORDhkaUAg0Qa5pVxMsMGo20kjnCosoJJoA0KKKhubmCzgaa5mSGJcZd2wB+NAE1FZn/AAkWi/8AQUs/+/y0f8JFov8A0FLP/v8ALQBp0Vmf8JFov/QUs/8Av8tH/CRaL/0FLP8A7/LQBp0Vmf8ACRaL/wBBSz/7/LR/wkWi/wDQUs/+/wAtAGnRWZ/wkWi/9BSz/wC/y0f8JFov/QUs/wDv8tAGnRWZ/wAJFov/AEFLP/v8tXreeG6hWa3kSWJ/uuhyD+NAEtFFZ0uvaTDK8UupWqSISrK0oBBHUGgDRoqhba1pl3OsFtf20srZ2okgJOBnpV+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiqN1rGm2Uxhur63hkAzseQA4oAvUVmr4g0d2CrqdoWY4AEo5NaVABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBS1e2N1YOqjLr8yj3FclXdVh6roxkdp7Ucnlo/X3FAGDRSujIxV1KsOoIwaSmAVZ061N3eRx4+UHLfSm2tnPdvthQkd2PQfjXUafYR2MO1fmdvvN60AOv7f7VZyQjqR8v1HSuOYFWKsMEHBBruqyNW0j7Qxnt8CX+Jezf/AF6QHOUU6SN4nKSIyMOxGKbTAKltbdrq5SFOrHk+g7mi3tprp9kMZY9z2H1NdNpmmpYxkkhpW+83p7CgC6qhECqMADAp1FFIAooooAKKKKACiiigDycnJzRTpF2SMvoSKbXGcAUUUUCFBpwNMpkkyx9Tk+lA0WAaq3L2rZ3RrI3qOP1qvLO8nBOB6CoqtRsaKNjQsNbv9OkBhlaSEdYZCWGPY9RXd6VqUGqWa3EBI7Oh6ofQ15pWv4ZvjYaxGpOIbkiNx7/wn8+PxraMujN4y6M9CFKKQUoqzQcKUUgpRQAtct4y0rKLqlunzRDbOoH3k9fw/l9K6kUrKrqVcBlYYIPQijcDy4EEZB465qaxs7vU5TFYQ+Zg4aVuET6n+grpLbwVbreSNcztJaBsxQLxx6Me9dPBDFbxLFBGscajCqowBWah3IUO5i6P4VtLBlnuj9ruhzvcfKv+6v8AWugFJSitCzO8QaUur6W8Awsy/PC/91x0/wAK8/hZmUh1KSISrqeqsOCK9TFcV4w037FfLqcS4guCEnA/hfs349P/ANdRON0TJXRigU4ClxS4rnMhMV0/gzg3n0T/ANmrmsV03g0f8fh/3P8A2aqh8RUdzp6KKK6TU8X8Xf8AI0aj/wBdT/Kjwj/yNGnf9dR/Ku/1LwLp2pahNeTXN0skzbmCMuB9OKNN8C6dpuoQ3kNzdNJC25Q7Lg/XigDqa5zx/wD8ildf70f/AKGK6Oobu0t723aC6iWWJsZRhkHHNAHgtFe1f8Ixof8A0C7b/vij/hGND/6Bdt/3xQB4rRXtX/CMaH/0C7b/AL4rmvHui6bYaCs1nZQwyeeq7kXBxg8UAedUUV6Z4K0PS73w3BPdWMM0rM4LuuScMaAPM6K9q/4RjQ/+gXbf98Uf8Ixof/QLtv8AvigDxWvZPBX/ACKdh/uN/wChGpv+EY0P/oF23/fFaNtbQ2lukFvGsUScKijAFAEteIeIv+Ri1P8A6+pf/QjXt9cne+AdNvb2e6kubtXnkaRgrLgEnPHy0AcX4E/5G+x/7af+i2r2CuZ0jwTp+kalDfQXFy8kWcK5XByCOw966agAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvJ/iJ/wAjQ/8A1yT+VesV5P8AET/kaH/65J/KgDn9P/5CNt/11X+Yr3ivB9P/AOQjbf8AXVf5iveKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAjlgimGJY0f8A3lBqJdPs1ORbRZ/3RVmigBAAoAUAAdhS0UUAFFFFADJIo5RiSNXHowzUA0+zBz9mi/75q1RQA1VVF2ooUDsBinUUUAFFFFABRRRQAUUUUAFFFFAHmOqxeTql1HjAWVsfTPFVa2vFsHk63I2OJVVx/L+lYtcjVmcMlZtBRQTgZNU55y/yrwv86ErglckmuMcR8n1qqSSck5NFFaJWNUrBRRSgUDFAqazjaXULSNPvNMgGPr1qICruk3cen6vb3Uyho1yrH+5njcKcdyo7npIpRTVIYAggg8ginCtjYcKUUgpRQAopwpopwoAWlpKWgB1KKSlHSgBwqnrH2E6XOmpSJHbOu1ixx+Xv6Vkat4sgtma305ReXI4JB/dp9T3+grkr66kuLgT6lO91cclY1GQg9l7D3qXJITYlkzNCQcsqkqrkY3r2OKsgUkbLIgdCCpGQRTwK5m9TJiAV1XhGLbaXEv8AecL+Q/8Ar1zGK7Xw/D5OkQ5GC+XP4nj9MVdJe8VHc0qKKK6DQKK8p8TeINWtfEN9BBqE8cSSEKqtwBR4Z8QatdeIbGCfUJ5InkAZWbgigD1aiiigAooooAK5P4k/8i0v/Xwn8mrrK5P4k/8AItL/ANfCfyagDyuvXPh//wAinbf77/8AoRryOvXPh/8A8inbf77/APoRoA6SiiigAooooAKKK8j1zxFrEGuX8MWo3CRx3EiqobgAMcCgD1yivL/B2u6reeJ7O3ub+eWF9+5GbIOEYj9RXqFABRRXHfETUr3TraxayuZIC7uGKHGeBQB2NFeYeDvEeozeI7e3vb2WaGYMm12yAcZH6jH413ms6/p+iRbrybDkZWJOXb6D+poA06K8x1L4i6hOxWwhitU7Mw3v+vH6VjSeLNdkbLanMD/s4X+QoA9norxyDxlr8DAjUGcekiK2fzFdNovxEWSRYdXgWLPHnxZwPqvX8vyoA72imRyJLGskbq6OMqynII9RWDrvjDTdGZotxubkdYoj90/7R7fzoA6GivKb/wAf6zcsfs5itE7BEDH82z/IVmnxVrpbP9pz5+tAHtFFeR2fjrXbZhvuEuFH8MsY/mMGu38OeMrLWnW3kX7NdnpGxyr/AO6f6fzoA6WiiigAryf4if8AI0P/ANck/lXrFeT/ABE/5Gh/+uSfyoA5/T/+Qjbf9dV/mK94rwS1lEN1DKwJCOGIHsa7DUPiPfSkrYWsUCdmk+dv6D+dAHpdFeNTeL9emOW1GRfZFVf5CmL4q11DkanP+JB/nQB7RRXk1p4+1y3I82SK5X0kjA/VcV1Wi+P9PvnWG+Q2Up4DE5jP49vx/OgDr6KQEMAQQQeQRS0AFFFc745vLmx8PPPaTPDKJFG5Dg4oA6KivINJ8VarHq1o1zqE8kHmqJFZsgrnn9K9S1PVbLSbbz76dYk/hHUsfQDvQBdorzfVPiNcyMU0y2SFO0k3zMfwHA/WsQ+LddnnXfqMgBYcIFUfoKAPY6KKKACiqmo6jaaXbG4vZ1ijHc9SfQDua4fU/iRIWZNLs1Ve0k/JP/AR0/M0Aeh0V47P4z1+cnN+UHpGirj9M1APFOuA5/tO4/76oA9poryK18c69bsN1yk6j+GWMfzGD+tdTo3xCtLp1h1KL7I548xTuQ/XuP1oA7SimoyugdGDKwyCDkEU6gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikoAZPPFbxmSZwijuayLjxCgJFvCW/wBpzj9KytRvGvLpnJOwHCD0FVaYGk+u3jfd8tPov+NM/tm//wCew/74X/CqUaNLIsaDLMcAVojQbwjOYh7bv/rUANXW74dXVvqoqaPxDcAjzIo2HtkVXfRb5OkQb/dYVUlt5oGAlidP94YoA7aiiikAyR1ijaRzhVGSa58+IbjJ2xRY7Zz/AI1Z8Q3eyJbZDy/zN9P8/wAq5+gDX/4SG5/55Rfkf8aP+Ehuf+eUX5H/ABrIAJOAM96KYHUaTqRvhIsiqsi84XuKvzOY4XcdVUkZrkLC5Npdxy9gcMPUd66y4Ia0lIOQYyQfwpAYP/CQ3X/POH8j/jR/wkN1/wA84fyP+NZNFMDW/wCEhuv+ecP5H/Gj/hIbr/nnD+R/xrJooA1v+Ehuv+ecP5H/ABo/4SG6/wCecP5H/GsmigDotK1We9ujFIkYUKW+UHPb3rYrmfDv/IQb/rmf5iumpAFFFFAHMeNrXfbQXSjmNijfQ9P1H61x1enalaC+sJrZv+Wi4B9D2/WvK7xmiZoSCrg4YelYVI6nNVj7xFcTbztU/KOvvUFFFCVgSsFFFFAwp4FIBTgKAFAp20MMEZBpGYKMscCtTStBvNT2yNm2tT/Gw+Zh/sj+tNJsaTZs+D9UMsTabO2ZYBmMn+JPT8K6cVS03S7TTIfLtYgpP3nPLN9TV0VsbjhSikFKKAFFOFNFOFAC0tRzTxW8TSzyLHGoyWY4ArldS8VTXW6HSF2R9DdSL/6Cv9TSbS3A6DVdZstJjBuZMyN9yJOXb6CuP1XWr3VFb7RJ9jsv+eKNyw/2m/oKp2lvPe3bJYxve3bH95M5yF92bt9K3P7P0rw/suNZmF9fnmO3QZAPsv8AU1N3LbQnVmfpOiXupopt0+xWX/Pd15Yf7I/qa0P7R0vQ1e10K3F7eHiS4c5Uf7zd/oOKpajqeoazlbhvs1oelvE3LD/abv8ASoo40jQIihVHYVDmo/CK6WxDa25hV9zAl2LFVGFXPYDsKsYpQKUCsW76kDoYmmmSJPvOwUfU138UaxRJGnCooUfQVy/hq182+MzD5YRn8T0/rXV1vSWlzSKCiiitSjxfxd/yNGo/9dT/ACo8I/8AI0ad/wBdR/Kjxd/yNGo/9dT/ACo8I/8AI0ad/wBdR/KgD2iiiigAooooAK5P4k/8i0v/AF8J/Jq6yuT+JP8AyLS/9fCfyagDyuvXPh//AMinbf77/wDoRryOvXPh/wD8inbf77/+hGgDpKKKKACiiigArxDxF/yMWp/9fUv/AKEa9vrxDxF/yMWp/wDX1L/6EaAL/gT/AJG+x/7af+i2r2CvH/An/I32P/bT/wBFtXsFABXCfFL/AI9dP/33/kK7uuE+KX/Hrp/++/8AIUAef21xJaXMVxA22WJw6H0IORRc3M13cPPcytLK5yzsck1FXpHgjwpbJaQ6rehZpZAHhQ8qg7E+p/lQByuk+DtY1RFkSAQQt0knO0H6Dr+lbi/DS52/NqUQb0ERI/PNejUUAeO654R1PRYzPKqTW46yxHIX6jqP5Vg177JGksbRyKHRwVZSMgg9q8S17T/7L1q7shnbE/yZ/unkfoRQBPa+JdTs9HbTLecpCzZDD7yg9QD2FZSI8sgRFZ3Y4AAySaWGNppkiTG52CjPqa9e8NeF7TQoA5CzXjD55iOnsvoP50AcPp3gLWLxBJMI7RD2lPzfkP64rQf4aXQTMeows3o0ZA/PJr0eigDxHWdDv9EmEd7FgN9yRTlW+hrOR2R1dGKspyCDgg17drumR6vpFxZyKCzKTGT/AAuOh/OvECCDg8GgD2TwhrR1vRUllINxEfLl9yO/4j+tbleafDC6Kapd2pPyywh/xU4/kxr0ugAryf4if8jQ/wD1yT+VesV5P8RP+Rof/rkn8qAOXrV07w3q+pqHtbKQxnpI/wAin6E9fwqlp/OoWwP/AD1X+Yr3egDzCH4c6s4zJcWkftuYn+VPk+G+pqpMd3aOfQlh/SvTaKAPFNV8OarpCl7u1YRf89UO5fzHT8ayq9+ZVdSrAMpGCCMgivLfHXhtNIukvLNNtpOcFB0jfrgex7fjQBP4F8USWdzHpl7IWtZDtiZj/q27D6H9K9Nr5/r2nwrqR1Xw/a3LnMu3ZIf9peM/j1/GgDXrl/iL/wAiu/8A11T+ddRXL/EX/kV3/wCuqfzoA8nq1qGo3ep3Hn3kzSvjAz0A9AKq13HgTwvbX8P9p3wEsauVjhPQkd29fpQBzuleGtV1cB7W1byj/wAtZDtX8z1/CujtvhveAq09/AhBBwilv54r0YAKoVQABwAO1LQAVV1G+h02wmvLlsRxLk+p9APcmrVeffE7UjutdNRsDHnSD16hf6/pQByOt6zda3ftc3TcdI4weEX0FVbKyub+5W3tIXmlboqj9fYVCAWYADJPAAr2XwtoUWh6Yke0G6kAaZ+5Pp9BQBx1l8OL+VA15eQ25P8ACqmQj69B+tXG+Ga7fl1U594P/sq7+igDybV/A2q6dG00QS7iXkmLO4D/AHf8M1zFfQFeYfETRI7G+j1C2QLFdEiRR0Djv+I/kaAH+APEclrdppV05NvMcQlj/q39Pof516ZXgCMyOroSrKcgjsa9z0i8/tDSbS77zRKx9jjn9c0AXKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApCMgg96WigDjb2zks5zHIDj+FuzCq9dSNRsLvMMpUc42yjA/PpUM2hWso3QO0eemDuFMDnASDkHBFXItVvYuk7MPRvm/nVuTw9cL/q5Y3HvkGqNzp11arvliwn94EEUAaEPiGUf66FGHqpxWhb6tZ3Y2MdhPG2QcH+lctRQB3NJI6xxs7nCqMk1jeHrySQPbyEsEG5Sew9Kd4hu9kK2yH5n5b6f5/lSAw7u4a6uZJm/iPA9B2qKigDJwOtMDZ8P2YlE00gypBjH49f8APvWRLGYpXjbqjEGtlby70q3SF7MBR/HnIJ+tZN3P9quXmKBC3UCgCKuk0K5FzZG3k5aP5cHuprm6tabdfZL1JCfkPyt9DQB0n9l2X/PulH9l2X/PulWxyMilpAcbqEaxX0yIu1VbAA7VXq1qn/ISuP8AfNVaYG3oVnb3FtI00SuQ+AT9K0/7Lsv+fdKp+G/+PSX/AK6f0FbFICvBZW1u++GJUbGMirFFFABRRRQAV51430w2mq/a0H7q65+jjqP6/nXotUdZ02PVtNltZMAnlG/usOhpSV0TJXR5HRUlxBJbTyQTKUkjYqynsajrExClFJTloAUCpYIZbidLe2jMk0h+Vf6n2qNRW74PZBrUwbG9oPk/MZ/pTirsqKuzW0jwxBaFZ70i5uByAR8ifQd/qa6AUgpRWxsOFKKQUooAcKUUgqrqOp2mmQ+ZdyhM/dUcs30FAFwVi6t4mtbFzBbD7XdDjYh+VP8AePauf1TXr3UVZVY2Nn3AP7xx7nt9Ki0fR7zUwBYRC3te9zIvB/3R/FUOXRCv2IL+7uL6dX1GUzyE/u7eMfKD7L3+prVtfDztb/a9dnWxs158kNhmH+0e30HNTC80nw8Wh0qL+0dS6POxyFPu3b6Csq4a51GcT6lMZ3H3U6In0FS2o6vcWi3NKfXz5As/D1utnaDjz2TlvdV/qazIrdUdpCWklblpHOWY+5qUCnAVlKbkQ22AFOAoApwFQIQCnAUoFbHh+w8+4+0OP3cR492/+t/hQlzOw0rm3pNn9isUjI+dvmf6n/OKu0UV2JWVjUKKKKYHi/i7/kaNR/66n+VHhH/kaNO/66j+VHi7/kaNR/66n+VHhH/kaNO/66j+VAHtFFFFABRRRQAVyfxJ/wCRaX/r4T+TV1lcn8Sf+RaX/r4T+TUAeV1658P/APkU7b/ff/0I15HXrnw//wCRTtv99/8A0I0AdJRRRQAUUUUAFeIeIv8AkYtT/wCvqX/0I17fXiHiL/kYtT/6+pf/AEI0AX/An/I32P8A20/9FtXsFeP+BP8Akb7H/tp/6LavYKACuE+KX/Hrp/8Avv8AyFd3XCfFL/j10/8A33/kKAPOq9r8Lf8AIs6d/wBcF/lXile1+Fv+RZ07/rgv8qANWiiigAryX4hKB4qmI7xoT+VetV5N8Q/+Rpl/65J/KgDB03/kJ2n/AF2T/wBCFe714Rpv/ITtP+uyf+hCvd6ACiiigArwjUVCaldKOgmcD8zXu9eE6p/yFbz/AK7v/wChGgDe+HZI8URgd4nH6V6xXk3w8/5GmL/rk/8AKvWaACvJ/iJ/yND/APXJP5V6xXk/xE/5Gh/+uSfyoA5/T/8AkI23/XVf5iveK8H0/wD5CNt/11X+Yr3igAooooAKxfGFot54YvkIyY4zKp9CvP8AIGtqqesY/sa+z0+zyZ/75NAHhdek/C+ctpt7bk8RzBx/wIY/9lrzau/+Fed2qemIv/Z6APQa5f4i/wDIrv8A9dU/nXUVy/xF/wCRXf8A66p/OgDyevWPh1/yK6f9dX/nXk9esfDr/kV0/wCur/zoA6iiiigArx7xxOZ/Fd5zxGVQe2FH9c17DXifig58S6ln/n4f+dADfDggPiCxNzIkcKzB2aRgqgDnkn6V69/buj/9BWx/8CE/xrw+igD3D+3dH/6Ctj/4EJ/jR/buj/8AQVsf/AhP8a8PooA9w/t3R/8AoK2P/gQn+Nc5481DTL7w46W9/aTSpKjqkcysx5weAfQmvMqKACvXvAUhk8J2gP8AAXX/AMfNeQ1674AQr4TtSf4mc/8Aj5H9KAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDh5f9c/8AvGiOWSI5jkdD/snFdBPoEMjFo5nQk5ORkVVfw9OPuTRn65FMCkuqXqdLh/x5/nUdxfXNyu2aZmX06Crh0G8HeM/8CoGgXh6mIfVj/hQBmUVtReHXJ/e3Cj2Vc1pWmlWtqQyoXcfxPzigCrotobO2kubj5Cwzg9lFYd5cNdXUkzfxHgeg7V1Gp2891a+TAyLuPzFielY3/CP3f/PSH/vo/wCFIDKq/ott9ov1JHyR/Of6frU3/CP3f/PSH8z/AIVraTYGxhcOVaRzklemO1MC6yq6lWAZTwQR1rnNY0v7KfPgB8knkf3T/hXS0yWNZYmjcZVhgikBxFFax8PXOTiWHHbJP+FH/CPXX/PSH8z/AIUwNLQ7v7RZBGOXi+U/Tt/n2rSrG0zS7qyuhIZIihGGAJ5H5Vs0gOP1T/kJXH++aq1uXmiXFxdyypJEFdsgEnP8qh/4R66/56Q/mf8ACmBc8N/8ekv/AF0/oK2KoaTZSWMDpKysWbI2n2q9060gFoqCC7huJJEibcY+pA4qekmnqgCiiimAUUUUAcp4z0A3kR1C1TM8Y/eKBy6jv9R/L6VwFe1Vwni7wyYGfULBP3R+aWJR9z/aHt/L6dIlHqZzj1RyFPFNAp4FZmY4U+GaW1niuoP9bC24e47j8RTRTxRew07HotjdxX1nFcwnKSLke3tVgVxvhPUPsl41hKcRTndFn+F+4/GuyFbJ3Nk7jhQ7pGheRlRFGSzHAArJ1XxBaaaTEMz3PaGM8j6ntXI6lqNzqDBtQl+TPyW8f3c9uO5obSBuxval4qLlodIQOehuHHyj6DvWBDHcX18VhWW/vm+8xOdv1PRRWpYeHJ54PtWqyjTbFRkqSA7D3/u/zqaXX4raD7F4atlt4Bwbl15b3APJPual6/EL1HjSdN0REuvEFwtzcnmO0jGVz7L/ABfU8VV1HWL/AFceWf8AQ7LoIIz8zD/aP9BVFIv3rSyO8sz8tLIcsfxqUCs5VOkSXLsJFEkSBI1CqOwqUCkApwFZEigU4CkAp4FIAApwFAFTW1vJdTLFCu5j+nuaW4D7G0kvblYY+M8s390etdlbwJbQJDEMIowKh0+xjsLfy05Y8u3941brqpw5UaJWCiiitCgooooA8X8Xf8jRqP8A11P8qPCP/I0ad/11H8qPF3/I0aj/ANdT/Kjwj/yNGnf9dR/KgD2iiiigAooooAK5P4k/8i0v/Xwn8mrrK5P4k/8AItL/ANfCfyagDyuvXPh//wAinbf77/8AoRryOvXPh/8A8inbf77/APoRoA6SiiigAooooAK8Q8Rf8jFqf/X1L/6Ea9vrxDxF/wAjFqf/AF9S/wDoRoAv+BP+Rvsf+2n/AKLavYK8f8Cf8jfY/wDbT/0W1ewUAFcJ8Uv+PXT/APff+Qru64T4pf8AHrp/++/8hQB51Xtfhb/kWdO/64L/ACrxSva/C3/Is6d/1wX+VAGrRRRQAV5N8Q/+Rpl/65J/KvWa8m+If/I0y/8AXJP5UAYOm/8AITtP+uyf+hCvd68I03/kJ2n/AF2T/wBCFe70AFFFFABXhOqf8hW8/wCu7/8AoRr3avCdU/5Ct5/13f8A9CNAG78PP+Rpi/65P/KvWa8m+Hn/ACNMX/XJ/wCVes0AFeT/ABE/5Gh/+uSfyr1ivJ/iJ/yND/8AXJP5UAc/p/8AyEbb/rqv8xXvFeD6f/yEbb/rqv8AMV7xQAUUUUAFZPim4Ft4a1GQnGYGQfVvlH861q4P4l6uqwQ6VE2XYiWbHYD7o/E8/gKAPO69F+FsRFpqE2OHkRc/QE/+zV51XrvgOxNl4YgLDD3BMx/HgfoBQB0dcv8AEX/kV3/66p/Ouorl/iL/AMiu/wD11T+dAHk9esfDr/kV0/66v/OvJ69Y+HX/ACK6f9dX/nQB1FFFFABXjPjGIw+KtQUjrJu/MA/1r2avMfiZYmHWYLwD5LiLBP8AtL/9YigDB8NW9vdeILO3u0EkEj7WUkjOQcdPfFen/wDCG+H/APoHJ/38f/GvIbW4e0u4bmP78Lq6/UHNe5afew6jYw3du2Y5VDD29R9R0oAy/wDhDfD/AP0Dk/7+P/jR/wAIb4f/AOgcn/fx/wDGt2igDC/4Q3w//wBA5P8Av4/+NH/CG+H/APoHJ/38f/Gt2igDC/4Q3w//ANA5P+/j/wCNa1naQWFqltaxiOGPhVBJxznvU9FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAEEl5bRuUe4jVh1BYZFSo6SKGRlZT0KnIrEgjt5NavBcqhUdN/wCFJp0ot5r97cF7eMFlGeMj/JoA3qKzLTVGunBFuVhCkvITwpxnFM/teZ0eeGzL26Hly2D+VAGtRWbPqyxw286R7opTgknBX/PP5VNd3xguoLdI97Sn1xtHr/P8qALlFZ0moyvPJHZ23neV99i2Bn0FPj1SFtPN2QVC8Fe+fSgC9RWWuqTRvEbq1MUMpwr7s4+tSXmotFcrbW8JmmIyRnAFAFoXUJuTbh/3oGSuD0qasKylabxA7yRmN9mCp7HAq0+qSyTSJZ2pmWL7zbsflQBp0VnrqiSadJdRpkx8MhPQ/Wix1B72Qbbdli253npu9KANCiiigAoopkkixRs7sFVRkk0AEsiQxmSRgqr1JrEkuZ9Xn8iDMcA+8fb3/wAKgubmbVbtYYgQmflX+pres7WO0gEcf4t3Jrl5nXdl8P5md+b0FtreO2iEcS4A79z7mpqKK6UklZGgUUUUwCiiigApKWigDi/EnhI5e80tOvL24/mv+H5elceAQcEYIr2SsPXPDVrqm6WPEF1/fA4b/eH9aiUexnKHY85FPFWtQ0q80yXZdRFQT8rjlW+hqsKyZAjKSoKMVdSGVh1BHQ1qXfiPUb23WNcWa7QJHU/Mx74/uis8UpUMpUjIPBFNSaGpNFjSNJvNUYrp8O2LPz3Mn3f/ALI1sibR/DTlLVTqeqjhpCeEP16L9BzWOuoan/Zyad9rKWkeQNnDsvoT6VHFGkShUUKPaq5kti+ZLYmvLi71SYTajN5uDlYl4jT6Dv8AU0KMUgpwrJtvchu4oFPApBTgKkBwFOApBTgKQCgU8CkA7Vs6foU0+Hucwx/3f4j/AIUKLlsNK5Qs7Ka9l8uFc4+8x6L9a6ywsIrCHZHyx+856tU0EEVvEI4UCIOwqWumFNRLSsFFFFaFBRRRQAUUUUAeL+Lv+Ro1H/rqf5UeEf8AkaNO/wCuo/lR4u/5GjUf+up/lR4R/wCRo07/AK6j+VAHtFFFFABRRRQAVyfxJ/5Fpf8Ar4T+TV1lcn8Sf+RaX/r4T+TUAeV1658P/wDkU7b/AH3/APQjXkdeufD/AP5FO2/33/8AQjQB0lFFFABRRRQAV4h4i/5GLU/+vqX/ANCNe314h4i/5GLU/wDr6l/9CNAF/wACf8jfY/8AbT/0W1ewV4/4E/5G+x/7af8Aotq9goAK4T4pf8eun/77/wAhXd1wnxS/49dP/wB9/wCQoA86r2vwt/yLOnf9cF/lXile1+Fv+RZ07/rgv8qANWiiigAryb4h/wDI0y/9ck/lXrNeTfEP/kaZf+uSfyoAwdN/5Cdp/wBdk/8AQhXu9eEab/yE7T/rsn/oQr3egAooooAK8J1T/kK3n/Xd/wD0I17tXhOqf8hW8/67v/6EaAN34ef8jTF/1yf+Ves15N8PP+Rpi/65P/KvWaACvJ/iJ/yND/8AXJP5V6xXk/xF/wCRof8A65J/KgDnbN1ivIJHOFSRWJ9ADXtVrrulXgBt9QtnJ/h8wBvyPNeH0UAe/LIjjKurD2OahuL20tVLXF1DCB3kkC/zrweigD07XfH1laRtFpf+lXB4D4IjX/H8Pzrza5uJru5kuLiQySyNuZj1JqKtrQ/C+pa06mKIxW56zyDC49vX8KAIvDejSa5q0dsoIhU7pnH8K9/xPQV7TGixxqiKFRQAoHQAVn6HotpodkLe1XJPMkh+859T/hWlQAVy/wARf+RXf/rqn866iuX+Iv8AyK7/APXVP50AeT16x8Ov+RXT/rq/868nr1j4df8AIrp/11f+dAHUUUUUAFY3irRhrejSW6Y89D5kJP8AeHb8RxWzRQB4DJG8UjRyKUdCVZSMEEdq3fDHim50CQxlfPtHOWiJwQfVT2Ndx4q8HQ60TdWjLBe45J+7J9fQ+9eaajpd9pc3lX1tJC3YkcN9D0NAHrWm+KtG1JR5V7HG5/5ZzHYw9uev4ZrYVldQyMGB6EHNeA05XZPusV+hxQB79UE97a24JnuYYgP78gX+deEtLI33nY/U0ygD2keJ9He8itIr6OaaVwirGCwyfccVr14p4W/5GbTv+u6/zr2ugAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDBhtYbvWrtZ03heQMkenpWldQRW+mXCQoEXy24H0qLU7g2QRraOPz5mxnbyR/nFS6dc/brFZJApJyrjHFAFXT4zL4eKJ950cD3OTVezv4IdGeGRtsqhl2EcknP+NbcYRV2xhQo7L0FQ3C2qI9y8UblAWztBPHvQBmRWTv4dZGBD8yKD/n0/nRpBa9vTcv0hiVBn1xz/AF/OtSyulvLZZQNu7Pyk5PXFPQQxHZGI0J52rgZoA5+3jSK5uIrm7mtmDZG1sBvepbq0jXR2NnI0yCXexP0wa25YYJcedHG/pvUGobrzIrVlsViDqQNvAAoAylhsrpI1fUZ2LEYR2zg1KZVsvEEslwdqSp8rEfT/AArSjgt1CO8MCy4BJCjr7VI8cM4xIkcgHOGAOKAMi1mS48QySRklGTAOOuABSaRcxWC3EF03lur5571sIsHmfII94GOAMgUSwQSfPNFG2O7qDigDBt0b+yL6YqVWUgqPx/8Ar1r6UMaZBj+7Ve8uGGpWtujKYJB8y7QQa0f3cSAfKijgdhQA6oo7mCWQxxzIzDsDUWowSXVmyQybSefZvauYjeS2nDDKyRt0PrXNWrunJK2hEpWZ2Nc7rF+bmXyIj+6Q9v4jVrUtUU2aLA3zzLk4/hHf8ar6HZ+dMZ3HyRnj3b/61Z1qntGqcOopO+iNLSbEWkG5x+9cfN7D0q/RRXXCKguVFpW0CiiiqGFFFFABRRRQAUUUUAFFFFADJYo5o2jlRZEbqrDINc5qPg62my9jIYH/ALjfMp/qP1rpqKTSe4mkzzW90LUbEky2zMg/jj+Zcfh0/GqIr1iql1ptld5NxaxOx6ttw35jms3T7EOHY81HWniu1l8Kac5JTzovZXyP1Bqq3g9M/JekD3jz/WpcJC5WcuKcK6X/AIRAj/l+/wDIX/16cPCP/T7/AOQv/r1PJIOVnNiniuni8K26/wCtuJX/AN0Bf8avQaFp8OD5HmEd3JP6dKfspD5WcfDDJM+2KNnb0UZNa9p4dupcNOVgX0PLflXURxpEgSNFRR2UYFPq1SXUpRKVlpdrZYMSbn/vvyf/AK1XaKK0SS2KCiiimAUUUUAFFFFABRRRQBzWoeCNK1G+mu53uRJM25grgDP5Uaf4I0rTr6G7ge5MkLblDOCM/lXS0UAFFFFABRRRQAVn61pFtrdkLS7MgjDh/wB2QDkZ9vetCigDkv8AhXei/wDPS8/7+L/8TXQaTpkGkWCWdqXMSEkFzk8nNXaKACiiigAooooAK5i88CaTeXk91LJdCSaRpG2uAMk5OOK6eigDndK8GaZpOoxXts9yZYs7Q7gjkEenvXRUUUAFZWu6BZ69HCl40qiEkr5bAdfqD6Vq0UAcl/wrvRf+el5/38X/AOJrpbG0jsLKG0hLGOFAi7jk4HrViigAooooAK5/WPCGm6zfNeXT3AlZQpCOAOPwroKKAOVh8AaPBPHKkl3ujYMMyDGQc+ldVRRQAUUUUAFcrP4A0eeeSZ5LvdIxY4kGMk59K6qigDn9H8Iabo18t5avcGVVKgO4I5/CugoooAKint4bhNs8Mcq+jqGH61LRQBjT+FdCuM79MgH/AFzBT/0HFUpPAWgv92CWP/dlP9c101FAHJH4eaKej3Y+kg/wp8fw/wBDQ5YXD+zS/wCAFdVRQBkWXhjRbEhoNOh3DozjeR/31mtalooAKKKKACqGsaVb6zYm0ujIIywbKHByKv0UAcl/wrvRf+el5/38X/4mt7R9Kt9GsRaWpkMYYtlzk5NX6KACiiigAooooAKZLFHNGY5o1kQ9VcZB/Cn0UAYV14O0G6JLWCRse8TFP0BxVBvh7ojHg3S/SQf1FdZRQByi/D3RB1N031kH+FWYfBGgREE2RkI7vKx/TOK6KigCnZ6XYWP/AB6WUEJ/vJGAfz61coooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAwr67jXXIzIGKQL0UZ5P+RTtBmUXFzAmQhO9ARg4/wA4q7Y2T29zcTyurPKcjHYUj2L/ANrLeRuoXbh1PU8Y/wAKAK3h/pdf9dKqafCk2h3W8Z2Mzrz0IWrg0y6huJTa3KxwynLZGSPpU1jpxtrSe3kcMspPI7AjFAFOxjS10Zr2NcTlGG7P+16flTY9Ohk0ZrpixnKmTfuParljp9xDDJbXEqPbspAVeozUQ0y9WA2q3SfZie4+bHpQBUvZ5JtFtJWJMgkxu9cZ5qfUbJLLSXCMzM7qWZj1NWrzS/NsYbaBgoiOct3qfUrVry0MKMFJIOTQBTu4LT+z4bi6UsViVVAbGeOlM0u0S2spbm5+QSocj0WpLzTLm48gLNGFhQAKwyM+tSfY72eGWG7uUdHXA2rjByCD0oAyLvylgjns7WWEK3yylutXr8m81O1tHYiJl3sB3PJ/pSvpV7NaLby3EWyP7gAPP1NWb3TpJzDNBII54gACehoAoy2kdprdqkOQjc7Sc460+GJdS1a6+05ZITtVM4HXH9KnXTbpr2G6nuEd0PzADAA9BTptPnS8a5spURpPvq44NAEWklrfUbqzViYk+ZQT05/+vUGv2oSVbhRw/DfX/P8AKtHT7A2pkllk8yeU5Zu1S6hb/arOSIfeIyv1rKtDng0TJXRykaNJIqIMsxwBXXWsC21ukS9FHJ9TVbT9MiswHPzzY5b0+lX6yw9F01eW4oRtuFFFFdRYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhOASBn2paKAMv8AtK7/AOgbJ+Z/wo/tK7/6Bsn5n/CtSmSSJEheRwqjuTWPJJfa/Imz7md/aV3/ANA2T8z/AIUf2ld/9A2T8z/hSy65aocIrye4GBV20uBdWyTKpUNng/XFRF8zsp/kJa9Sj/aV3/0DZPzP+FH9pXf/AEDZPzP+FaE00dvGZJXCqO5rNfXoA2FikYevAok+T4p/kD03Y7+0rv8A6Bsn5n/Cj+0rv/oGyfmf8KmtNUt7tgikpIeit3+lXqqKcldT/Ia12Zl/2ld/9A2T8z/hR/aV3/0DZPzP+FWbvUbez+WRiX/uryaqLr0BYBopAPXg1EpKLs5/kJu3Ud/aV3/0DZPzP+FH9pXf/QNk/M/4VoQTR3EYkiYMp7025uYrWPfM20Hgd81fLK1+fT5Ds+5R/tK7/wCgbJ+Z/wAKP7Su/wDoGyfmf8KY2vwA/LFIR6nAqxaatbXLhOY3PQN3/GoU03ZVPyJv5kX9pXf/AEDZPzP+FH9pXf8A0DZPzP8AhWpRWvJP+b8irPuZf9pXf/QNk/M/4Uf2ld/9A2T8z/hV66uY7SEyyk4HGB1NVINYt7iZIkSUMxwMgY/nUN8rs56/IW3UZ/aV3/0DZPzP+FS217czTrHJZPEpzlyTgcfSr9FWoSv8X5Ds+4UUUVqUFFFFABRRSN90/SgBaK8t8JaNN4hhuXl1S6h8llACsTnOff2rcuPBF9BC0lhrl356jKqzEBj6ZB4oA7aiuU8B67c6vZTw3rb57YqN5GCynOM+/Brq6ACiiigAooooAKKKKACiiigAooooAKKKKACiiuG+JU80P9l+VK8e55M7WIz92gDuaKKKACiiigAooooAKKK5Hx9qEyW9ppNkzC6vZAPlOCFzx+Zx+RoA66iuK8C31xbX1/od/IzzwOXQsSc44OM9uhH1NdrQAUUUUAFFFZlnrUF3rN7pio6zWgBJOMMD6fmKANOiiigAooooAKKKx/EeiS63bwxQ372ZjcsWRSd3HTqKANiimRrsiRCdxUAZ9afQAUUUUAFFFFABRRUF6SLG4IOCI2/lQBPRXG/DSaWbSrsyyPIRPgFmJ/hFdlQAUUUUAFFFFABRRXDeCp5pPE+tJJK7qrNtDMSB85oA7miiigAooooAKK5jxf4ll0kw2OnoJL+4+6MZ2AnAOO5J6VnweD9W1BBNrWtXAkbkxRsSF/HOPyFAHb0Vxp8DzwDdp+vXkMg6bicH8iK6+}}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MCBSCi9JMiA4IDAgUgovSTMgOSAwIFIKPj4KPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9Qcm9kdWNlciAoRlBERiAxLjYpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyNDAxMjUxMjEzMzMpCj4+CmVuZG9iagoxMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMSAwIFIKL09wZW5BY3Rpb24gWzMgMCBSIC9GaXRIIG51bGxdCi9QYWdlTGF5b3V0IC9PbmVDb2x1bW4KPj4KZW5kb2JqCnhyZWYKMCAxMgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDMyODUgMDAwMDAgbiAKMDAwMDA0NzYyMCAwMDAwMCBuIAowMDAwMDAwMDA5IDAwMDAwIG4gCjAwMDAwMDAwODcgMDAwMDAgbiAKMDAwMDAwMzM3MiAwMDAwMCBuIAowMDAwMDAzNDczIDAwMDAwIG4gCjAwMDAwMDM1NjkgMDAwMDAgbiAKMDAwMDAxMzI3NCAwMDAwMCBuIAowMDAwMDM3OTE1IDAwMDAwIG4gCjAwMDAwNDc3NjQgMDAwMDAgbiAKMDAwMDA0Nzg0MCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDEyCi9Sb290IDExIDAgUgovSW5mbyAxMCAwIFIKPj4Kc3RhcnR4cmVmCjQ3OTQ0CiUlRU9GCg==", "email_result": -1, "email_error": "La dirección de correo electrónico del cliente no está configurada." }, "ifactura_total_processing_time": 2.5834569931030273 Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el Catálogo de Códigos de Respuesta. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": 10, "error": "La cuenta especificada no existe." }, "ifactura_total_processing_time": 0.012959003448486 } ==== Crear Complemento carta porte 3.0 con CFDI 4.0, tipo traslado. ==== **Método: nueva_factura** Método utilizado para generar un nuevo **CFDI 4.0**, timbrado, con el complemento carta porte 3.0, tipo traslado. * Complemento carta porte 3.0. El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. Para generar un recibo se deben mandar al servicio los datos correspondientes a los **Datos del Comprobante** y **Conceptos, así como los datos de origen, destino, mercancías, y la información del operador (chofer)**. == Ejemplo de Llamado (Web Service JSON) == { "id_transaccion": "0", "method": "nueva_factura", "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "conceptos": [ { "Unidad": "Unidad de servicio", "Cantidad": "1.00", "NoIdentificacion": "1", "ValorUnitario": "0", "Importe": "0", "ClaveProdServ": "12352115", "ClaveUnidad": "E48", "Descripcion": "FLETE contenedor 1 x 40 HC", "ObjetoImp": "01" } ], "RegimenFiscal": "Regimen de prueba de entidad gubernamental", "datos_factura": { "TipoCambio": "1.00", "MetodoPago": "PPD", "Moneda": "XXX", "TipoDeComprobante": "T", "SubTotal": "0", "Version": "4.0", "Total": "0", "Exportacion": "01", "RegimenFiscal": "624", "LugarExpedicion": "07300" }, "cliente": { "id": "2", "UsoCFDI": "S01", "nombre": "NEARTEC", "rfc": "NEA040929DKA", "RegimenFiscalReceptor": "601", "DomicilioFiscalReceptor": "22000" }, "Complementos": [ { "CartaPorte": { "Version": "3.0", "TranspInternac": "Sí", "TotalDistRec": "1800", "IdCCP": "CCC9CADE-7CC8-4E99-BA0A-0C229FC248E5", "ViaEntradaSalida": "01", "EntradaSalidaMerc": "Entrada", "PaisOrigenDestino": "MEX", "RegistroISTMO": "Sí", "RegimenAduanero": "IMD", "UbicacionPoloDestino": "06", "UbicacionPoloOrigen": "01", "Ubicaciones": { "Ubicacion": [ { "TipoUbicacion": "Origen", "RFCRemitenteDestinatario": "BEAJ800907F71", "NombreRemitenteDestinatario": "Betran Angulo Jose Enrique", "FechaHoraSalidaLlegada": "2023-02-01T18:10:20", "Domicilio": [ { "Calle": "AV PONIENTE", "NumeroExterior": "700", "NumeroInterior": "7", "Estado": "CMX", "Municipio": "002", "Localidad": "02", "Colonia": "0402", "Pais": "MEX", "CodigoPostal": "02300" } ] }, { "TipoUbicacion": "Destino", "RFCRemitenteDestinatario": "ZUC100723VB8", "NombreRemitenteDestinatario": "Zucarmex SA de CV", "FechaHoraSalidaLlegada": "2023-02-02T10:10:20", "DistanciaRecorrida": "1800", "Domicilio": [ { "Calle": "DEPORTIVA 5 DE MAYO", "NumeroExterior": "SN", "NumeroInterior": "SN", "Estado": "COL", "Municipio": "007", "Localidad": "02", "Colonia": "0342", "Pais": "MEX", "CodigoPostal": "28239" } ] } ] }, "Mercancias": { "Mercancia": [ { "BienesTransp": "12352115", "Descripcion": "MERCANCIA PELIGROSA", "Cantidad": "4.00", "ClaveUnidad": "KGM", "Unidad": "Kilogramo", "PesoEnKg": "1058.64", "ValorMercancia": "1.00", "Moneda": "MXN", "TipoMateria": "02", "MaterialPeligroso": "Sí", "FraccionArancelaria": "0102399900", "CveMaterialPeligroso": "1090", "Embalaje": "6PG2", "DocumentacionAduanera": [ { "NumPedimento": "23 01 3173 3999999", "RFCImpo": "PPD101129EA3", "TipoDocumento": "01" } ], "DescripEmbalaje": "Envases y embalajes compuestos de Recipiente de vidrio porcelana o de gres con una caja de cartón" }, { "BienesTransp": "12352104", "Descripcion": "MERCANCIA PELIGROSA", "Cantidad": "2.00", "ClaveUnidad": "KGM", "FraccionArancelaria": "0102399900", "TipoMateria": "02", "MaterialPeligroso": "Sí", "Unidad": "Kilogramo", "PesoEnKg": "356.07", "ValorMercancia": "1.00", "Moneda": "MXN", "CveMaterialPeligroso": "1120", "Embalaje": "6PG2", "DocumentacionAduanera": [ { "NumPedimento": "23 01 3173 3999999", "RFCImpo": "PPD101129EA3", "TipoDocumento": "01" } ], "DescripEmbalaje": "Envases y embalajes compuestos de Recipiente de vidrio porcelana o de gres con una caja de cartón" } ], "PesoBrutoTotal": 1414.71, "UnidadPeso": "KGM", "NumTotalMercancias": 2, "LogisticaInversaRecoleccionDevolucion": "Sí", "Autotransporte": [ { "PermSCT": "TPAF01", "NumPermisoSCT": "0919ANC21062012230301000", "IdentificacionVehicular": { "ConfigVehicular": "T3S2", "PlacaVM": "71AX8R", "AnioModeloVM": "2021", "PesoBrutoVehicular": "1890" }, "Seguros": { "AseguraRespCivil": "GENERAL DE SEGUROS S.A.B.", "PolizaRespCivil": "23721266053", "AseguraMedAmbiente": "GENERAL DE SEGUROS", "PolizaMedAmbiente": "23721266053" }, "Remolques": { "Remolque": [ { "SubTipoRem": "CTR010", "Placa": "78UC4G" } ] } } ] }, "FiguraTransporte": { "TiposFigura": [ { "TipoFigura": "01", "RFCFigura": "AAGE730118NEA", "NombreFigura": "Adame Gonzalez Eleobardo", "NumLicencia": "DF00122", "Domicilio": [ { "Calle": "BUGAMBILIAS", "NumeroExterior": "17", "Estado": "MEX", "Municipio": "033", "Localidad": "05", "Colonia": "4915", "Pais": "MEX", "CodigoPostal": "55010" } ] } ] } } } ] } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **refID: ** Contiene el folio identificador en el sistema iFactura. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **total_processing_time:** total del tiempo de procesamiento y emisión de CFDI. * **wservice_id:** Contiene el identificador del web service consumido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de “<>”. { "id_transaccion": "0", "result": { "RFC": "NEA040929DKA", "user": "23", "retcode": 1, "UUID": "10056F5F-1D4C-40EC-96E7-52CD82530E52", "data": "", "stampdate": "2024-02-02T14:42:47", "refID": "A4718", "acuse": "acuse_sat=false", "testmode": true, "total_processing_time": 0.0093581318855286, "wservice_id": "NPWS-01 SANDBOX", "client_email": "NEARTEC", "email_result": 1 }, "ifactura_total_processing_time": 3.3811991214752197 } Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el Catálogo de Códigos de Respuesta. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": 10, "error": "La cuenta especificada no existe." }, "ifactura_total_processing_time": 0.012959003448486 } ==== Crear Complemento de Pago v2.0. ==== **Método: nueva_factura** Método utilizado para generar un nuevo **CFDI 4.0**, timbrado, con el complemento de pago versión 2.0 * Recibo de Pago, El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. === Llamado === Para generar una factura se debe enviar al servicio todos los bloques de datos; **Datos del Comprobante**, **Datos del Cliente** y **Conceptos**. Ejemplo { "id_transaccion": "0", "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": false, "method": "nueva_factura", "enviarFactura": false, "datos_factura": { "Version": "4.0", "RegimenFiscal": "601", "LugarExpedicion": "22010", "Moneda": "XXX", "TipoDeComprobante": "P", "numero_de_pago": "1", "cantidad_de_pagos": "1", "Exportacion": "01", "SubTotal": "0", "Total": "0" }, "conceptos": [ { "ClaveProdServ": "84111506", "ClaveUnidad": "ACT", "Importe": "0", "Cantidad": "1", "Descripcion": "Pago", "ValorUnitario": "0", "ObjetoImp": "01" } ], "cliente": { "id": "8", "UsoCFDI": "CP01", "nombre": "ALFONSO JUAREZ PINZON", "rfc": "JUPA740925837", "DomicilioFiscalReceptor": "44290", "RegimenFiscalReceptor": "626" }, "Complementos": [ { "Pagos": [ { "Version": "2.0", "Totales": { "TotalRetencionesIVA": "4.29", "TotalTrasladosBaseIVA16": "107.15", "TotalTrasladosImpuestoIVA16": "17.14", "MontoTotalPagos": "120.00" }, "Pago": { "FechaPago": "2022-11-25T06:50:38", "FormaDePagoP": "03", "MonedaP": "MXN", "TipoCambioP": "1", "Monto": "120.00", "RfcEmisorCtaBen": "BBA940707IE1", "CtaBeneficiario": "1234518168", "NumOperacion": "1", "DoctoRelacionado": [ { "Folio": "3", "IdDocumento": "49F6ED26-E449-4CF1-A286-0C9ABEFE887C", "MonedaDR": "MXN", "EquivalenciaDR": 1, "NumParcialidad": 1, "ImpSaldoAnt": "448.00", "ImpPagado": "120.00", "ImpSaldoInsoluto": "328.00", "Serie": "MO", "ObjetoImpDR": "02", "ImpuestosDR": { "RetencionesDR": { "RetencionDR": [ { "BaseDR": "107.15", "ImpuestoDR": "002", "TipoFactorDR": "Tasa", "TasaOCuotaDR": "0.040000", "ImporteDR": "4.29" } ] }, "TrasladosDR": { "TrasladoDR": [ { "BaseDR": "107.15", "ImpuestoDR": "002", "TipoFactorDR": "Tasa", "TasaOCuotaDR": "0.160000", "ImporteDR": "17.14" } ] } } } ], "ImpuestosP": { "RetencionesP": { "RetencionP": [ { "ImpuestoP": "002", "ImporteP": "4.29" } ] }, "TrasladosP": { "TrasladoP": [ { "BaseP": "107.15", "ImpuestoP": "002", "TipoFactorP": "Tasa", "TasaOCuotaP": "0.160000", "ImporteP": "17.14" } ] } } } } ] } ] } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de "<>". * **pdfBase64**: Contiene el PDF generado por la cuenta codificado en Base64, solamente se envía cuando se indica en el llamado. * **email_result**: Resultado del envío del correo. **1** para correcto y **-1** para incorrecto. * **email_error**: Mensaje del servidor de correo cuando hay un error en el envío. { "id_transaccion": "0", "result": { "RFC": "NEA040929DKA", "user": "23", "retcode": 1, "UUID": "3AFF5AFE-66F3-46CD-A6DD-C1B5765F46A7", "data": "", "stampdate": "2024-02-02T15:31:03", "refID": "A4719", "acuse": "acuse_sat=false", "testmode": true, "total_processing_time": 0.010770666599274, "wservice_id": "NPWS-01 SANDBOX", "client_email": "ALFONSO JUAREZ PINZON" }, "ifactura_total_processing_time": 2.6104509830474854 } Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el Catálogo de Códigos de Respuesta. * **error**: Consiste en una descripción del error dirigida al usuario. { "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)'" } } ==== Convertir CFD a CFDI ==== **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: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. * Se cumple con el estándar XML. === Llamado === Para generar un **CFDI** desde un CFD, o bien desde un CFDI v3.2 con o sin sellos, es necesario enviar los siguientes datos: == Ejemplo de Llamado == { "method": "cfd2cfdi", "xml_version": "2.2", "xml_data": "", "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. **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. **CFD v3.2 sin Sellos**: Se trata de un CFD 3.2, con todos los elementos requerido excepto por **Certificado**, **Sello** y **NoCertificado**. === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de "<>". * **pdfBase64**: Contiene el PDF generado por la cuenta codificado en Base64, solamente se envía cuando se indica en el llamado. * **email_result**: Resultado del envío del correo. **1** para correcto y **-1** para incorrecto. * **email_error**: Mensaje del servidor de correo cuando hay un error en el envío. { "id_transaccion": 0, "result": { "RFC": "XAXX010101000", "user": "23", "retcode": 1, "UUID": "D4F92041-2C5B-402A-A973-7BD84588BE40", "data": "", "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_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el **Catálogo de Códigos de Respuesta**. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": -1, "error": "El folio ya existe." } } ==== Nuevo Recibo de Nómina ==== **Método: ** nomina2cfdi Método para generar un cfdi 3.3 con el complemento de nomina 1.2 timbrado. El llamado recibirá las siguientes validaciones: * Los datos enviados están completos. * El método utilizado es correcto. * Los datos enviados tienen un contenido y formato correspondiente al dato que se indica. * Que los datos dependientes de bases de datos en el servidor sean correctos. * Que los datos validados por el SAT se encuentren en un formato correcto. === Llamado === Para generar un **Recibo de Nómina CFDI** es necesario enviar los siguientes datos: == Ejemplo de Llamado == { "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "getPdf": "true", "conceptos": [ { "Cantidad": "1", "ClaveUnidad": "ACT", "Descripcion": "Pago de nómina", "ClaveProdServ": "84111505", "Descuento": "538.36", "ValorUnitario": "3013.26", "Importe": "3013.26", "ObjetoImp": "02" } ], "datos_factura": { "Version": "4.0", "Serie": "784888", "Folio": "", "NoIdentificacion": "784-1", "RegimenFiscal": "601", "LugarExpedicion": "22785", "Moneda": "MXN", "TipoDeComprobante": "N", "Exportacion": "01", "MetodoPago": "PUE", "SubTotal": "3013.26", "Descuento": "538.36", "Total": "2474.90" }, "method": "nomina2cfdi", "Complementos": [ { "Nomina": { "Version": "1.2", "TipoNomina": "O", "FechaPago": "2020-02-06", "FechaInicialPago": "2020-01-30", "FechaFinalPago": "2020-02-05", "NumDiasPagados": "7.000", "TotalPercepciones": "3013.26", "TotalDeducciones": "538.36", "Emisor": { "Rfc": "EKU9003173C9", "Nombre": "demo", "RegistroPatronal": "3453534235", "RfcPatronOrigen": "EML9605068F4" }, "Receptor": { "UsoCFDI": "CN01", "Rfc": "CAVJ851207UW8", "NumEmpleado": "1490a", "Nombre": "JESUS CARMONA VALDEZ", "Curp": "CAVJ830820HGRRLN09", "NumSeguridadSocial": "04088725132", "FechaInicioRelLaboral": "2014-10-30", "Antigüedad": "auto", "TipoContrato": "01", "TipoJornada": "01", "TipoRegimen": "02", "Departamento": "SUCURSAL CHAPULTEPEC", "Puesto": "CARNICERO", "RiesgoPuesto": "3", "PeriodicidadPago": "02", "SalarioBaseCotApor": "290", "SalarioDiarioIntegrado": "322.91", "ClaveEntFed": "BCN", "RegimenFiscalReceptor": "605", "DomicilioFiscalReceptor": "22163" }, "Percepciones": { "TotalSueldos": "3013.26", "TotalGravado": "2338.13", "TotalExento": "675.13", "Percepcion": [ { "TipoPercepcion": "001", "Clave": "003", "Concepto": "Sueldos", "ImporteGravado": "2030.00", "ImporteExento": "0.00" }, { "TipoPercepcion": "019", "Clave": "005", "Concepto": "Horas Extras", "ImporteGravado": "308.13", "ImporteExento": "308.13", "HorasExtra": [ { "Dias": "1", "TipoHoras": "01", "HorasExtra": "8", "ImportePagado": "616.26" } ] }, { "TipoPercepcion": "020", "Clave": "033", "Concepto": "Prima dominical", "ImporteGravado": "0.00", "ImporteExento": "72.50" }, { "TipoPercepcion": "029", "Clave": "061", "Concepto": "Vales de despensa", "ImporteGravado": "0.00", "ImporteExento": "294.50" } ] }, "Deducciones": { "TotalOtrasDeducciones": "322.07", "TotalImpuestosRetenidos": "216.29", "Deduccion": [ { "TipoDeduccion": "001", "Clave": "001", "Concepto": "Seguridad social", "Importe": "55.49" }, { "TipoDeduccion": "002", "Clave": "002", "Concepto": "ISR", "Importe": "216.29" }, { "TipoDeduccion": "011", "Clave": "011", "Concepto": "INFONACOT", "Importe": "266.58" } ] }, "OtrosPagos": [ { "TipoOtroPago": "002", "Clave": "SubEmpleo", "Concepto": "Subsidio al Empleo", "Importe": "0", "SubsidioAlEmpleo": { "SubsidioCausado": "0" } } ] } } ] } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: ID del usuario con el que se está autentificando en el servicio. * **retcode**: Es el código de respuesta, el 1 significa correcto. * **UUID**: Identificador único del CFDI. * **data**: Contiene el XML completo, en caso de contener addenda en el request ya se encuentra incrustada. * **stampdate**: Fecha del timbrado, fecha en la que se realizó la certificación del comprobante. * **acuse**: Acuse de recepción del SAT, en caso de obtenerse inmediatamente se agrega, normalmente no sucede de esta manera. No es un elemento requerido. * **client_email**: Email del cliente, si no se indicó ninguno se toma del catálogo registrado en la cuenta, si no se encuentra tampoco ahí aparecerá solamente el nombre del cliente seguido de "<>". * **pdfBase64**: Contiene el PDF generado por la cuenta codificado en Base64, solamente se envía cuando se indica en el llamado. * **email_result**: Resultado del envío del correo. **1** para correcto y **-1** para incorrecto. * **email_error**: Mensaje del servidor de correo cuando hay un error en el envío. { "id_transaccion": 0, "result": { "RFC": "XAXX010101000", "user": "23", "retcode": 1, "UUID": "D4F92041-2C5B-402A-A973-7BD84588BE40", "data": "", "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_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el **Catálogo de Códigos de Respuesta**. * **error**: Consiste en una descripción del error dirigida al usuario. { "id_transaccion": 0, "result": { "retcode": 101, "error": "Error 301 al timbrar: 'XML mal formado - value 'valor-invalido' not in enumeration (ERROR)'" } } ===== Catálogo de Datos Soportados ===== El catálogo de datos soportados por el servicio se encuentra en el [[:datos-soportados-servicio-conector|Catálogo de Datos Soportados]]. ===== Nuevo esquema de Cancelación de CFDI. ===== 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. ===== Flujo del nuevo esquema de cancelación ===== {{http://www.itimbre.com/wp-content/uploads/2018/10/Esquema-de-cancelación-de-facturas.jpg?nolink&901x434}} ===== Llamado ===== 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. | ===== Cancelación CFDI, ejemplos 1 folio, y varios folios. ===== ===== ===== \\ ==== Ejemplos Cancelación. ==== **Ejemplo de codificación de llamado en formato JSON (Un solo folio):** { "id_transaccion": 0, "method": "cancelarCFDI", "cuenta": "demo", "user": "administrador", "password": "Administr4dor", "cancelaciones": [ { "uuid": "FF70719D-5637-43CE-B837-0E966F7FA0CB", "Motivo": "01", "FolioSustitucion": "FF70719D-2222-43CE-B837-0E966F7FA0CB" } ] } **Ejemplos para la cancelación para más de un folio.** { "method": "cancelarCFDI", "cancelaciones": [{ "uuid": "B302BF6F-3BB6-400E-A321-AE0A2CA830EA", "Motivo": "01", "FolioSustitucion": "FF70719D-2222-43CE-B837-0E966F7FA0CB" },{ "uuid": "14421761-DA59-4E89-BEF4-4ED6AD3F7A21", "Motivo": "02", "FolioSustitucion": "" }], "id_transaccion": 0, "cuenta": "demo", "user": "administrador", "password": "Administr4dor" } === Respuesta === SI el procesamiento resulta correcto se responderá a la solicitud con un objeto JSON consistente en lo siguiente: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **RFC**: Es el RFC registrado en la cuenta, a nombre del cual se selló el comprobante. * **user**: * **retcode**: Es el código de respuesta, el 1 significa correcto. Si el procesamiento no es correcto, se responderá con un objeto con los siguientes datos: * **id_transacción**: El número de la operación. Si se indicó en el llamado será este mismo, sino el valor por defecto es **0**. * **result**: Es un objeto que dentro contiene los detalles de la respuesta, en el caso de ser correcta contiene los siguientes datos: * **retcode**: Es el código de respuesta, cualquier código diferente a 1 es incorrecto, se detalla en el **Catálogo de Códigos de Respuesta**. * **error**: Consiste en una descripción del error dirigida al usuario. * **notFoundInternalFolios**: Es un arreglo que contiene los CFDI no encontrados divididos por "payrolls" e "invoices". { "id_transaccion": 0, "result": { "retcode": -1, "error": "Respuesta no esperada al intentar enviar el CFDI al SAT.", { "payrolls": [ "A99999" ] } } } ===== Reforma fiscla 2022: ===== En la Reforma fiscal 2022, se convierte en obligación para el contribuyente, el señalar motivo de cancelación de sus CFDI; el inicio de la vigencia es el día 1 de enero del 2022. Dicha información se encuentra contenidad en la regla 2.7.1.34 de la RMISC, e indica el procedimiento de cancelación, el cual se observa es similar al del ejercicio 2021, con la única modificación de que para el año 2022 se necesita señalar el motivo de cancelación. **Tipos de cancelación: ** **Tipo de cancelación "01" Comprobante emitido con errores con relación** Cuando la factura generada contiene un error en la clave del producto, valor unitario, descuento o cualquier otro dato, por lo que se debe reexpedir. En este caso, primero se sustituye la factura y cuando se solicita la cancelación, **se incorpora el folio de la factura que sustituye a la cancelada**. {{:cancelacion_1.png?nolink&1350x827}} **Tipo de cancelación "02" Comprobante emitido con errores sin relación** Cuando la factura generada contiene un error en la clave del producto, valor unitario, descuento o cualquier otro dato y no se requiera relacionar con otra factura generada. {{:cancelacion_2.png?nolink&1350x754}} **Tipo de cancelación "03" No se llevó a cabo la operación** Cuando se facturó una operación que no se concreta. {{:cancelacion_3.png?nolink&580x411}} **Tipo de cancelación "04" Operación nominativa relacionada en la factura global** Cuando se incluye una venta en la factura global de operaciones con el público en general y posterior a ello, el cliente solicita su factura nominativa, lo que conlleva a cancelar la factura global y reexpedirla, así como generar la factura nominativa al cliente. {{:cancelacion_4.png?nolink&1350x758}} **Comentarios importantes**: **Cancelación de CFDI sin aceptación del receptor** RMF 2.7.1.35. Los contribuyentes podrán cancelar un CFDI sin que se requiera la aceptación del receptor en los siguientes supuestos: I. Los que amparen montos totales de **hasta $1,000.00** (mil pesos 00/100 M.N.). II. Por concepto de nómina, únicamente en el ejercicio en que se expidan. III. Por concepto de egresos. IV. Por concepto de traslado. V. Por concepto de ingresos expedidos a contribuyentes del RIF de conformidad con lo dispuesto en la Sección II, Capítulo II, Título IV de la Ley del ISR vigente hasta el 31 de diciembre de 2021, en relación con lo dispuesto en la fracción IX del Artículo Segundo de las Disposiciones Transitorias de la Ley del Impuesto sobre la Renta, publicada en el DOF el 12 de noviembre de 2021. VI. Que amparen retenciones e información de pagos. VII. Expedidos en operaciones realizadas con el público en general de conformidad con la regla 2.7.1.21. VIII. Emitidos a residentes en el extranjero para efectos fiscales conforme a la regla 2.7.1.23. IX. **Cuando la cancelación se realice dentro del día hábil siguiente a su expedición**. X. Por concepto de ingresos, expedidos por contribuyentes que enajenen bienes, usen o gocen temporalmente bienes inmuebles, otorguen el uso, goce o afectación de un terreno, bien o derecho, incluyendo derechos reales, ejidales o comunales a que se refieren las reglas de la Sección 2.7.3., así como los contribuyentes que se dediquen exclusivamente a actividades agrícolas, silvícolas, ganaderas o pesqueras en términos de la regla 2.7.4.1., y que para su expedición hagan uso de los servicios de un proveedor de certificación de expedición de CFDI o expidan CFDI a través de la persona moral que cuente con autorización para operar como PCGCFDISP. XI. Emitidos por los integrantes del sistema financiero. XII. Emitidos por la Federación por concepto de derechos, productos y aprovechamientos. Cuando se cancele un CFDI aplicando la facilidad prevista en esta regla, pero la operación subsista, se emitirá un nuevo CFDI que estará relacionado con el cancelado de acuerdo con la guía de llenado de los CFDI que señala el Anexo 20. **Plazos para la cancelación de CFDI** RMF 2.7.1.47. Para los efectos del artículo 29-A, cuarto párrafo del CFF, la cancelación de los CFDI se podrá efectuar **a más tardar el 31 de enero del año siguiente a su expedición**. Lo anterior no es aplicable a los CFDI globales emitidos por las personas físicas que tributen en el Régimen Simplificado de Confianza. ===== Códigos de respuesta de cancelación: ===== {{:codigos-de-cancelacion.jpg?nolink&589x762}}