Timbre

Artefactos

El XML firmado, la respuesta de Hacienda, el PDF y cómo verificarlos.

Todo lo que Timbre produjo por el camino queda descargable. Los tres XML no son copias regeneradas: son exactamente los bytes que se firmaron y se presentaron. La representación en PDF es otra cosa: se dibuja a partir de esos mismos datos congelados, se guarda una sola vez y no se vuelve a generar, pero no es el documento legal.

El panel también los ofrece: cada documento en Facturas trae sus descargas (los tres XML siempre, el PDF cuando existe) sin que tengas que armar la petición. Lo de abajo es para bajarlos por código.

Petición
curl https://api.timbrecr.com/core/v1/invoices/{id}/artifacts/signed_xml \
  -H "Authorization: Bearer timbre_sk_…"

Los cuatro

Cada documento deja hasta cuatro archivos, todos por la misma ruta de descarga:

ArtefactoQué es
generated_xmlEl XML de la factura, antes de firmar
signed_xmlEl XML firmado con XAdES que se presentó
hacienda_response_xmlLa respuesta firmada de Hacienda
representation_pdfLa representación impresa, solo aceptadas

El tercero es el que probás ante un tercero: no es lo que Timbre dice que pasó, es lo que Hacienda firmó.

Verificables por hash

La descarga trae un ETag que es el SHA-256 del contenido. Si guardás el artefacto en tu lado, podés comprobar años después que el archivo que tenés es el mismo que se presentó.

El documento legal es el XML firmado. representation_pdf es una vista de ese XML (lo que lee quien recibe la factura) y solo existe para comprobantes aceptados: un documento rechazado no produce ninguno. Se descarga por la misma ruta que los otros tres y llega como application/pdf. El logo, el color y los datos de contacto que aparecen en él se configuran en el panel.

Entregarle los documentos a tu cliente

Cuando Hacienda acepta un comprobante, a quien compró le corresponden tres archivos: el XML firmado, la respuesta de Hacienda y el PDF. La entrega la hace tu sistema, por el medio que tu cliente aceptó (correo, un portal, un mensaje): la resolución MH-DGT-RES-0027-2024 permite el envío por correo "o puesta a disposición por algún otro medio electrónico autorizado por el cliente", y ese medio lo conocés vos. Timbre te avisa cuando todo está listo y te da los enlaces.

El aviso es el webhook invoice.representation_ready. Si preferís consultar, GET /core/v1/invoices/{id} trae dos campos más:

Respuesta
{
  "status": "accepted",
  "representation": { "status": "ready" },
  "artifacts": [
    {
      "type": "signed_xml",
      "url": "/core/v1/invoices/{id}/artifacts/signed_xml",
      "sha256": "9f2c…",
      "contentType": "application/xml; charset=utf-8"
    },
    {
      "type": "hacienda_response_xml",
      "url": "/core/v1/invoices/{id}/artifacts/hacienda_response_xml",
      "sha256": "41aa…",
      "contentType": "application/xml; charset=utf-8"
    },
    {
      "type": "representation_pdf",
      "url": "/core/v1/invoices/{id}/artifacts/representation_pdf",
      "sha256": "c07e…",
      "contentType": "application/pdf"
    }
  ]
}

url es una ruta: anteponele https://api.timbrecr.com y pedila con la misma llave que usás para todo lo demás. sha256 es el mismo valor que el ETag de la descarga.

representation.status dice en qué está el PDF:

EstadoQué significa
awaiting_acceptanceHacienda todavía no lo aceptó
pendingAceptado; el PDF se está generando
readyListo; el enlace está en artifacts
failedNo se pudo generar; los XML no se ven afectados
not_enabledSe aceptó cuando el plan no incluía PDF; viene con code
not_applicableRechazado o con falla definitiva: no hay un comprobante válido que mostrar

El PDF según el plan

El PDF es parte de los planes de pago. Un documento aceptado mientras la organización no lo incluía queda sin PDF: la consulta trae "code": "representation_not_enabled" y pedir representation_pdf responde 403 con ese mismo código. Cambiar de plan aplica a los documentos que se acepten desde ese momento; los anteriores no se vuelven a generar. Los tres XML están siempre disponibles, en cualquier plan.

Cómo se ve

Arriba va lo que lee quien compró: tu logo y tus datos, el cliente, la fecha, las líneas y los totales. Abajo, en un recuadro de Información fiscal, va el resto de lo que dice el XML firmado: la clave, el consecutivo, los códigos de actividad y de ubicación y el resumen por categoría. No se omite nada, porque la resolución pide que la representación muestre el contenido del comprobante.

Desde el panel, en la marca de cada contribuyente, elegís el estilo del encabezado, la posición del logo, una nota con tus formas de pago, una línea de cierre, si el código CAByS va en su propia columna y si el PDF lleva un código QR. El QR viene apagado: Hacienda suspendió ese requisito hasta que anuncie cuándo empieza a regir. Si lo activás, lleva la clave numérica y va en la esquina inferior derecha. Los cambios aplican a los PDF que se generen después; uno ya generado no se vuelve a dibujar.