Facturar en España
PDF y correo
En cuanto la factura queda registrada, están disponibles su PDF y su URL de verificación:
{ "estado": "registrado", "urls": { "detalle": "https://olympus.atharix.com/api/v1/invoices/6f1e…", "pdf": "https://olympus.atharix.com/api/v1/invoices/6f1e…/pdf", "xml": null, "verificacion": "https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR?nif=B12345678&numserie=F2026-0001&…" }}No hace falta esperar a la AEAT: a diferencia de Ecuador, aquí el PDF existe desde el primer momento.
curl https://olympus.atharix.com/api/v1/invoices/6f1e…/pdf \ -H "X-API-Key: $OLYMPUS_API_KEY" \ -o factura.pdfpdf = client.get(f"/invoices/{factura_id}/pdf")pdf.raise_for_status()Path(f"{factura['secuencial']}.pdf").write_bytes(pdf.content)Lleva el desglose por tipo de IVA, las menciones legales que exija la operación (exención, inversión del sujeto pasivo), la retención y el recargo si los hay, y el código QR de verificación. El diseño —logo, color— sale de la configuración del negocio en Olympus.
La URL de verificación
Sección titulada «La URL de verificación»urls.verificacion es lo que hay detrás del QR: apunta al validador de la sede electrónica de la
AEAT, donde cualquiera puede comprobar que la factura existe y coincide con lo declarado.
Es pública: puedes dársela a tu cliente.
No hay XML
Sección titulada «No hay XML»Qué guardar en tu sistema
Sección titulada «Qué guardar en tu sistema»| Dato | Para qué |
|---|---|
id | Consultar y descargar por la API |
secuencial | El número de la factura (F2026-0001) |
huella | Identifica el registro; es lo que acredita su integridad |
referencia_aeat | El CSV del envío, cuando la AEAT lo acepta |
| El PDF | Para tus archivos y para el cliente |
def archivar(client, factura_id, carpeta: Path): factura = client.get(f"/invoices/{factura_id}").json() carpeta.mkdir(parents=True, exist_ok=True)
pdf = client.get(f"/invoices/{factura_id}/pdf") pdf.raise_for_status() (carpeta / f"{factura['secuencial']}.pdf").write_bytes(pdf.content)
return { "numero": factura["secuencial"], "huella": factura["huella"], "csv": factura["referencia_aeat"], }Correo automático
Sección titulada «Correo automático»Al registrarse la factura, Olympus envía el PDF al comprador si comprador.email venía en el payload.
Para desactivarlo en una factura concreta:
{ "enviar_email": false, "comprador": { … }, "items": [ … ] }Reenviar por correo
Sección titulada «Reenviar por correo»curl -X POST https://olympus.atharix.com/api/v1/invoices/6f1e…/send-email \ -H "X-API-Key: $OLYMPUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "destinatarios": ["contabilidad@ejemplo.es"] }'Sin destinatarios, va al correo del comprador. Hasta 5 por llamada. Requiere que la factura esté
registrada y el scope invoices:write.