The VeriFactu status webhook reports a new rejection reason and the real previous status
verifactu.status.updated is also sent when a rejected record is rejected for a different reason, and previous_status now carries the status of the record it replaces.
Two changes to verifactu.status.updated. The payload keeps its shape.
What else changed
- A new reason for a rejection sends a webhook. While a record stays
REJECTED, a differenterror_codeor publicerror_messagenow triggers a delivery withprevious_statusandnew_statusbothREJECTED. Handlers that assume the status always changes should accept this case. previous_statusfollows the invoice, not only the record. It is the status of the invoice's record of the sameoperationjust before the change, also when a new submission replaces a rejected one. It is omitted only on the first notification of eachoperation, so the first notification of a cancellation still has noprevious_status.
Where to go next
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.
Stripe: a buyer with a NIF always gets a standard invoice, and the simplified threshold is deprecated
A Stripe charge whose buyer has a NIF and a complete address is invoiced as STANDARD at any amount, a charge that cannot be invoiced is saved as a draft, and `simplificada_threshold` no longer has any effect.