NewCompany stats count voided invoices by how they were voided
BeeL
Get startedMulti-NIFVeriFactuRulesStripeAPI referenceChangelog

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.


ChangelogBreaking

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}/invoicesverifactu_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