# VeriFactu records accepted with errors get their own status: ACCEPTED_WITH_ERRORS

A record the AEAT accepted but flagged with errors now reads `ACCEPTED_WITH_ERRORS` instead of `ACCEPTED`, on the invoice, the filter and the webhook.

Oct 16, 2026 · Breaking

Until now a record the AEAT accepted while reporting errors in it was published as `ACCEPTED`, with an `error_code` alongside. It now has its own value, `ACCEPTED_WITH_ERRORS`, and `ACCEPTED` means accepted without remarks. This applies to records accepted before this change too.

## What else changed

- **`verifactu_status=ACCEPTED` returns fewer invoices**: the ones accepted with errors match `ACCEPTED_WITH_ERRORS`.
- **`verifactu.status.updated` can carry `ACCEPTED_WITH_ERRORS`** in `new_status` and `previous_status`. The record stands at the AEAT and its QR is valid, but the flagged data must be reviewed.
- **`error_code` is now described once, as `VeriFactuErrorCode`.** It is still a string: the AEAT's numeric code (for example `1105`) or a BeeL. code such as `RECIPIENT_VAT_NOT_IN_VIES` when the submission was refused before reaching the AEAT. Generated clients may get a new type name.
- **What to do:** if you validate the status against a closed enum, add `ACCEPTED_WITH_ERRORS` and treat any value you do not recognise as unknown, since more may be added.

## Endpoints

- `GET /v1/companies/{company_id}/invoices` — `verifactu_status` accepts `ACCEPTED_WITH_ERRORS`
- `GET /v1/companies/{company_id}/invoices/{invoice_id}` — `verifactu.submission_status` can be `ACCEPTED_WITH_ERRORS`

## Where to go next

- [Submission states](/verifactu/submission-states)
- [Accepted with errors](/verifactu/handling-rejections#accepted-with-errors)
- [VeriFactu status webhook](/webhook-events/onVeriFactuStatusUpdated)

---

Full OpenAPI spec: https://docs.beel.es/api/openapi