The street number is no longer required in an address
address.number is now optional: omit it when the address has none, or when street already carries it.
address.number was required in every address you send — a customer, a company, an invoice recipient — so an address that genuinely has none had to be padded with something to get past a 422: a named building, a rural road, or a line1 arriving from another system that already carries the number inside the street. It is now optional. Omit it when the address has no number, or when street already carries the address in full; street, postal_code, city and province are unchanged, and addresses you already send with a number keep working untouched.
One trap if you build the body dynamically: number is still validated when it is present, and an empty string is not a way to say "none". Omit the key — "number": "" is rejected with 422.
Endpoints
- POST|PATCH/v1/companies/{company_id}/customers
address.numbermay be omitted - POST/v1/companies/{company_id}/invoices
recipient.address.numbermay be omitted - POST/v1/accounts/{account_id}/companies
address.numbermay be omitted
Where to go next
VeriFactu is a fact of the taxpayer, not a flag per invoice
Whether an invoice reaches the AEAT is now decided by the NIF's regime at issue time. The per-invoice flag and three response fields are gone.
New webhook event: invoice.schedule_failed
`invoice.schedule_failed` tells you a scheduled invoice could not be issued, so you find out without opening the dashboard.