Documentación
Explorar documentación
Idioma
EN ES

Corregir facturas

Corrige, reembolsa o anula una factura emitida sin reescribir su historial.
Ver como Markdown

Las facturas emitidas son inmutables: cambiar el cliente o eliminar una línea después no puede alterar lo emitido. Cuando necesites corregir algo, crea una rectificación sobre la factura original. FiscalRail registra el motivo y crea de forma atómica los documentos necesarios.

Elige la corrección

El motivo determina lo que crea FiscalRail:

Motivo Cuándo usarlo Resultado
refund Se reembolsa una parte o la totalidad de la operación. Abono completo y, opcionalmente, una sustituta de menor importe.
discount Se concede un descuento después de la emisión. Abono completo y, opcionalmente, una sustituta de menor importe que conserva cantidades y tratamiento fiscal.
incorrect_customer_details Los datos no fiscales del cliente eran incorrectos. Abono completo y sustituta obligatoria para el mismo cliente y NIF.
incorrect_lines Eran incorrectos los conceptos, cantidades o precios. Abono completo y sustituta obligatoria que conserva el tratamiento fiscal.
incorrect_tax Eran incorrectos el tratamiento o tipo impositivo. Abono completo y sustituta obligatoria que conserva los datos comerciales de las líneas.
customer_identification Hay que añadir el destinatario o corregir su identidad fiscal. Abono completo y sustituta obligatoria con el cliente identificado correctamente.
issued_by_mistake La operación nunca ocurrió y la factura no debería existir. Anula la factura sin crear abono ni sustituta.

issued_by_mistake no es un atajo para reembolsos o errores ordinarios. En cuentas españolas crea un registro de anulación de VERI*FACTU para la factura original.

Emite la rectificación

Este ejemplo corrige las líneas y emite una sustituta. Da por hecho que INVOICE_ID contiene la factura que quieres corregir.

curl "https://api.fiscalrail.com/v1/invoices/$INVOICE_ID/amendments" \
  --request POST \
  --header "Authorization: Bearer ak_test_..." \
  --header "Idempotency-Key: 607943a8-c7a9-48bb-a27a-87995250af0f" \
  --header "Content-Type: application/json" \
  --data '{
    "reason": "incorrect_lines",
    "replacement": {
      "lines": [{
        "description": "Consulting",
        "quantity": "2",
        "unit_price": "70.00",
        "taxes": [{"tax": "vat", "rule": "general"}]
      }]
    }
  }'

La respuesta es un invoice_amendment con referencias a la original, el abono completo y la sustituta. El abono revierte por completo la original; la sustituta expresa el resultado comercial corregido.

La operación entera es atómica. Si alguno de los documentos generados no es válido, no se emite ninguno ni se consume ningún número de serie.

Reintenta de forma segura

Envía siempre un Idempotency-Key. Si la conexión falla después de confirmar la rectificación, repite exactamente la misma petición con la misma clave. FiscalRail devuelve el resultado original en lugar de rectificar dos veces.

Cada documento solo se puede rectificar una vez. Si la sustituta necesita otra corrección, crea la siguiente rectificación sobre la sustituta y no sobre la primera factura.

Sigue el resultado

La original, el abono y la sustituta siguen siendo facturas que se pueden consultar por separado. Sus campos preceding_invoice conservan la relación, mientras que la entrada compartida en amendments expone la operación completa.

Se emite un evento invoice.amended para la rectificación y cada factura generada emite su propio invoice.issued. La entrega de webhooks no está ordenada, así que los consumidores deben usar los identificadores y relaciones en lugar de suponer qué evento llegará primero.

Las cuentas españolas también generan los registros de alta, rectificación o anulación correspondientes en VERI*FACTU. Suscríbete a los eventos invoice.verifactu_registration.* para conocer el resultado final.

Consulta la referencia de la API de facturas para ver todas las validaciones específicas de cada motivo y los campos de respuesta.