Herramientas de usuario

Herramientas del sitio


web-service-ifactura

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

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.
ok-recibo.json
{
  "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.
error-recibo.json
{
  "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": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Certificado=\"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\" Exportacion=\"01\" Fecha=\"2022-09-06T11:31:16\" Folio=\"992\" FormaPago=\"01\" LugarExpedicion=\"21000\" MetodoPago=\"PUE\" Moneda=\"MXN\" NoCertificado=\"00001000000504329009\" Sello=\"cSvbAauUStp1gAKX8KOHiHuYzTvqT8ZmvttdMtCTy96hVDs07uOK2VoWpO+U9mdstIA+ELtZdstxa5POkIyZ4t3YdBGV75wMadvUbkdErNqfX+nocid4yXQUMQtYZ4bAo5NfK9dEP+IJ/y5xSTHxE0HiBfht7KMod2DZYw/zwM5Jugq/No50OC7+PAHAsDIKznMgH+d9OjjPyuN98kXaMtwSxjR/gcPpGPoiuKywDCT97d/dWIEbDpivkypaOf1dsp27jL9tKOr95tEtvYtIYj+6f/nOcBWnUjA0sdeZmGf+f3GAA5mRhzxNYfwwwP4kXouup9MtLv+UuDz+iIMz+A==\" Serie=\"A\" SubTotal=\"100.00\" TipoDeComprobante=\"I\" Total=\"116.00\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd\"><cfdi:InformacionGlobal Año=\"2022\" Meses=\"01\" Periodicidad=\"02\"/><cfdi:Emisor Nombre=\"NEARTEC\" RegimenFiscal=\"601\" Rfc=\"NEA040929DKA\"/><cfdi:Receptor DomicilioFiscalReceptor=\"21000\" Nombre=\"PUBLICO EN GENERAL\" RegimenFiscalReceptor=\"616\" Rfc=\"XAXX010101000\" UsoCFDI=\"S01\"/><cfdi:Conceptos><cfdi:Concepto Cantidad=\"1\" ClaveProdServ=\"01010101\" ClaveUnidad=\"ACT\" Descripcion=\"Venta\" Importe=\"100\" NoIdentificacion=\"150\" ObjetoImp=\"02\" ValorUnitario=\"100\"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base=\"100\" Importe=\"16.00\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados=\"16.00\"><cfdi:Traslados><cfdi:Traslado Base=\"100.00\" Importe=\"16.00\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital FechaTimbrado=\"2022-09-06T13:31:17\" NoCertificadoSAT=\"30001000000400002495\" RfcProvCertif=\"PPD101129EA3\" SelloCFD=\"cSvbAauUStp1gAKX8KOHiHuYzTvqT8ZmvttdMtCTy96hVDs07uOK2VoWpO+U9mdstIA+ELtZdstxa5POkIyZ4t3YdBGV75wMadvUbkdErNqfX+nocid4yXQUMQtYZ4bAo5NfK9dEP+IJ/y5xSTHxE0HiBfht7KMod2DZYw/zwM5Jugq/No50OC7+PAHAsDIKznMgH+d9OjjPyuN98kXaMtwSxjR/gcPpGPoiuKywDCT97d/dWIEbDpivkypaOf1dsp27jL9tKOr95tEtvYtIYj+6f/nOcBWnUjA0sdeZmGf+f3GAA5mRhzxNYfwwwP4kXouup9MtLv+UuDz+iIMz+A==\" SelloSAT=\"BM7U/54JaSvtnuvu/LCaOvlnTO8nqYRyHXFFoqlH1qkTQ1OXHaF1pIDL//GKPFcd2iagCCQhXrp44KFmOBpjvHaUbrYNqOhsoie/zOmScL6yOJuxGal3fjBrs+Mvuogr5RKvXDPUFnfNijSJLiiZOqGJ00bIAB6ExeatHg4fcUP/qdjnKKEpaRGIvWoYyQogbzj6S6N1bOfbdYK4cAhw+F1Ao7sPV3nDyd0Xrg2osvDk/i3dZOhqiEfQGegTmX6PKa587b6vN2ml3ZDNtmT60f39ze08hjBafg04bGbj6WYtfVnNKFSKQzM54i06fEtPZPcL171Pt36EMf034UczRw==\" UUID=\"CBC134C8-E495-45F3-8FF3-B48BB726555D\" Version=\"1.1\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\"/></cfdi:Complemento></cfdi:Comprobante>",
    "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<soporte@itimbre.com>",
    "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.
ok-recibo.json
{
  "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

(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:

En la siguiente pantalla, el usuario deberá ingresar sus datos fiscales y, posteriormente, presionar el botón: “siguiente”:

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.

Si la información es correcta, el sistema le permitirá visualizar, descargar, y enviar por correo su CFDI emitido:

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:

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": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:cartaporte30=\"http://www.sat.gob.mx/CartaPorte30\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Certificado=\"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\" Exportacion=\"01\" Fecha=\"2024-01-25T12:13:32\" Folio=\"25012024\" FormaPago=\"04\" LugarExpedicion=\"22010\" MetodoPago=\"PUE\" Moneda=\"MXN\" NoCertificado=\"00001000000504329009\" Sello=\"RgpasSrjqd3ZD2n0BuOqnKraUHWcp3t2y4aksO+G7HhSWsDHAeczeIwSdczro3v7Dj1lW2NPyL0EjP/km4DEwtveSypqcpsxW8fsz+eik3r7WsO2pxZbRlYkpwCX2P9GnOevmvtiq7XkuI9eSnJDu/mtXs3dw5jZQb68CZVwc4CKS22KxkZRwd6NToccijdkQn0hGCP9KmQAf8bOE3cCfuGPtKylvuMBcIjUm3HWNWMq+/wFOfQFipBUj4qt//gCuS+mzmIBR4FVgOcv6i1wVgsJk9ZqDGhYLMN1cLyi6C1ygJaAVSSCZ/1/rU5y02gN/2E0CVlC/e2lJWeeCQvJFw==\" Serie=\"XX\" SubTotal=\"50000.00\" TipoCambio=\"1\" TipoDeComprobante=\"I\" Total=\"56000.00\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/CartaPorte30 http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte30.xsd\"><cfdi:Emisor Nombre=\"NEARTEC\" RegimenFiscal=\"601\" Rfc=\"NEA040929DKA\"/><cfdi:Receptor DomicilioFiscalReceptor=\"44290\" Nombre=\"ALFONSO JUAREZ PINZON\" RegimenFiscalReceptor=\"612\" Rfc=\"JUPA740925837\" UsoCFDI=\"G03\"/><cfdi:Conceptos><cfdi:Concepto Cantidad=\"1.00\" ClaveProdServ=\"78101802\" ClaveUnidad=\"E48\" Descripcion=\"Flete Sencillo \" Importe=\"50000.00\" NoIdentificacion=\"9\" ObjetoImp=\"02\" Unidad=\"Unidad de servicio\" ValorUnitario=\"50000.00\"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base=\"50000.00\" Importe=\"8000.00\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/></cfdi:Traslados><cfdi:Retenciones><cfdi:Retencion Base=\"50000.00\" Importe=\"2000.00\" Impuesto=\"002\" TasaOCuota=\"0.040000\" TipoFactor=\"Tasa\"/></cfdi:Retenciones></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosRetenidos=\"2000.00\" TotalImpuestosTrasladados=\"8000.00\"><cfdi:Retenciones><cfdi:Retencion Importe=\"2000.00\" Impuesto=\"002\"/></cfdi:Retenciones><cfdi:Traslados><cfdi:Traslado Base=\"50000.00\" Importe=\"8000.00\" Impuesto=\"002\" TasaOCuota=\"0.160000\" TipoFactor=\"Tasa\"/></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><cartaporte30:CartaPorte IdCCP=\"CCC7d89c-b0ff-4fc7-abc7-eb515ff0d59a\" TotalDistRec=\"500\" TranspInternac=\"No\" Version=\"3.0\"><cartaporte30:Ubicaciones><cartaporte30:Ubicacion FechaHoraSalidaLlegada=\"2023-12-22T09:55:21\" NombreRemitenteDestinatario=\"Nueva Wal Mart de Mexico. S. de R. L. de C.V\" RFCRemitenteDestinatario=\"NWM9709244W4\" TipoUbicacion=\"Origen\"><cartaporte30:Domicilio Calle=\"SANTA ROSA\" CodigoPostal=\"45140\" Colonia=\"0747\" Estado=\"JAL\" Localidad=\"10\" Municipio=\"120\" NumeroExterior=\"53\" NumeroInterior=\"SN\" Pais=\"MEX\"/></cartaporte30:Ubicacion><cartaporte30:Ubicacion DistanciaRecorrida=\"500\" FechaHoraSalidaLlegada=\"2023-12-23T10:55:21\" NombreRemitenteDestinatario=\"Sabritas SA de CV\" RFCRemitenteDestinatario=\"CAVJ830820K61\" TipoUbicacion=\"Destino\"><cartaporte30:Domicilio Calle=\"Santa Esther\" CodigoPostal=\"45140\" Colonia=\"0748\" Estado=\"JAL\" Localidad=\"10\" Municipio=\"120\" NumeroExterior=\"57\" NumeroInterior=\"B\" Pais=\"MEX\"/></cartaporte30:Ubicacion></cartaporte30:Ubicaciones><cartaporte30:Mercancias NumTotalMercancias=\"1\" PesoBrutoTotal=\"1\" UnidadPeso=\"KGM\"><cartaporte30:Mercancia BienesTransp=\"50326700\" Cantidad=\"1.00\" ClaveUnidad=\"XBX\" Descripcion=\"1\" Moneda=\"MXN\" PesoEnKg=\"1.00\" Unidad=\"Caja\" ValorMercancia=\"0.00\"/><cartaporte30:Autotransporte NumPermisoSCT=\"0X2XTXZ0X50X3X2X1X0\" PermSCT=\"TPAF01\"><cartaporte30:IdentificacionVehicular AnioModeloVM=\"2020\" ConfigVehicular=\"C2\" PesoBrutoVehicular=\"1.00\" PlacaVM=\"MAG5678\"/><cartaporte30:Seguros AseguraRespCivil=\"GNP Seguros\" PolizaRespCivil=\"1234585536\"/></cartaporte30:Autotransporte></cartaporte30:Mercancias><cartaporte30:FiguraTransporte><cartaporte30:TiposFigura NombreFigura=\"Operador Porcentaje Catalogo\" NumLicencia=\"NVOL09627\" RFCFigura=\"EUGD840828QD5\" TipoFigura=\"01\"><cartaporte30:Domicilio Calle=\"Santa Esther\" CodigoPostal=\"45140\" Colonia=\"0748\" Estado=\"JAL\" Localidad=\"10\" Municipio=\"120\" NumeroExterior=\"57\" NumeroInterior=\"B\" Pais=\"MEX\"/></cartaporte30:TiposFigura></cartaporte30:FiguraTransporte></cartaporte30:CartaPorte><tfd:TimbreFiscalDigital FechaTimbrado=\"2024-01-25T14:13:32\" NoCertificadoSAT=\"30001000000500003456\" RfcProvCertif=\"SPR190613I52\" SelloCFD=\"RgpasSrjqd3ZD2n0BuOqnKraUHWcp3t2y4aksO+G7HhSWsDHAeczeIwSdczro3v7Dj1lW2NPyL0EjP/km4DEwtveSypqcpsxW8fsz+eik3r7WsO2pxZbRlYkpwCX2P9GnOevmvtiq7XkuI9eSnJDu/mtXs3dw5jZQb68CZVwc4CKS22KxkZRwd6NToccijdkQn0hGCP9KmQAf8bOE3cCfuGPtKylvuMBcIjUm3HWNWMq+/wFOfQFipBUj4qt//gCuS+mzmIBR4FVgOcv6i1wVgsJk9ZqDGhYLMN1cLyi6C1ygJaAVSSCZ/1/rU5y02gN/2E0CVlC/e2lJWeeCQvJFw==\" SelloSAT=\"NOIVZOquWfLuPp1cA24NDXhJMUWKkDLNaj0N7xjikXeX12nXMjzDSE3hgpUd7vhsPuHxuWz4z6jvRC+VEZb5W2U31FeY4ozMeU6PZkHwjnZIUfC+Shm/lq5YmxNdsjoHCKUNjfDYIHJ1OsGlVMl07Y8BZwFL9JzWxaA8yJvpH0sfLAVqfYnfkTbIr11OOJ3UQ60gP6imoa/zSOQwCEKOIo9t+GkAnCVmEddCwZqG9CMfiIq6MchOPcXzAkJnwEiZPR1aseXEjkBvetfdUfeAVO9Yj0+kIhCCF75pJXYW3EZss51U9LaVg/b4ZqNrWbJ38CmWq8+iNhERBq6EKqzyrw==\" UUID=\"11DF9FA8-A673-47B3-971D-0A03D55CA9BD\" Version=\"1.1\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\"/></cfdi:Complemento></cfdi:Comprobante>",
    "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/a9Mt5ycs6Dcffof1zWlN9DSD6FuiiitTQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi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}}FFkbc4UBm9T60APooooAKKKKACisyz1qC71q80xUdZrUAknGGBx0/MVfnjMsEkYbaXUqGHbI60ASUySSOFC8rqiDqzHAFZfhzRpdEtJYJb57wu+8OykY4Ax1PpXKajC/ifx3JplzM62VqudinHQDP4knr6UAdvDqdhcSeXBfW0r/AN1JVY/kDVuuYm8BaFJHtSGaFv76Skn9ciumUYUD0FAC0UUUAFFFFABRRRQAUUVFdRGe1mhVyhkRlDD+HIxmgCWisnw7o8ui2MlvLeveM8hfeykEcAY6n0/WtU9KAFormNP0DUJ9cm1TWrgEBsw20UhKKO2enT9TXT0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADJZFhiaRzhVGTXMyy3Gq3gVe5+VeyitPxBMUtUiH/LRufoP8isyxu3tkZbeLfPIcZxnA9hXBiJpzUG9DKb1sasGh26KPOLSN35wK0IYY4IliiXai9BnNc8dU1GCQeaSP9l4wP6Vtafepew7gNrrwy+la0Z0m7RVmVFx6GPr0zPe+WT8sYGB7mtKy021FpGXiV2ZQxZuetV9bsGkP2mLkgYce3rVWy1mS2hEUieYqjCnOCPasrxhWbqdSdFLUr6jALO+ZIiQBhl56V0L3Rj00XLD5vLDY9yP8awraCTVb1pJHUDOW55x6AVtapHu0uVEHRQQB6Ag/wBKdFNKc47dAj1aMKwtzqF9iViRy7nua2LvSbd7ZhDHskUZUgnn2rM0SdIb3DkAOu3J9a6KWVIY2kkYKq9SaMPCEqbcggk1qc7oty0N6I8/JLwR79jW5e2iXsIjdioDBsjrXMWp/wBNhKjH7wEfnXYU8L70HF7DhqrGeNGsgmDGxP8AeLHNYN9b/ZLx4lYkLgg961bjXfLd40g+ZSRktxVG1t5NUu2eWVRk5bnk/QVnW9nO0aa1JlZ6I6CzdpLOF3+8yAn8qnpqqEUKowAMAVn6zefZrfy0P7yQY+g7mu6UlCF5dDVuy1M+/mbUtQS3hPyA7R7+pqtpmP7Shx03VqaFZ+XGblx8zjC+w9aytL/5CMH+9XnST5ozlu3/AJGLWqbOsooor1DcKKKKACiiigApG+6fpS0jfdP0oA4T4XkLZ6izEAB0JJ7cGtPW/G+mWNu62Uy3d0RhBHyoPqT0/Ksz4XDNpqIPTen8jXUWHh3SNNcPa2ESSDkO2WYfQnOKAMX4faNcadYT3V2jRy3ZUhGGCFGcE/XJrndBstR1fUdS0+3v2tLMTtJNs+8xJIAH5V6hXB/D/wD5Dut/7/8A7M1AGtfungzwm62ztK6ttiaXBJdjnn6cn8Kx9J8Iza7ZR6jreo3TPcDeiKw4U9Dzn8gK0fiVE7+G42UEiO5Vm9hhh/Mitzw/PHc6DYSxEFTAg47EDBH4EEUAcVqEOoeBb62uLa8ludOlba0Uh/MemcdCKufEG3ZP7O16zPzRMoLD0+8h/PP51L8T54xpFpbkjzXn3gd8BSD/AOhCt640v7d4WGnTDDtbKnPZwowfzAoAv2N3He2EF3Gf3c0Yce2RXE+GEOv+M77WnGYLc4iz6/dX/wAdBP1NZ+meIGsfBGoWEjFbqF/JjU9QHzn8sP8ApXZeD9L/ALK8PW8TLiaUebJ9T2/AYH4UAc7cyX3i/wAS3WnQ3b2unWhKv5Z+9g4/Ek5x2AFP1TwV/ZVhLfaRqF2lxApkIZx8wHJwQBj9axtH0NNS8SapZT3k1rNHIzKE6vhjn+YroT8P4yCDq94QeoNAGp4a106h4YOoXZ+e3DiZgMZ2jOfyxXNaTp1742efUNTvZobMSFI4Yjx+GeOMjnHNdDF4fXSPCepafbSvMZY5WBYYJJTGP0rkvCPhuHW9NklGpXEEkchVoozwBjIP4/0oAua3olz4Pij1PR7+cxK4WSKQ5HPrjAI7dK6fVfEAtPCg1aJRvliQxKegZh3+n9KyH+HsMi7X1a7ZfRgCKd40077H4HhtomLpaNGCx6kD5c/mRQBn6T4TuvENmmpa1qVwTONyIDkhex54GfQCsrxb4eOgtZKl7LcQys21JP4CMZ745yO3avQvDFzHdeHNPkiIIWBUOOxUYI/MVzHxP/5hX+/J/wCy0AdH4r1htE0SS5iA852EcWegY9/wAJrmtK8HS61ZR6hreo3TSzqJFRWHyg8jJOfyA4q98TImfQIHUEqlwC3tlWGf8+tdFos8dzo1lNEQUaFMY7ccj8DQBxF6l/4F1K2khvJbnTZmw0b9sdRjpnHIIrc+ITB/CrMpyplQg+tUfifMn9nWVtkGV5i4A64AI/qKseOI2i8FRxv95DEp+oFAFfRfDt5rEdnq2r6nM5+SWKFPuqBgjPb8h+NdvWZ4a/5FvTf+vZP5CtOgBOlcNoH/ABUXja71dvmtrMbIPTuB+m4/Uitrxvqv9meHptjYmuP3Mfrz1P5Z/Squi+H54vB0dlDdPY3NxiaSZFO5ScHHUY4AH50AZvjKN9E8S2GvwKdjMEmA7kcH81yPwruYpEmiSWNgyOoZWHcHoa4jUfA+oz2Ugk1+5uyqlkhlViGYDgcscfWr3w81Q3uiGzlP76zbZg9dh+7/AFH4UAZ9r/yVe5/3P/aYrvK4K3IT4sThjjcvGe/7oV3jEKpZiAAMkntQBwnww/5iv+/H/wCzVQutIg1v4iX1ncvIkZG7MZAOQq+oNX/hfyNVI/vx/wDs1Lp3/JU73/cP/oK0AdDDbWvhPw7P5TSSRQBpB5hGST24A74rldG0S98Xxvqer6hOsDuRHFGcDjrjPAHbpXU+Mo3l8K6gqDJEYb8AwJ/QGq/gGeObwpaohG6IujgdjuJ/kRQBz2s6Je+EIk1PR9QnaBHAkikORz0zjgjt0rptRvk1LwRc3qDAms2bHodpyPzqLx7PHD4UulcjdKURAe53A/yBNU7GNovhgyuCCbOVufQ7iP0NAGN4a0O+8R6REbzU5YrCDMccMXU4OST27+9XfiTEINF06FSSscm0E9eFxWl8Of8AkWF/67P/AEqj8UP+QZZf9dj/AOg0AdLe6bDq+h/YbhnSKVEyUIBGCD3B9K5u68AaHZ20lxcXt5HFGu5mLpwP++a7C2IWziJIAEYJJ+lcPqFzP421oabYuyaVbNummH8fv/gPxoApeB9E+1a6dUthLHp9s5ERlwWkOMY4wO+T+Vdj4g0A640Aa+ntoo925Iv4846/THp3rUtLWGytY7a2jEcUa7VUdhXFeJbq+1bxdD4ft7t7SDaC5Q43fKWOcdeO1AE0/wAPbeKJn0/UbuK5AyrOwwT+ABFWvh/rN1qumTR3khlltnCiRurKRxn1PB5qH/hXtooympXqv/e3D/Cqnwt/499R/wB+P+TUAR6hcaj4r8T3Gk2l01rY2pIkZSecHBJx156DpU9x4AhtbWWa11S6jlRC2SBg4Htio/Bsi2vjHWbOY7ZZHcrnvhz/AEOa7a+/48Lj/rk38jQByPwv/wCQRef9d/8A2UVSll1Dxl4iubKG7e1021JDbP4gDjPuSc9eg/W78L/+QRef9d//AGUVW+Hbi31bWLKU4n3A4PU7WYH+YoAmvPAf2K2e40fUbtLuMblDMPnI7AjGDWp4I12XWtKb7UQ1zbtsdh/ECOD/AD/KuhmlSCF5ZWCxxqWZj2A61w/wxVmXVJ9pEckiBfqNxP8AMUAd3XEeKtS1DUfEMPh3S5jBkAzSKcHkZ5I7BeffNdvXBGRbL4rM052rcKFRj7xgD9RigCwvw7gVQ41S6Fx/z0AHX6df1qn8PImg1/VonkMjxgqznqxDkZr0GuD8Df8AI1a5/vt/6GaAJNevL/XfFH/CP2Fy1tbxLmeRDyeMnp25Ax60+4+H8UNu0unajdpeKMqzMME/gAR+dY1zpS33xBvbK4upLUykvG6dWJAIH5Z/Ktz/AIQBP+gxeUAW/AutXGraXJHeMXuLZ9jOerA9CffqPwrp6xPDfhyHw8lwsVxJN55UkuAMYz/jW3QBwVsovPipO0vIgUlAe2EAH8813tef6zJ/wj/xDh1KYEWt0o3NjgDbtP5EA13yOsiK6MGVhkMDkEUAOrI8Uas2i6JNdxgGbhIwem4/4cn8K165T4kQvJ4aDKCRFOjt7DBH8yKAM7SvB8mt2Ueoa3qN08twokVUYfKDyOoP5DGKiAvfBniOztheSXGm3bBdsh+7zg/iMg8dafpHg2HUdKtbuPWLoLLGCVU8Kccj8DkVcj+H8C3EU0mp3MpicMA4B6HNAEXxKme3i0ueI7ZIpi6n0IwRV7RvDFzHfwatqupTXN4uW2A/IuQRj9e2Kzvil/x56f8A9dH/AJCu4j/1a/QUAea3Wkwa18Rb2zuXkSMjdmMgHhF9Qa7S10mDRfD9xZ2zyPGEkbMhBPI9gK5vT/8Akql5/uH/ANAWu01D/kHXP/XJ/wCRoA5P4Yf8ga7/AOvj/wBlFY66Rba38QNStLsyCMbn/dkA5GPb3rY+GH/IGu/+vj/2UVX0T/kpup/7j/zWgCDxR4N0zSNCnvbZ7gyxlcB3BHLAenvXS+FpktvBtpPKcJFAzsfYEk1H4+/5FK8+sf8A6GtRaRC9x8OxDGCXks5FUDuSGxQBg6bb6n44uJ7q6vZLXT432LFGeCeuPTgEZJ9a14vh/Y28yS29/eo6MG5ZTnH0ApnwzuY5NDmtwR5sUxZl74IGD+h/KuxoAzNe0l9ZtI7dbyW1USbmMXVhgjHX3/SsB/h3YhS0OoXiTdnJUjP0AB/Wm+ONSvv7S0/RrGdrf7WRvkU4J3NtAz6dacvw9tcBn1O9MvdwQMn8v60AJ4G1K+Ooaho9/O07WhO12OSMNtIz3HTFM8TapqOoeIY/D2kzG3JA86VTg8jJ57AD061T8CW/2Txdq1t5jSeSrpvbq2HAyakidbH4qS/aDtW4XCMehygx+oxQBcX4d2LKGn1C9km7uCoz+BB/nWwmmjSfDF1ZrPJOEhlIeTryCcVtVU1b/kEXv/XB/wD0E0Acz8Mf+QBc/wDX03/oC1n3M2oeL/Elzp9vdva6dakhyh+9g4yfUk9PQVofDH/kAXP/AF9N/wCgLVLwA4ttf1mzlOJi2QD1O1mB/mKAJrvwD9lt2n0jUbtLtBuXcw+Y+mRjFafgfXZtZ0yRbs7rm2YK7YxuB6E+/BH4V0UsiRRPJIwVEBZmPQAdTXDfDQGSXVrkKRHI6Bfr8x/qPzoAzrGDU9Q8Va1p1hfGzikuJJJ3XrgORx3/AIvUVoap4GFhYTX1hqN19qgQyEscbsDJwRyDS+Ev+R9136y/+jRXY6t/yCL3/rg//oJoAyvBWrTavoCS3Lb5onMTv/ewAQfyIroK474Y/wDIAuf+vpv/AEBa7GgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMPxGDutz2w39Km8PxILV5cfOzYJ9qm1m2a4s8oMvGdwHqO9Zmj6glqXimJEbHIPoa4ZWhiLy2Zk9J6mrrEKy6fISPmT5lPpWVoDlb4qOjIc1Z1bU4ZLYwQPvL/AHiOgFN8P2zBnuWGBjavv60SanXXKD1loV9ZvXnuWgUkRxnGB3NaFvotutuFmUtIRywOMH2rI1KFre/kz/E29T6g1u2+q2ssIZ5VjfHzK3GDSpcsqkvabhGzbuYV5byadeAI54+ZGHBxXR2M/wBqs45WAywww9+hrn9VulvLsGLJVRtBx1re02Brexijb72Mn2J5p4fSpJR2CG7sZt3obFy9qy7Tzsbt9Ki/smZEMl3KBFGMkBsn6CtObVrSFmQuSykggKeorI1DU3vsRRqVjz07tSqxoRu1v2CSiiLSojLqMQA4U7j7YrqqztIsTaRF5B+9fqPQelS32oR2TxiRS2/P3eorWhH2VO8iorlWo+TT7STJaBMnqQMGuf1K0+wXQEbHaRuU9xW1/bFltz5pz6bTmsTUbw31yGVSFAwo71liHScfd3Jny20Og024N1ZJI33ujfUVzdxc/abszSqWUn7ucceldHpkDW1jGj8MeSPTNO+wWn/PvH/3zWs6U6kIq5Ti2kZg18AAC1wB0Hmf/WrKtZvs9yk23dsOcZxmuo+wWn/PvH/3zXN6eiyX0KOoZS3IPeuetGopR5mRJO6udFp959ugaXy9mG24znsP8at1HFDHCpWJFRSc4AxUlehFNL3tzVeYUUUVQwooooAKQjIIpaKAOb8G+Hrrw/DdJdSwyGZlK+WScYB65A9a6SiigArmvDHh260bUtQubiWF0umygjJyOSecj3rpaKAILy0hvrSW1uUDwyrtZa5GLwjrWlO6aLrfl27HOyUdP0Iz74FdrRQByOn+DZn1JNQ12/a+mQgqmDtyOmc9vbArrqKKAOKvvAzXXig6gJIRZPKJZIjncT1I6Y5Pv3rtKWigDmtf8JR6peLqFncvZXy4/eJ0bHQnHIPvVMaJ4wxs/t+HZ645/wDQf612NFAFPSbW4s9Nht7u6a6nTO+ZurZJP6Zx+Fc5feDJYtQe+0HUGsJHOWj52/hjt7YNdfRQBx39h+Lpfkm8QRonrGvP6AfzrqZ7SO6sWtLkebG6bHz/ABcVYooA4ePwdrOlyuNE1ryoHOdkmR+fBBPvgU2bwXrGpzRvq+tCQRnKhVLY9cDgDpXdUUAV76zg1CzltLpN8Mq4Yf571yUPhLXNLLx6NrYjt2OQko6fhgjPvxXa0UAclpng2T+001LW79r64QgquDtBHTr1HtxWp4q0mfW9Hazt3jSQurZkJxx9Aa2aKAKekWj2Ok2lpKys8MSoxXoSBjirlFFAHM694cutb12ynllhGn22CYiTubnJ4xjnAHWulpaKACuX0/w1d6Z4sn1K1mhFlcbt8RJDc88DGPvfpXUUUAcx4l8JnVr2PULG6NpexgDdzhsdDkcgj1qqPCut34EWs667238UcOfnHucD9Qa7GigDnvC3h2TQJ9RzIjwTyKYQpJZVG7AOR15FVNc8KXlxrf8Aa+j3y2tyQNwcHGcYyCM9u2K6yigDO0i1votN8jWJ47qdiwZlHylT26CucbwZf6ddyTeH9Va1STrFJkgfjzn8RXaUUAcWvgy/1G7jm8QaqbpIzkRR5wfx4x+ArptTsTdaNc2NvsjMkLRJnhV4wOnar1FAGN4V0ifRNHFncPG8gkZsxk4wfqBVbxjoFzr9pbw2ssUbRSFiZCQCMY7A10VFAGPr2mXmoaA1hZzpDKwVWZiQCo6jgZ5rntN8N+KtKtvs9hqljDETuICAkn3JTJruaKAOd0my8UQ6hG+p6pbT2gzvjRACeDj+Ad8d6Z4j8Ktql9FqNhdm0vowBuxw2OnTkGulooA44+GvEN8PK1TXz9nPDLAMFh6dB/WtDwr4dk8PvfIZlkimcGLGdwUZ+9x157V0NFAHMeIvCK6perqNjdGzvlxlxnDEdDxyD71Rfw94snjMU2vx+WRg7SckfkP512tFAGJ4W0D/AIR6xlgNx57SPvJ2bQOMY6mqWueEPtuo/wBp6ZeNY3vVmXOGPrxyD6+tdRRQBxU/hfxFqKCDUtdU2xPzLGp5HuMDP411Gk6XbaPYJZ2ikIvJJ6se5PvV2igArA8TeGINfWOTzTb3UQwkoGcj0IrfooA4tdA8XKgiGvp5Y4BJYt+eM/rWh4W8LyaFcXFzPe/aZrgYb5cc5znJPNdJRQBg+I/C9vrjRzrK1teRDCTIM8dgRWWuh+L4x5aa/EUHGWBLfqp/nXZUUAZuh2V7YWJi1C9a8nZy3mHPAwOB+X61pUUUAUNY0i01mzNteJuXOVZeGQ+oNcxF4V8QaVlNH1xRDnhJgQB+GGFdtRQBxp0PxfdjZd6/FEh6mAYP6Kv866qSzinsDZ3I86No9j7v4uKsUUAcUvg/VtMlf+wtaaGFjny5QcD+YP1xV3TtG8Rrfwz6jrayQxtuaKMEB/Y8CuoooA5vxl4eufEFvax2ssMZhZmPmEjOQPQGuiUbUA9BinUUAcnrnhS8udbGr6RfLa3RA3b84yBjIIz27YrX0+01JdFkttTuY7i7cOPMXgYI47D+VatFAHP+D9CuNAsJ7e6kikaSXeDGSRjAHcD0qLTvDt1aeL7vV3lhME6sFQE7hnHXjHaulooAyvE2mTaxoc9jA6JJIVIZyccMD2+lS6DYSaZotrZTMjSQrtYpnB5J71oUUAcjqPgxxqLahod+1hO5JZBnaSeuMdB7c0RaL4saZPtGvR+UGBIQckfkK66igDA8UeGk15IZEnNvdQf6uQDIx6H/ABrMHh7xTOohuvEIWHoTEDuI/IfzrsqKAOY8OeFW0HWbm4juBLbSRBF3ffzkE54x2NW/Efhm119EZ3aC5jGEmUZOPQjuK3KKAONTQfFsKiKLxBG0Y4BcEt+oP863bTT72PQZbK8u/tN1IjqZWzj5s4/AZrVooAwfB+h3Gg6ZLbXMkUjvMZAYySMbQO4HpVbXvCIv9QGpaddtY3w5LL0Y9M8cg109FAHFT+F/Eeox/Z9R15TbH7yop5HuMDP410+j6VbaNp6WdoDsXks3Vm7k1eooA5rQ/Dt1pviXUdSllhaK6LlFUncNz7hnit6+ha5sbiBCA0sbICegJGKnooAwfB+h3Gg6ZLbXMkUjvMZAYySMbQO4HpW9RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFIRkEZxQAtZ91o9tcOXG6Nj129D+FM/sy4/6CU/5n/Gj+zLj/AKCU/wCZ/wAawleatKH5EvXdCRaFbo2Xd5AOx4FaSqqKFUAKBgAdqzv7MuP+glP+Z/xo/sy4/wCglP8Amf8AGlBOHww/IS02RdubWG6TZMgYDoe4rOOgQ54mkA98VJ/Zlx/0Ep/zP+NH9mXH/QSn/M/40pR53eUPyBq+6JbTS7a1YOAXcdGbtV6sz+zLj/oJT/mf8aP7MuP+glP+Z/xqouUVZQ/IautkJJokMs7yvK/zsWIGO5q1bWFtanMUfzf3m5NVv7MuP+glP+Z/xo/sy4/6CU/5n/GpUeV3UPyFa3Q06q3dhBeYMoO4DAZTgiq39mXH/QSn/M/40f2Zcf8AQSn/ADP+NXJykrOH5Dd30IzoEOeJn/IVatdLtrVg6qXcdGfnFQ/2Zcf9BKf8z/jR/Zlx/wBBKf8AM/41nGCi7qH4oSVuhp0Vmf2Zcf8AQSn/ADP+NH9mXH/QSn/M/wCNa88/5fxQ7vsadZ0Gj29vMkqPKWU5GSMfypv9mXH/AEEp/wAz/jR/Zlx/0Ep/zP8AjUyvJpuG3mhPXoadFZn9mXH/AEEp/wAz/jUltYTQzrI97LKozlGJwePrVKc7/D+Q7vsX6KKK1KCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2QplbmRzdHJlYW0KZW5kb2JqCjkgMCBvYmoKPDwvVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL1dpZHRoIDE1OQovSGVpZ2h0IDE1OQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi9CaXRzUGVyQ29tcG9uZW50IDgKL0ZpbHRlciAvRENURGVjb2RlCi9MZW5ndGggOTUzOT4+CnN0cmVhbQr/2P/gABBKRklGAAEBAQBgAGAAAP/+ADtDUkVBVE9SOiBnZC1qcGVnIHYxLjAgKHVzaW5nIElKRyBKUEVHIHY2MiksIHF1YWxpdHkgPSA1MAr/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCACfAJ8DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0CiisHxN4jfQZLOOOxa8e6LKqq+05G3AAwc53UAb1Fcf/AMJhrH/QpX35v/8AG6jn8b6lbQtNceGLuGJfvPI7Ko7ckpQB2lFcvrXjD+ydO0u7+w+b9vi8zb523Zwpxnac/e9ulaWl69bXmh2+p3bRWSTllAllGAQxGNxxn7uaANaiuL0n4gw3+pRW1xZx2cT53TyXI2rgE85UdcY696mh8bPcarLbQaW0trDP5cl2k25ETcR5hwuAMAnrjA60AddRWf8A27o//QVsf/AhP8axbHxol9o891DZq16kmyOxSfdJKPlywGM8Ak9D900AdVRXN+H/ABdDq1xcW95DHp08Tqixyzjc7EkEAEA5BAGPerj679n1qezvbb7JZxoCl7M+2ORiAdoyAM8nv/CaANiiuJtfHd/eRmS08NXM6A7S0UjMAfTIT3rS1rxTNpNvpb/2XJLPfpnyPMKsjYX5cbSSctjoOlAHSUVm2Wro+kw32poumGUlTHcvt2nJAGWA6gZrPPiW5i8N3WrXekS2zwSBBbyuVLglRuyVH9707UAdFRXGx+M9VljWSPwreOjgMrKzEMD0IOynf8JhrH/QpX35v/8AG6AOworH8Ma7/wAJBp0l39m+z7JTHt3784AOc4HrWxQAVx/jT/kYfDH/AF9/+zx12FcX48njttZ8O3EzbYorhndsZwA0ZJ4oAy/FvinWdO8R3dpZ3nlwR7Nq+UhxlFJ5Iz1JqQ6pe6v8N9UuL+bzpVuFQNtC8bozjgD1NGrHwXq+pS31xq92ssuNwjjYLwAOMxn0qG/vvDtn4PvtK0nUJZ3nkWQCVGyTuTPO0DotAB4oaBNK8Itdo0lusAMqL1ZNsWQOR296pqs/ii6fRtEdbfS7cefDBc8begb5gGJ+Z2PJ71uaxql7a+GtC02yiikOp2YgIfOeURRg5AH3u9UdE1PxPpzf8I/Z6daST2iF2SQ/MATuyTvAP3x0oAk0n4eXMWpRPqj2k9mM+ZHHI4Y8HGOB3x3rSt/D0uhaV4mYmL7PcwOYERmJVAr4ByPRh3Ncr4Ogks7+LXbhdmm2rsk0+c7SUwBtHzHl16DvXdWHiGUXu3VRFBb3kgGmOisTOhPBOCccFOoXr+QBy9hY+HbPwfY6rq2nyzvPI0ZMTtknc+ONwHRadYJplteR+KNLt5INKssxTQsxMrSEFcqCSMfvF/iHQ8euxqXiHXv+Emu9J0iytLjyEV/3mQ2CqkkksB1auZ8O6BpF54euNV1a6uYEgn8smIjAGFxxtJ6tQB0GpyeF9LksNZn025aa+P2qNkckhvlbJBcDqw45FY97eah461aaxsJ1jsowJ447lQu3ACnlQT1Y9+9R6x4Z0y1vdCWyuLmS31OQAu5GdhKYI+UY4buKktLPUNB8ZX1n4dgW7eOADFyw+4QjE5yo6kUAdJdaBq+nyCLwtdW1jZEbnjlJcmToTllY9AvftXN+ILXxJFqujrqOoW01w8+LV0UARvuTk/IO+3seldR4dn0HR/D1xcWN9LJYJPmSWVCSrkKMYCg/3e3esvUfDnhme9gurjULxH1aQyQBejliDx8nH3h19aAG+N476LwZZJqk0c94LseZJGMKeJMY4HbHarWva3ba94D1G6tElREkSMiUAHIdD2J9aqxeDPDcuqTabHf3xvIU3vHkcDjnOzH8Q796bdw6TB8O9TXRbmW5tzOhZ5Rgh90eR90dsdqAG6/reo6N4e8O/wBn3Hk+baDf8itnCJjqD6mpPAviLVdX1ma3v7rzolt2cL5arzuUZ4A9TVee88Lavo2k2+panPDLZ26oVijbrtUEH5Dn7vaptCuvB2g3r3Vpq1y7vGYyJY2IwSD2QelAF74Y/wDIvXH/AF9t/wCgJXYVx/wx/wCReuP+vtv/AEBK7CgArnfF16llHbySaCurIA7MzJkQAYySdpxn8Pu10VZ/iD/kXtT/AOvSX/0A0AZPh8+HtcsY5U0zTI7hgzNbBI3dAGxkjAPp271i/wBpf9U9/wDJf/7VTvDmiXLeF7PUNCeK11SUuss8pJDRh2GMEMOoXt2rJ0nxL4o1fUorG31ONZZc7TJCgXgE84U+lAHdXMdhd6VZx3SW2n3U0AW0WQKHt3KjhAcHKnb0wcgdK5fQAmh+O9Qi1PU1kK2wU3Ny+zeT5ZAyxPb37VDpmsrceIVs/E3mXt5bXaxWkkShVjk34YnG3IyF6g9OlQ69NpMHjzUW1q2lubcxoFSI4IfYmD94ds96AOsn0awGvW8aXdtBbmMltJCqEnPzfOUzg9udp+57ccTe/bLXxla/bvPhsYtQ/wBG87KxJGJB9zPAUDHTjGK1vCGt22q6zbtqqS3Gs5dYLgAKiRhCcEAgf3+x6/lY8Q+I/DN5eta6rp95O9nI8YK/KAc4OMOM/dHWgC5e+IHttWmm0zw22oBgFF/bDPmjAyNyoc4Ix1/hrndH1O88P6HPaah4bnuLV5fMdp0KIM7QAQUI6gVseDNZW71+4sNP8yLSIrcvBbyKNyHcuSTyTyzHqetYPiy+8RWZOlatqEU6TxrIREi4I3HHO0HqtAFq81ibVtZ8N79Jk06CK4Tyc52upZMbflAwAB09RXUeIoNNuHZItZtNI1AODLOrqsrLt+6x3A4+6eT2FVfDGiXN3ZWN1rbxXSQRxSaeEJUwjAPOAM9E656fnxvjv/kb77/tn/6LWgDtPGn9m2Hha9sbf7JbSybHW3j2ozfOvIUdenX29qydYkSKPwRJI6oiCNmZjgKB5WSTXMo+p+LtaghnuI3unQojyKEUBQWwdo+vavSL3wzBf+HrWzuo45Ly0tPKhk3sFWTYBnjqMgdR+FAGXq2hw3OpS67b+J47CK6wiyRsApwAMBw4z9zOPb2roIv7B/subyv7N/s/f+92+X5W7j73bP3evtXHy6bNfaXD4PiaMahp7/aJZGJ8oqcnCnGc/vV6gdD+JFps1jpc3g+VozqGoP8AaIpFJ8oKMHDHGc/um6A9R+ABpC90RI9RkutB0+2S3DNaNIiKL0DPKEqM5wvTP3hWbBrMNzCs1v4Cjmib7rxwhlPbgiOi98L619ntZdZu7S50/TE3GKMkN5SgblGFGSVXHJ/GodJ1LVNS1KXTvCtytjYRR+ZFFcop2jI3c4Y8sxPX/CgDsvDE/wBo06R/7G/sjEpHkbNu7gfNjaPp07VsUUUAFcL8SLl7O90S6jCl4JJJFDdCQUIz+Vd1XD/ERtmo6C/2f7Ttlc+RjPm8x/LjB69OnegDSt9Y1vUPCtnqGm2dtNezSMJIz8qBAWGRlh6L371yviTUNE1zxXaSS3kg08W+yWWNGDKQXIABXPUr271rNqFzqVqlg9vL4Tt4j5i3BJjRjz+7HCDncW6/w9Km06703UfDtzqlv4WtJJYZfLW2jiVmf7vIIT/a9O1AFPV5fDWtadZ2FrqM8l1axGGzQIy+Y5AChiUxyVX06mpNJ8O6rfabFouuWv2bT7fMscsMimQyZPB5YYw7duw59dy0sNH1TTn+x2ljaX3lDd5UaGW0kI4zjBDKc+hyO1Onmv8Aw5oNuiQ3Ot3CyFGYbt5B3NuP3jxwKAOf8Xw6Tr2jXHiCyuZZXtQkAAG1PvjOQVz0eqZ8OeGbPStOutV1C8ge8gWQBfmBO0E4whx94da0tb8U6PpDf2dZaXY31nKgkcQyII92ehAUgn5Qfyoh1/8AtD7Gl54QxYjaFnlTdFDGcZYEpgKBg9QMCgDNvvBlpdaPBe+GXub0yyY/euqjYNwJ5C9wBWPaTasvg2+hhtom0tpwZpifnV8pwBu9l7HrXSHTb/VPEl1BpOo3NhpCxh4JbXd5BOFDKu0hfvFicdwawZdRh8QapDZRNHoWnypiVFceUWGW3MPlBJwo59BQB3VloltqmleHrqd5VexgikjCEAE7UPOQf7o9Kk8Yw6TPpUS61cy21uJwVeIZJfa2B909s9q5fw9ZX6aqsd1r1zbWtvOi2iyOypeoG6ICwBBAXpkYYU34i679onfRfs237PKknnb87sp0244+969qANbWfFl+tu+oaFDbXWlxALLPKrArITjGCVPQr271x+pnRbu9sLpbyUvdyeZqICkCEsVLbPl7Zb+90H49VrfinR9Ib+zrLS7G+s5UEjiGRBHuz0ICkE/KD+VZPii2ttWstLn0HT4mcxs9zFYxhzEWCkK+wf7wGfQ0AWpY7HwrpcOv+HppLr7S/wBnBuhldvJJAAU5yn86w9N8Mz/8JNaaTq8clv56M/7t1LYCsQQRkdVrpk0ZLrwDp1nqd2ulGOdnJuV287pMLhiOoOfwrS8Wz2c3hy71TT5YHuodiJdwMC8fzrkBxyOGPGe/vQAXGveHLbTpdDm1GRViiNo/7pywAGw8hcZ/SuRVp/C90+s6Ii3Gl3A8iGe553dC3ygqR8yMOR2ra8O6hpupaNf3FzodpJPp1uHkkkVXa4baxJJK5BJXOeetbmg3mj69o8EX2SxTG5/sPyP5WGIztxxnOc4/ioAz/hj/AMi9cf8AX23/AKAldhWP4Y0L/hH9OktPtP2jfKZN2zZjIAxjJ9K2KACsHxBNpMWq6Ouo20s1w8+LV0OBG+5OT8w77ex6VvVg+LPD0Wu2QYmX7RbRyGBEZQGcgYByPVR3FAGb8Tv+Ret/+vtf/QHqnpkd9oFu3hqCaNNXvHNxBOo3RKuBkMSM5xG38J6j8MG1g17wVIdSksYkEo8jMrhxz83RWz/DUnh3QNIvPD1xqurXVzAkE/lkxEYAwuONpPVqAL0NvrvhnxDZ/aL2Bv7Xu18/ygG34cZzlRj756V0mrWXiuXUpX0vU7SCzOPLjkUFhwM5+Q98965HWPDOmWt7oS2VxcyW+pyAF3IzsJTBHyjHDdxWt4X02HSPH+o2Nu0jRRWnymQgtz5Z5wB60ANgtfB0+g3GsJpNyLe3kEbKZG3knb0G/H8Q71T0zxQLuO/0ZjKYbsfZdOUooEKtuVQ568Arz8x4P4wzf8SPwXf6Lqf7jULiVZoofvbk3JzuXIH3G6ntVP7F4U/sbzf7Tu/7Q+z7vK2nb5u37v3Om7jr+NAHpHhrTZtI0K2sbho2li3bjGSV5YnjIHrWPq3hrwvpGmy31xpkjRRY3COZy3JA4yw9a4m70S2g8G2OsI8puLicxspI2AAv0GM/wjvVzw7oGkXnh641XVrq5gSCfyyYiMAYXHG0nq1AHRLps0mjT6pdNHJBaW5uNHUEhrZQpZQ3GGIAj6luh/HjdWstRutNi8R308UovJPL44fIBHIAA6J2q94k8N2dl/ZP9jyT3H9o58vzWHzZ27ccDGd3em2vhcafIZfFIlsbIjakkTq5MnUDC7j0Ddu1AGLpOmzavqUVjbtGssudpkJC8AnnAPpXoyxWnhKztbC2iaPVNTjEImQl084AAMdx4G588Dp27Vz93Z6hr3jKxs/EUC2jyQEYtmH3AHYHOWHUGs2y0TUf+Ehuv7Gt/tP9mXfHmOo+6525yRnO3tQB0mp67p8VuujeK4Z7+8t3DyPAAqEkEqQQVPCsB0/xrL1L/imvDN34dvf3l5dutwjw8xhdyjBJwc/uz29K6bw6sEniG4ub52i194MXVqn+rRMrtIOD2CH7x6n8OT8O6BpF54euNV1a6uYEgn8smIjAGFxxtJ6tQBDDrun2VvZ2+nQzwxTIqaqpAP2gYAIXJOOr9NvUfhsaZoWoS3Daz4UmgsLO4QpGk5LOACAwIIYcspPX/CqOseGdMtb3Qlsri5kt9TkALuRnYSmCPlGOG7itaK/1nSNUm8N+H7SC6is03qZz8+GwxJO5R1f0oA7yis3QtEttBsntbR5XR5DITKQTkgDsB6VpUAFZer2M1xcWd2mpyWUFm5kmUEhZVBBIY5AAwp656mtSsPxRqUNvbppbrIZ9UR7eFgBtViAoLc5Ayw6A96AKbnR7jWp7y916xu7ORAEsppUaONgANwyxGeD2/iNcr4W1a5tdEns08PS6rbyTl2IUsmcL8pG0jjAP41qT/D5m0G3hhFsuqLITNMZX2MnzcAY917DpWporQXnhi6HhFGsHM+FNzzh/kLHkt/DxQByfijVL/UJNLjXRrnS3tyy26gMCx+XAQbRjGB09RTpZ9ebS4YYtG1KLUFfMuoqkglmXn5WO3OOV6k/dFHizX2uLjTokaQahpbss0pVdrSgrll9RuUnkDtxWxpPxDtotNiTVEu57wZ8ySONAp5OMcjtjtQBR0UWGueGbqLWNTto79p9sdzduryog2HALEHGd3fHJqxpGlWHiC9jggitoU0WREklSNXF+M43HGMZ8sn+L73562reBNMl02VNLtY4Lw48uSSaQqORnPJ7Z7VzPhfUDoV5qmkkt9vuZFtoJEAKLKCygnPbLA9Dx2oA0tS8N3mr+JrvTkeex0qJFkhAiJg3bVyFGQoOWY8e9Z+j6neeH9DntNQ8Nz3Fq8vmO06FEGdoAIKEdQK7LQtXla8fRNRdptUtozJNMigRsCQRjoejr2HQ1XuFns/Ct4fFzrfoJFLC24ymVCjgL/FzQBwviLxP/AGz9g+zWf2D7Fny/Llzj7uMYAxjbUeo+JJtR8O22l3CSSSwy+Y1zJKWZ/vcEEf7Xr2qx4f0BfEGs3EtmsaafBcKzRSswYxMxwoxnnaCOv41Nf+FzeeML7StJEUCQRrIBK7YA2pnnk9WoA6LWp4bb4l6XNcSxwxLaHc8jBVHEo5JrN1O1fQfEthfwas32XVbzzpNjbE2b1PJDYYYc89MfWrHxHm0lXMM1tK2qNAhhmB+RU3ngjd7N2PWiHRLm78Iy3WtvFdJBYeZp4QlTCPLJ5wBnonXPT8wDQvY31/VpoNMRrAKBINYthu+0AAAx7lxnk/3j9zp6cvpOvP4c02XStT0NphNJ5xS5+TIwAPlZTnlev+FdJ8Pdbtp9Oh0dElFxbxvIzEDYQX7HOf4h2rN1PxL4S1e4W4v9MvppVQIGzt4yTjhx6mgDP8RahqWs29hcW2h3dhBZIXjkjVioXCkEEKAAAuc10GjX01l4TstWi0yTU9Qndo5ZFBMrLublmwSQNqjn2qr4z1eWz0LSYtKdoLK8tmUxsoYmPagAJOSOGPQ1D4asvFcuhWz6XqdpBZnd5ccigsPmOc/Ie+e9AHZaFqVzqlk893p0tg6yFBFLnJGAd3IHrj8K0qKKACuP8f6JqOs/YP7Pt/O8rzN/zquM7cdSPQ12Fc/4qtvtH2X/AIqH+xtu/wD5abfN+7/tL0/HrQBxfhSePwv4luU1tvsrLblCMb+SUYD5c9q0NT8NeEtIuFt7/U76GVkDhcbuMkZ4Q+hqvPr+m6VM1lcadaa7LF97UJGVmmzzySrdM7ep+7+FGmaPqTW7a9qtvd6hPauY10+6iZmmUgDILZOAXJ+6fumgB2meFxaR3+ssJRDaD7VpzF1ImVdzKXHXkBePlPJ/A0nQrrxfqUur6vE0FrcR5SS2dRl1ITGDuPQH8q3NMubays7959QiunuY8x6Q8gzAcN/o4Uk+oTG0dOnaqfh3ULmDxDcXGoW8ujaW0G2GCcmOBHyvC5AXJwx4GeT70AN0zwZ4b1e3a4sL++miVyhbIXnAOOUHqKq+IbZEsmtdeLWqWUbx6QY/mNwAMfPjd6R/3ep/DH0a41vw1cJdzWOoCyjJaSFw8cbEjaCeMdSO3YVch165S9ln1bQ5dQS/k32UV1lhGCSdse5TnO5RxjoPagDDnh0ldBt5obmVtUaQiaEj5FT5uQdvsvc9a7bwBfW+neEru7vJPLgjuzubaTjKoBwOepFWp/s0Wg2+oJ4OikuJZCjWgtxvjHzfMfkz/CO3euL07SNVdhY3z3mmabKS00kyMsKnGQWBIXkhRz3xQB6F4g1bVLfTre/0O2gubVommleXjamAVIG4Hpn8q5vTLDRvGdw11e3c6arIheeCAbUUKQoI3Ke23uetZ+m6nqVvb6xpNtDd6zAyG2jljZmWJcMoYABhgjnGR0qrFo1/Y6fFdafd3K6o5KTWMCss8SZPzMAd2DhTyAPmHtQB12va3p3iPR59J0i4+031xt8uLYybtrBjywAHCk8mptM8LjS/DV/FAJWvb6z2yRu6kCTYwwCMDqx7mnX+p+G9Gs5L/T4dKmuosbEgaNXOSAcEAnoTXNz6lNFrOk3qeIZJIL64WWa2FwdtqpZSUb5sYAYjkD7p4oAr+FJ4/C/iW5TW2+ystuUIxv5JRgPlz2q5YeJLzxdeR6HqEcEVrdZ3vApVxtBcYJJHVR2p1+7jxhfalDoja3ZTRqkbJHvjJCplg21gcFSPzqTTtISFhpOmOtyZyZBrlsn/AB7HHMeVJ6hcfeH+s6eoBY05YNSvZ11B2it/DEgFu8fVkUnl+DniIfdA71V8deItK1fRobewuvOlW4VyvlsvG1hnkD1Fbmq+FvN06JItU+wbIiL2dY8fauBlpDuGf4jyT941y/iSz0ew8KWltZXdjeXiXHzzw7PMZSHPOCTgZA69hQB6hRWboWpXOqWTz3enS2DrIUEUuckYB3cgeuPwrSoAKyfEOm6XeWTXWq2zTpZxvIArspAxk4wRn7o61rVzvig6LFe6XdaxeS2728jSQBFJDkFSc4U+i+nWgDkf7R8Df9Aa+/77P/xyug8N6hreueFLuSK8jGoC42RSyIoVQAhIIC46Fu3em67rnhTXrJLW71SVESQSAxRODkAjuh9apwXXg6DQbjR01a5NvcSCRmMbbwRt6HZj+EdqAHQeFbjTrfVtX1ZoJ75Ea5t5Ynb5JAGYsRgA87TjBHFTSWWo+L/A+nkzxG6M7SO8vyggF1/hHuO1R+K9CutW0rRF0SJrq3ggIV2dVJQqm0ndjqB6Vl6F4CvJ7111qCW2txGSrxSxkl8jA79s9qANDw0da8VQFtVvIrjSfMMc8BUI7kAMMFVHcqeo6VoXU2k6hZXy2ttKlx4djYW7ueEdQdpHzHdgxj7w/rXFz3mn6Dr1veeHZ2u0jjJzcqfvncpGMKehFdJeWeoeJdCn1LXYFtha2zT2Zt2AEm5dx3Alj/Cvp1P4AGpYeKBZ+D7HVdWMs7zyNGTEi5J3PjjgdFrQsb3TvF+jzgwSm1MnlukvykkbW/hPuO9eb2WiW2q6TCulPLcazktPbkhUSMEjIJAH9zuev5XPDugaReeHrjVdWurmBIJ/LJiIwBhccbSerUAdFpXhfWtG1mWXT7u0h0+W4DPFksxiDHC8qedpI6/jVG71u20H4iandXaSujwJGBEATkrGe5HpWX4g0uy8OSaPqWkyyziY+ehnwQduxl4AB5zRotsnjXxPdSamWiLQeYfs3y8rsUfez2oAueM7Hw7o8TWVtp8sd/JGskUodmRRuwc5b0U9u9ZvhjS7K/0bXbi6h8yW0t98LbiNp2uc8HnoOtWJ543hbw14Xb7da3n71mmG2QSDkgE7RjCKenc810Gn6Xe+FLe2uLOHfFOiPqjTMG8gKASUwRn7z/3ug/EAd8Pdbtp9Oh0dElFxbxvIzEDYQX7HOf4h2p3hX/SblLjw/wD6Joauy3FtNzI8u37wPzccp/EOh49a731vc61PqfhOT7fqsyBZoJlKxrEAAWGdvOVTuep49MHw7oGkXnh641XVrq5gSCfyyYiMAYXHG0nq1AGsdQ1vUdR1pJLyNtKsJXFzAUUM8GWyqkLnO1SOo7c1xerSWMupSvpcMkFmceXHIcsOBnPJ75710WsaJbaLe6FdaE8ty93IJIRORhiChTsuM7u/6VuWOpaXpmsT6jrty1rrcsfl3FuiM0aD5duMA9VVT949T+AB21Fc34F0u90jRpre/h8mVrhnC7g3G1Rngn0NdJQAVxvjiNJdd8NRyIro9yVZWGQwLR5BFdlXH+NP+Rh8Mf8AX3/7PHQBn69rmj6NrE9h/wAIxYzeVt+fai5yoPTYfWo72fTdX8C6hqNvo1pYyxSrGpjRS33k5BCjH3sVY8S+CtS1fXbm+t57RYpdu0SOwbhQOcKfSm3eiXOg/DvU7W7eJ3edJAYiSMFox3A9KALU/wDaX2fwf9h+1+Rsi+0+Tu27cR/fxxjGevvVfxjBqS38s2lazdyzs6htOtXYtCuz7xCtnGQOw+8K2rLW7bS9K8PWs6Ss99BFHGUAIB2oOckf3h61R1L/AIprxNd+Ir395Z3aLbokPMgbapyQcDH7s9/SgDn/AA3Z6Pf+FLu2vbuxs7x7j5J5tnmKoCHjJBwcEde5rtphYW/hqLTp9Ttokms/Ijnd1UONgXcATz1B6964nxJp+iaH4rtI5bOQ6ebffLFG7FmJLgEEtnqF79qmsWg8Q6VrbXSNJb6XAx05G+UwIVfAO0/NwidSen1oAzdO1GHwh4iuTbtHqkXleWskbhFbO1sgjd0xipPDHiH7Fp0mk/2N/afnymTy853cDjbtOcbc1HpPgrUtX02K+t57RYpc7RI7BuCRzhT6VYngjSFvEvhdfsNrZ/umWY7pDIeCQDuGMOo69jxQA7U7q58XXthYQaTLZJZyeTJsUyCEMVHICjbjaePbtirniK3tvDXh63tNPvohqkc+2aaAiOdkIZsNg7scr1OOB7Vuabpd6I9M1LSpYoDeCOfUy+SZ84Y4BBA6v029fy5vXptJg8eai2tW0tzbmNAqRHBD7EwfvDtnvQB0AtfD0XiS11a01bTLZIIyht4mjUOSGG7IYf3vTtWL4wsdYt913Z6nfXtjeebIyxFzFFGcEAkEgrhj6DApvjPwhHp8TahpqRQ2UMaiSMyOzly2MjOfVe/auws7Z7zwTBaxlQ8+nLGpboCY8DP50AcToPhv/iTwax/wkP8AZX2jcmcbOjEY3bxnO3OP8Kr+GPEP2LTpNJ/sb+0/PlMnl5zu4HG3ac425rUlv9G0jS4fDfiC0nupbN97GA/JlssCDuU9H9Kq6DNpM/jzTm0W2ltrcRuGSU5JfY+T949sd6AK+ray/iHVdJsI7RtKe2n8ldrZMZLKBgYXG3b0/lWp410hNN8LWpmdbq9+0hZLx0xJICHIBOSTgYHXsK2NT8IRy67YalpyRQlLnz7ovI5MnzK3A5H97061D4q/4qW5fw7Zfu7y0dbh3m4jK7cYBGTn94O3rQBseGNd/wCEg06S7+zfZ9kpj279+cAHOcD1rYqnpml2WkW7W9hD5MTOXK7i3OAM8k+gq5QAVj+IPDdn4g+z/bJJ08jdt8pgM7sZzkH0FbFFAHH/APCuNH/5+b7/AL7T/wCJo/4Vxo//AD833/faf/E12FFAGDqfhOw1SysLWea5VLGPy4yjKCRhRzkH+6PStLSdNh0jTYrG3aRoos7TIQW5JPOAPWrlFAGDrvhOw169S6u5rlHSMRgRMoGASe4PrVOz8A6VZ3sF1HcXheCRZFDOuCQcjPy+1dVRQBmwaJbQa9cawjym4uIxGykjYANvQYz/AAjvWbpPgrTdI1KK+t57tpYs7RI6leQRzhR610lFAGbpmiW2l3t/dQPKz30nmSByCAcseMAf3j61m6t4K03V9Slvrie7WWXG4RuoXgAcZU+ldJRQBgweE7CDQbjR0muTb3EgkZiy7wRt6HGP4R2qafw3Z3H9k75Jx/Ze3ycMPmxtxu45+6OmO9bFFAHN6t4K03V9Slvrie7WWXG4RuoXgAcZU+laU+iW0+vW+sO8ouLeMxqoI2EHd1GM/wAR71pUUAc3/wAIVpv9s/2p5935/wBo+0bd67d27dj7ucZ960oNEtoNeuNYR5TcXEYjZSRsAG3oMZ/hHetKigDN0LRLbQbJ7W0eV0eQyEykE5IA7AelaVFFAH//2QplbmRzdHJlYW0KZW5kb2JqCjIgMCBvYmoKPDwKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8Ci9GMSA1IDAgUgovRjIgNiAwIFIKPj4KL1hPYmplY3QgPDwKL0kzIDcgMCBSCi9JMiA4IDAgUgovSTMgOSAwIFIKPj4KPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9Qcm9kdWNlciAoRlBERiAxLjYpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyNDAxMjUxMjEzMzMpCj4+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": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:cartaporte30=\"http://www.sat.gob.mx/CartaPorte30\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Certificado=\"MIIF6jCCA9KgAwIBAgIUMDAwMDEwMDAwMDA1MDQzMjkwMDkwDQYJKoZIhvcNAQELBQAwggGEMSAwHgYDVQQDDBdBVVRPUklEQUQgQ0VSVElGSUNBRE9SQTEuMCwGA1UECgwlU0VSVklDSU8gREUgQURNSU5JU1RSQUNJT04gVFJJQlVUQVJJQTEaMBgGA1UECwwRU0FULUlFUyBBdXRob3JpdHkxKjAoBgkqhkiG9w0BCQEWG2NvbnRhY3RvLnRlY25pY29Ac2F0LmdvYi5teDEmMCQGA1UECQwdQVYuIEhJREFMR08gNzcsIENPTC4gR1VFUlJFUk8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQQ0lVREFEIERFIE1FWElDTzETMBEGA1UEBwwKQ1VBVUhURU1PQzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMVwwWgYJKoZIhvcNAQkCE01yZXNwb25zYWJsZTogQURNSU5JU1RSQUNJT04gQ0VOVFJBTCBERSBTRVJWSUNJT1MgVFJJQlVUQVJJT1MgQUwgQ09OVFJJQlVZRU5URTAeFw0yMDA2MjkxOTMzMzZaFw0yNDA2MjkxOTMzMzZaMIG4MR4wHAYDVQQDExVORUFSVEVDIFMgREUgUkwgREUgQ1YxHjAcBgNVBCkTFU5FQVJURUMgUyBERSBSTCBERSBDVjEeMBwGA1UEChMVTkVBUlRFQyBTIERFIFJMIERFIENWMSUwIwYDVQQtExxORUEwNDA5MjlES0EgLyBPRUdSNzQxMDI4QVI5MR4wHAYDVQQFExUgLyBPRUdSNzQxMDI4SEJDTFJEMDExDzANBgNVBAsTBk1BVFJJWjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIQzrGdc9BOzVY7PNDJM5JY3OzSm1RijNMHQMvTjZOGPU+7mb4oFEO5zrF45y2DtfL0wefv0rLf+BeiH5ugRiHpVcrq5/uduq4ZlBQ0CNVKQlIUDoHgY1jDj5zLQDeiowjVWnH5VkW5moBuJKW8I/OEf/ZGG6MwoRQY+YbV8QSRTQ7syoliyDmu1+7pd/t2iWeTuXloMKSxI2AweVMteVLV2VWR0rPsAXkzNMrRtpdQQkekcNMb3WxnNJO6+tK+4g4o+OikcChMWVgyRonpFtJe/KRqgvLjZwVn+7JHrfMvPRLGgzsKL7aGoenryYl9zH4tbYUyp5RxCwkzlMGl18SECAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAET7vC0eg0z2IdxjGd24ocACycDJ43jJtcJUliIwwhobFa/aEMPC0G3As79N4ZKC1imqRWn3m25UoTz7PUMu69mUn05+xo8U4JjSpMxGhXvnQh0/Mdg+JjZNRLsADfobm1sAgwAAlNKtcEtoLmbtkaLvG1Jtag+Ey9Yu3tRGVcU4rMSWbDWhfIf076ApLxFnoyh20KSsuk7h/aSwzyOxmU4cnbrbnZhhuaBr4z/daZdgl8AObQAm8uzZCshoQQnNPzCXhHmm8wzzgGH71xp2I7hGWMU/M9di+e0YRhV6rYAt4znJu1X1NKsHpBQXZ+Un1xouQ406eGNsFVAI2E5z2TN1bn9cCsnMuMls/CgAfXoEd3UdjtveZhQ1EhpXqz130tw7IWyUzif//lRaI5HhbRSZaS37pO8qGA3dzOfMGqX4yZHN71vxXDywR1Xj6phrOokQFzjQ40doDogkeZY1lm/2wu4dMo0FhGEVtH2guUrA6361mg8C/7Ox15ebUxJqtubXmfLoPWXrkkQ6oWbXUvoHeKkvHlBTzyfUUQDn08sMtrQ5v9vS74LCUqqIZmG++mdzXD0Tr6iFg3M901NT6xuBdZv/MUe0/YFBdtGcc+STjMChOKJ4/YHJ4CNGRDV2+bPhXOz9qeCsdfxsdVuimWduHk2tiu67m092G6m0bXyw\" Exportacion=\"01\" Fecha=\"2024-02-02T12:42:46\" Folio=\"4718\" LugarExpedicion=\"07300\" Moneda=\"XXX\" NoCertificado=\"00001000000504329009\" Sello=\"GBGNj+jZcIymD+EODcyniVGMZs1uDP8buNqd9dBxj50B2byMfkEZcA7Xf7xkdS9WQghCMGdCcgZ1S+JV3uibR6mpuHlhUytYUKfWChqXNDrSBSnkKTzsx9hMDYc9MLzF8+HAjoVUJKVsSDI/3Ace6rD3XBe5FMcDwJejhUkfscWxoMw3Qqh0ljAV4oUgbr6uvhhBgamjKbz4flTT47tW9fwoqM3EoKswlNWZ4flnby08IgRL669qYPZEtLVzHbTtD+HS0jA1PZOFyQarOyZ1WczGHbWZZtsf5jh3F4vxpSeaCNM0aglzKbjngHYLqXj/0gpvyBXMG/CTl2yeMHd+rQ==\" Serie=\"A\" SubTotal=\"0\" TipoDeComprobante=\"T\" Total=\"0\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/CartaPorte30 http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte30.xsd\"><cfdi:Emisor Nombre=\"NEARTEC\" RegimenFiscal=\"624\" Rfc=\"NEA040929DKA\"/><cfdi:Receptor DomicilioFiscalReceptor=\"22000\" Nombre=\"NEARTEC\" RegimenFiscalReceptor=\"601\" Rfc=\"NEA040929DKA\" UsoCFDI=\"S01\"/><cfdi:Conceptos><cfdi:Concepto Cantidad=\"1.00\" ClaveProdServ=\"12352115\" ClaveUnidad=\"E48\" Descripcion=\"FLETE contenedor 1 x 40 HC\" Importe=\"0.00\" NoIdentificacion=\"1\" ObjetoImp=\"01\" Unidad=\"Unidad de servicio\" ValorUnitario=\"0\"/></cfdi:Conceptos><cfdi:Complemento><cartaporte30:CartaPorte EntradaSalidaMerc=\"Entrada\" IdCCP=\"CCC9CADE-7CC8-4E99-BA0A-0C229FC248E5\" PaisOrigenDestino=\"MEX\" RegimenAduanero=\"IMD\" RegistroISTMO=\"Sí\" TotalDistRec=\"1800\" TranspInternac=\"Sí\" UbicacionPoloDestino=\"06\" UbicacionPoloOrigen=\"01\" Version=\"3.0\" ViaEntradaSalida=\"01\"><cartaporte30:Ubicaciones><cartaporte30:Ubicacion FechaHoraSalidaLlegada=\"2023-02-01T18:10:20\" NombreRemitenteDestinatario=\"Betran Angulo Jose Enrique\" RFCRemitenteDestinatario=\"BEAJ800907F71\" TipoUbicacion=\"Origen\"><cartaporte30:Domicilio Calle=\"AV  PONIENTE\" CodigoPostal=\"02300\" Colonia=\"0402\" Estado=\"CMX\" Localidad=\"02\" Municipio=\"002\" NumeroExterior=\"700\" NumeroInterior=\"7\" Pais=\"MEX\"/></cartaporte30:Ubicacion><cartaporte30:Ubicacion DistanciaRecorrida=\"1800\" FechaHoraSalidaLlegada=\"2023-02-02T10:10:20\" NombreRemitenteDestinatario=\"Zucarmex SA de CV\" RFCRemitenteDestinatario=\"ZUC100723VB8\" TipoUbicacion=\"Destino\"><cartaporte30:Domicilio Calle=\"DEPORTIVA 5 DE MAYO\" CodigoPostal=\"28239\" Colonia=\"0342\" Estado=\"COL\" Localidad=\"02\" Municipio=\"007\" NumeroExterior=\"SN\" NumeroInterior=\"SN\" Pais=\"MEX\"/></cartaporte30:Ubicacion></cartaporte30:Ubicaciones><cartaporte30:Mercancias LogisticaInversaRecoleccionDevolucion=\"Sí\" NumTotalMercancias=\"2\" PesoBrutoTotal=\"1414.71\" UnidadPeso=\"KGM\"><cartaporte30:Mercancia BienesTransp=\"12352115\" Cantidad=\"4.00\" ClaveUnidad=\"KGM\" CveMaterialPeligroso=\"1090\" DescripEmbalaje=\"Envases y embalajes compuestos de Recipiente de vidrio  porcelana o de gres  con una caja de cartón\" Descripcion=\"MERCANCIA PELIGROSA\" Embalaje=\"6PG2\" FraccionArancelaria=\"0102399900\" MaterialPeligroso=\"Sí\" Moneda=\"MXN\" PesoEnKg=\"1058.64\" TipoMateria=\"02\" Unidad=\"Kilogramo\" ValorMercancia=\"1.00\"><cartaporte30:DocumentacionAduanera NumPedimento=\"23  01  3173  3999999\" RFCImpo=\"PPD101129EA3\" TipoDocumento=\"01\"/></cartaporte30:Mercancia><cartaporte30:Mercancia BienesTransp=\"12352104\" Cantidad=\"2.00\" ClaveUnidad=\"KGM\" CveMaterialPeligroso=\"1120\" DescripEmbalaje=\"Envases y embalajes compuestos de Recipiente de vidrio  porcelana o de gres  con una caja de cartón\" Descripcion=\"MERCANCIA PELIGROSA\" Embalaje=\"6PG2\" FraccionArancelaria=\"0102399900\" MaterialPeligroso=\"Sí\" Moneda=\"MXN\" PesoEnKg=\"356.07\" TipoMateria=\"02\" Unidad=\"Kilogramo\" ValorMercancia=\"1.00\"><cartaporte30:DocumentacionAduanera NumPedimento=\"23  01  3173  3999999\" RFCImpo=\"PPD101129EA3\" TipoDocumento=\"01\"/></cartaporte30:Mercancia><cartaporte30:Autotransporte NumPermisoSCT=\"0919ANC21062012230301000\" PermSCT=\"TPAF01\"><cartaporte30:IdentificacionVehicular AnioModeloVM=\"2021\" ConfigVehicular=\"T3S2\" PesoBrutoVehicular=\"1890\" PlacaVM=\"71AX8R\"/><cartaporte30:Seguros AseguraMedAmbiente=\"GENERAL DE SEGUROS\" AseguraRespCivil=\"GENERAL DE SEGUROS S.A.B.\" PolizaMedAmbiente=\"23721266053\" PolizaRespCivil=\"23721266053\"/><cartaporte30:Remolques><cartaporte30:Remolque Placa=\"78UC4G\" SubTipoRem=\"CTR010\"/></cartaporte30:Remolques></cartaporte30:Autotransporte></cartaporte30:Mercancias><cartaporte30:FiguraTransporte><cartaporte30:TiposFigura NombreFigura=\"Adame Gonzalez Eleobardo\" NumLicencia=\"DF00122\" RFCFigura=\"AAGE730118NEA\" TipoFigura=\"01\"><cartaporte30:Domicilio Calle=\"BUGAMBILIAS\" CodigoPostal=\"55010\" Colonia=\"4915\" Estado=\"MEX\" Localidad=\"05\" Municipio=\"033\" NumeroExterior=\"17\" Pais=\"MEX\"/></cartaporte30:TiposFigura></cartaporte30:FiguraTransporte></cartaporte30:CartaPorte><tfd:TimbreFiscalDigital FechaTimbrado=\"2024-02-02T14:42:47\" NoCertificadoSAT=\"30001000000500003456\" RfcProvCertif=\"SPR190613I52\" SelloCFD=\"GBGNj+jZcIymD+EODcyniVGMZs1uDP8buNqd9dBxj50B2byMfkEZcA7Xf7xkdS9WQghCMGdCcgZ1S+JV3uibR6mpuHlhUytYUKfWChqXNDrSBSnkKTzsx9hMDYc9MLzF8+HAjoVUJKVsSDI/3Ace6rD3XBe5FMcDwJejhUkfscWxoMw3Qqh0ljAV4oUgbr6uvhhBgamjKbz4flTT47tW9fwoqM3EoKswlNWZ4flnby08IgRL669qYPZEtLVzHbTtD+HS0jA1PZOFyQarOyZ1WczGHbWZZtsf5jh3F4vxpSeaCNM0aglzKbjngHYLqXj/0gpvyBXMG/CTl2yeMHd+rQ==\" SelloSAT=\"GlQ1hGV9p72JqbuimfMcDaYL8l7YOFOx1BEbaYuJwMUGYaf9UqZXIl9kUfwzC2kMJXCHHqRAzasTupfJZ3Ehk6oeewTJvJsmr9fqttFr56deETLP70pacHqtJFP4DbB02JInL7eliEMaBibLzxod14LHj+3N0PVYE+vwzcTGxfn7u83BOsOG7KmPh/cSwE+HJLbtsdooC6ES8JKN5jCnfTvofcpPhoU+EqMiEo7vM4V6uz18RKiItLGnexLvPCL7AyaisFE3keh28zaBEssfY7bfNR+HD2XOU8kpGzB9IpJ4AdRGvUVbd6/oRALhw3brJK9wEhuCexua+LP0aon6+Q==\" UUID=\"10056F5F-1D4C-40EC-96E7-52CD82530E52\" Version=\"1.1\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\"/></cfdi:Complemento></cfdi:Comprobante>",
    "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<ruth.9ct@gmail.com>",
    "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.
ok-factura.json
{
  "id_transaccion": "0",
  "result": {
    "RFC": "NEA040929DKA",
    "user": "23",
    "retcode": 1,
    "UUID": "3AFF5AFE-66F3-46CD-A6DD-C1B5765F46A7",
    "data": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:pago20=\"http://www.sat.gob.mx/Pagos20\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Certificado=\"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\" Exportacion=\"01\" Fecha=\"2024-02-02T13:31:02\" Folio=\"4719\" LugarExpedicion=\"22010\" Moneda=\"XXX\" NoCertificado=\"00001000000504329009\" Sello=\"OUAcymp0VPYLyVlxVuGfbfcdAb9RugLB/KtVRfp7FZkUhZ+yLFyAW3Oni/6Fip2P7G1PJal0P3pn6Dobj0PCzhgel4OelTrKNP11ZcgrwSeoszlkNqhpHkMbMBe0PP57JBuDhwqWW7cz98KeoqGkw2JeJNbQ/iFI58a8BzIso1bUl14UH6tFPmGLtudXHnPwlvwQkcKo7NNxcEHn8xmDHQ48uxpsTySAHTdIUGFgo5McQXWkFO6gxVzdHhrJ506fXWA1SumxkMVRqIFTUOYskReRJdR/aHO8Lvl0mysM/LGfGkIbigI/xPtMcM1Oy+nzlmjworbVgqKMlbi7h6JUiQ==\" Serie=\"A\" SubTotal=\"0\" TipoDeComprobante=\"P\" Total=\"0\" Version=\"4.0\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd  http://www.sat.gob.mx/Pagos20 http://www.sat.gob.mx/sitio_internet/cfd/Pagos/Pagos20.xsd\"><cfdi:Emisor Nombre=\"NEARTEC\" RegimenFiscal=\"601\" Rfc=\"NEA040929DKA\"/><cfdi:Receptor DomicilioFiscalReceptor=\"44290\" Nombre=\"ALFONSO JUAREZ PINZON\" RegimenFiscalReceptor=\"626\" Rfc=\"JUPA740925837\" UsoCFDI=\"CP01\"/><cfdi:Conceptos><cfdi:Concepto Cantidad=\"1\" ClaveProdServ=\"84111506\" ClaveUnidad=\"ACT\" Descripcion=\"Pago\" Importe=\"0\" ObjetoImp=\"01\" ValorUnitario=\"0\"/></cfdi:Conceptos><cfdi:Complemento><pago20:Pagos Version=\"2.0\"><pago20:Totales MontoTotalPagos=\"120.00\" TotalRetencionesIVA=\"4.29\" TotalTrasladosBaseIVA16=\"107.15\" TotalTrasladosImpuestoIVA16=\"17.14\"/><pago20:Pago CtaBeneficiario=\"1234518168\" FechaPago=\"2022-11-25T06:50:38\" FormaDePagoP=\"03\" MonedaP=\"MXN\" Monto=\"120.00\" NumOperacion=\"1\" RfcEmisorCtaBen=\"BBA940707IE1\" TipoCambioP=\"1\"><pago20:DoctoRelacionado EquivalenciaDR=\"1\" Folio=\"3\" IdDocumento=\"49F6ED26-E449-4CF1-A286-0C9ABEFE887C\" ImpPagado=\"120.00\" ImpSaldoAnt=\"448.00\" ImpSaldoInsoluto=\"328.00\" MonedaDR=\"MXN\" NumParcialidad=\"1\" ObjetoImpDR=\"02\" Serie=\"MO\"><pago20:ImpuestosDR><pago20:RetencionesDR><pago20:RetencionDR BaseDR=\"107.15\" ImporteDR=\"4.29\" ImpuestoDR=\"002\" TasaOCuotaDR=\"0.040000\" TipoFactorDR=\"Tasa\"/></pago20:RetencionesDR><pago20:TrasladosDR><pago20:TrasladoDR BaseDR=\"107.15\" ImporteDR=\"17.14\" ImpuestoDR=\"002\" TasaOCuotaDR=\"0.160000\" TipoFactorDR=\"Tasa\"/></pago20:TrasladosDR></pago20:ImpuestosDR></pago20:DoctoRelacionado><pago20:ImpuestosP><pago20:RetencionesP><pago20:RetencionP ImporteP=\"4.29\" ImpuestoP=\"002\"/></pago20:RetencionesP><pago20:TrasladosP><pago20:TrasladoP BaseP=\"107.15\" ImporteP=\"17.14\" ImpuestoP=\"002\" TasaOCuotaP=\"0.160000\" TipoFactorP=\"Tasa\"/></pago20:TrasladosP></pago20:ImpuestosP></pago20:Pago></pago20:Pagos><tfd:TimbreFiscalDigital FechaTimbrado=\"2024-02-02T15:31:03\" NoCertificadoSAT=\"30001000000500003456\" RfcProvCertif=\"SPR190613I52\" SelloCFD=\"OUAcymp0VPYLyVlxVuGfbfcdAb9RugLB/KtVRfp7FZkUhZ+yLFyAW3Oni/6Fip2P7G1PJal0P3pn6Dobj0PCzhgel4OelTrKNP11ZcgrwSeoszlkNqhpHkMbMBe0PP57JBuDhwqWW7cz98KeoqGkw2JeJNbQ/iFI58a8BzIso1bUl14UH6tFPmGLtudXHnPwlvwQkcKo7NNxcEHn8xmDHQ48uxpsTySAHTdIUGFgo5McQXWkFO6gxVzdHhrJ506fXWA1SumxkMVRqIFTUOYskReRJdR/aHO8Lvl0mysM/LGfGkIbigI/xPtMcM1Oy+nzlmjworbVgqKMlbi7h6JUiQ==\" SelloSAT=\"d/C7SLuVdYmOqE2Bd6vxfkq/wrvoxC2WvlAiWskymO7sUy84jaXmZWBg5JCxDtHvciHfCcvvH0csPKHQI13JjQ5zw2p4N5Kw1I/QszQFuRj1ZRDFFGijTaYY2EeWDMg36uZcZVGLWus/oVpN8UP+WTgd7bPqy/TXlyn65W2Ej+Xr5CY/bOo3C/F2ENALjkj0DFs7XoAuvRivQmHo+eWp71SEIjtbEUqahNZhurOjVwcoMtbjUwFseTxHuGL/xPNcLJCdXbs2tLbw9owcFL4UEnbgirUPnkHxD6kXTUbT4yZ2eR3Uk3EwUeSaBRFhWnf7gHHR8Ii1OVFESCLbx7jh9Q==\" UUID=\"3AFF5AFE-66F3-46CD-A6DD-C1B5765F46A7\" Version=\"1.1\" xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\"/></cfdi:Complemento></cfdi:Comprobante>",
    "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<compras@ciclontijuana.com>"
  },
  "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.
error-factura.json
{
  "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
request-cfd2cfdi.json
{
  "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.

CFDv2.2.xml
<?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.

CFDv3.2.xml
<?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.

CFDv3.2-sin-Sello.xml
<?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>

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.
ok-cfd2cfdi.json
{
  "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_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.
error-cfd2cfdi.json
{
  "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.
ok-nomina2cfdi.json
{
  "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_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.
error-nomina2cfdi.json
{
  "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 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

esquema-de-cancelacion-de-facturas.jpg

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):

llamada-1cancelacion.json
{
  "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.

llamada-Xcancelacion.json
{
	"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”.
error-cancelarCFDI.json
{
  "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.

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.

Tipo de cancelación “03” No se llevó a cabo la operación

Cuando se facturó una operación que no se concreta.

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.

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

web-service-ifactura.txt · Última modificación: 2024/02/02 21:35 por