2.2.1.1. Timbrado.timbrar Doc
Recibe un CFDI, lo valida y, en caso de que pase todas las validaciones, se timbra, devolviendo el CFDI con el complemento de Timbre Fiscal Digital.
- Parametros:
-
Nombre Descripción Requerido usuario Nombre de usuario registrado para el uso del Web Service Si password Contraseña del usuario Sí cfdi Arreglo de bytes (binario) del CFDI en formato XML o zip con uno o varios CFDI Sí ZIP Booleano que indica si los datos enviados corresponden a un archivo .zip No
Ejemplo de request:
Descargar este ejemplo
Regresa:
- Este método retorna un tipo compuesto: CFDICertificacion, los atributos se describen en la siguiente tabla
-
Nombre Descripción Requerido status El código status de la operación. Códigos de respuesta de timbrado Sí mensaje El mensaje de respuesta, una cadena de caracteres detallando el status de la operación. Sí resultados Un array de CFDIResultadoCertificacion, un tipo compuesto cuyos atributos se detallan en la tabla “Atributos de CFDIResultadoCertificacion” No
- Atributos de CFDIResultadoCertificacion
-
Nombre Descripción Requerido status Status del resultado de validación y timbrado del CFDI, para detalles de los códigos de status de certificación consulte “Códigos de respuesta de Sí mensaje Mensaje detallado de la operación realizada o descripción del error. Sí uuid Folio fiscal del CFDI que se timbró. Condicional versionTFD Versión del complemento de Timbre Fiscal Digital. Condicional fechaTimbrado Fecha de timbrado del CFDI. Nota: La hora está expresada en GMT, si se usa este campo para construir el nodo tfd:TimbreFiscalDigital deberá ser convertido a la hora del centro de México (No se recomienda construir el nodo de timbre a partir de estos datos).
Recomendaciones timbradoCondicional selloSAT Sello del SAT, el sello del Timbre Fiscal Digital. Condicional certificadoSAT Número de serie del certificado del SAT empleado para timbrar el CFDI. Condicional cadenaOriginal Cadena original del Timbre Fiscal Digital o Complemento de Certificaciónes. Condicional cfdiTimbrado En este campo se regresa, codificado en base64, el CFDI ya con el Timbre Fiscal Digital correctamente formado. Condicional qrCode Código bidimensional QRCode del CFDI, son los datos binarios de una imagen en formato png. Condicional
Ejemplo de response:
Descargar este ejemplo
Códigos de respuesta
Timbrado:
- 200 - El proceso de validación se ha completado correctamente
- 500 - Han ocurrido errores que no han permitido completar el proceso de validación/certificación.
- 501 - Ha ocurrido un error de conexión a la base de datos.
- 502 - Ha fallado al intentar recuperar o almacenar información en la base de datos.
- 503 - Se ha alcanzado el límite de licencias de acceso concurrente a la base de datos.
- 601 - Error de autenticación,el nombre de usuario o contraseña son incorrectos.
- 602 - La cuenta de usuario se encuentra bloqueada.
- 603 - La contraseña de la cuenta ha expirado.
- 604 - Se ha superado el número máximo permitido de intentos fallidos de autenticación.
- 605 - El usuario se encuentra inactivo
- 1401 - El Namespace del XML no corresponde con el Namespace de CFDI
- 1402 - No se encuentran los datos del emisor en el CFDI
- 1403 - No se encuentran los datos del receptor en el CFDI
Validación CFDI:
- 200 - CFDI correctamente validado y timbrado.
- 301 - El CFDI no tiene una estructura XML correcta.
- 302 - El sello del emisor no es válido.
- 303 - El Certificado de Sello Digital no corresponde al contribuyente emisor.
- 304 - El certificado se encuentra revocado o caduco.
- 305 - La fecha del CFDI está fuera del rango de la validez del certificado.
- 306 - El certificado usado para generar el sello digital no es un Certificado de Sello Digital.
- 307 - El CFDI ya ha sido timbrado previamente.
- 308 - El certificado utilizado para generar el sello digital no ha sido emitido por el SAT.
- 401 - La fecha del comprobante está fuera del rango de timbrado permitido.
- 402 - El contribuyente no se encuentra dentro del régimen fiscal para emitir CFDI.
- 403 - La fecha de emisión del CFDI no puede ser anterior al 1 de enero de 2011.
- 611 - Los datos recibidos están incompletos o no se encuentran donde se esperarían.
- 612 - El archivo XML o alguno de sus atributos está malformado.
- 630 - Se han agotado los timbres de la implementación.
- 631 - Se han agotado los timbres del emisor.
- 632 - Se ha alcanzado el límite de uso justo permitido por transacción.
- 633 - Uso indebido de cuenta de producción en pruebas o cuenta de prueba en producción.
- 311 - No autorizado.
- 312 - Error al consultar al SAT .
Codigos de estatus para el sector primario
Recomendaciones y notas generales sobre el timbrado de comprobantes
Cuando se trate de reintentos de timbrado por error de comunicación o problemas con el WebService, siempre envíe un comprobante idéntico en cada reintento, la unicidad de los CFDI está dada por la cadena original del comprobante, de tal forma que si envía timbrar el CFDI con folio comercial 14 de la serie F dos veces pero con diferente fecha de emisión o cualquier cosa que sí afecte la cadena original (el folio y serie son para uso comercial únicamente y no forman parte de la cadena original), se considerará un CFDI diferente y se asignará un nuevo folio fiscal.
Si envía a timbrar un CFDI que ya se certificó previamente con Solución Factible, se responderá con un código de error “307 – El CFDI ya ha sido timbrado previamente”, pero además se incluirán los datos del timbre originalmente generado. Esto puede ser utilizado positivamente en caso de que la comunicación se haya visto interrumpida y no haya podido recibir la respuesta de nuestro servidor.
Los Namespaces y la declaración de schemaLocation de los complementos se deberán declarar en el nodo padre de cada complemento. Si se declaran en el nodo raíz del comprobante, el WebService de Timbrado tratará de “normalizarlo” colocando cada declaración en el lugar donde corresponda, sin embargo, puede agilizar la operación si se declaran de acuerdo a esta recomendación.
La respuesta del método timbrar está conformada por dos status de respuesta, uno general o de encabezado y otro por cada uno de los CFDI que se enviaron timbrar, generalmente uno también. Únicamente cuando ambos códigos sean positivos y se entregue el UUID del CFDI timbrado.
El UUID del CFDI timbrado se considera, a su vez, su acuse de timbrado.
Sólo se puede tener certeza de que un CFDI fue cancelado cuando el statusUUID es 201 (Se ha cancelado el CFDI) o 202 (El CFDI ya había sido cancelado previamente).
Herramientas
SOAPMonitor
Esta herramienta monitorea los request que se hacen al Web Service de timbrado, aquí, usted puede examinar la petición que le esta haciendo al Web Service y encontrar posibles errores.
TESTING-Timbrado-SOAPMonitorEnvía una factura electrónica a timbrar en testing
Esta herramienta se conecta al WebService de timbrado en testing, el resultado del timbrado devuelve mensajes sobre la transacción, en caso de ser exitosa o fallida.
TESTING-Timbrado