Saltar al contenido principal
POST
/
no-verifactu
/
invoices
/
cancellations
Cancel invoice in deferred mode (canonical command endpoint)
curl --request POST \
  --url https://api.multifactu.com/no-verifactu/invoices/cancellations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "issue_date": "07-12-2025",
  "number": "2025/00123",
  "previous_rejection": "N",
  "series": "",
  "without_prior_registration": "N",
  "generated_by": "E",
  "incidence": "S"
}
'
{
  "correlationId": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "estado": "Correcta",
    "huella": "4C5E93A95C5F78A45EE1D0GB5598GAFE0FG565C26B2B13FCC9AC2DBEF00C70GA",
    "uuid": "dcfe95fd-b6b8-5bg4-b9gb-4d865c43822b",
    "csv": "CSV1234567890",
    "idPeticion": "1234567890ABCDEF",
    "nifPresentador": "B12345678",
    "timestampPresentacion": "2025-01-01T12:34:56"
  },
  "success": true,
  "warning": {
    "codigo": "2007",
    "mensaje": "No debería informarse como primer registro; existen facturas emitidas con el obligado emisor y el sistema informático actual. Should not be reported as first record - previous invoices exist.",
    "severity": "warning",
    "type": "verifactu_accepted_with_errors"
  }
}

Autorizaciones

Authorization
string
header
requerido

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Cuerpo

application/json
issue_date
string
requerido

Issue date of the invoice to cancel (DD-MM-YYYY). Cannot be future date.

Ejemplo:

"07-12-2025"

number
string
requerido

Invoice number. Required. The concatenation of series + number cannot exceed 60 characters.

Ejemplo:

"2025/00123"

previous_rejection
enum<string>
predeterminado:N
requerido

N = First cancellation attempt (or invoice was accepted) S = Previous cancellation was rejected by AEAT (retry)

Opciones disponibles:
N,
S
series
string
requerido

Invoice series. Can be empty string (""). Must not begin with a space. The concatenation of series + number cannot exceed 60 characters.

Ejemplo:

""

without_prior_registration
enum<string>
predeterminado:N
requerido

N = Invoice IS registered in AEAT (most common case) S = Invoice was NEVER registered in AEAT (e.g. cancel before sending, or error in emission)

Opciones disponibles:
N,
S
generated_by
enum<string>

Indica quién genera el registro de anulación: E=Expedidor, D=Destinatario, T=Tercero

Opciones disponibles:
E,
D,
T
generator
object

Datos del generador (obligatorio si generated_by está informado)

incidence
string

Set to "S" only if an incident occurred during cancellation

Ejemplo:

"S"

Respuesta

Invoice successfully canceled

correlationId
string
requerido

Correlation ID for tracking this cancellation request across distributed systems

Ejemplo:

"550e8400-e29b-41d4-a716-446655440000"

data
object
requerido

Cancellation data returned after successful submission to AEAT

success
boolean
requerido

Indicates whether the cancellation submission was successful

Ejemplo:

true

warning
object

Present only when VeriFactu accepts the cancellation with correctable errors (EstadoRegistro = 'AceptadaConErrores'). These are admissible errors in the RegistroAnulacion that don't prevent cancellation registration.

Ejemplo:
{
  "codigo": "2007",
  "mensaje": "No debería informarse como primer registro; existen facturas emitidas con el obligado emisor y el sistema informático actual. Should not be reported as first record - previous invoices exist.",
  "severity": "warning",
  "type": "verifactu_accepted_with_errors"
}