NewThe global rate limit drops to 1000 requests per minute
BeeL
Get StartedMulti-NIFVeriFactuStripeAPI ReferenceChangelog

Tax breakdowns, series numbering and recurring schedules say what they mean

Breakdowns travel complete and their bases add up to the invoice base. Series publish the number they will actually assign next. Recurring invoices declare frequency in the request. A submission that was never sent is now NOT_SUBMITTED rather than absent.


Changelog

Breakdowns travel complete and their bases add up to the invoice base. Series publish the number they will actually assign next. Recurring invoices declare frequency in the request. A submission that was never sent is now NOT_SUBMITTED rather than absent.

What else changed

  • Tax breakdowns travel complete. Every breakdown line is present in the response, and their bases add up to the invoice base exactly — the rounding remainder is distributed rather than left to fall where it may, so base × rate no longer disagrees with the amount charged. Lines that carry no tax no longer report a phantom main_tax.
  • next_number is the number that will actually be assigned. It is resolved with the same rule the issuing path uses, so it accounts for the series' counter reset policy: a series that resets annually publishes the first number of the current year, not the last one of the previous year.
  • numbering_locked tells you whether you can still change how a series numbers. It is true once the series has issued its first invoice; from that point code, format, counter_reset and initial_number are permanently locked. A draft does not lock anything — it has consumed no number yet.
  • Corrective invoices. A partial corrective inherits the defaults of the invoice it corrects instead of requiring them again, and a corrective invoice cannot itself be corrected.
  • Recurring invoices declare frequency in the request contract, and an unsupported value is rejected with 422 naming it, instead of being accepted and quietly producing nothing.
  • VeriFactu submission status gains NOT_SUBMITTED for an invoice that was never sent. Reading it no longer requires inferring absence, and filtering by submission status now matches the value the invoice itself reports.
  • Voiding. voided_at is the instant the system recorded the void, not a date the client supplies.