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.
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 × rateno longer disagrees with the amount charged. Lines that carry no tax no longer report a phantommain_tax. next_numberis 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_lockedtells you whether you can still change how a series numbers. It istrueonce the series has issued its first invoice; from that pointcode,format,counter_resetandinitial_numberare 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
frequencyin the request contract, and an unsupported value is rejected with422naming it, instead of being accepted and quietly producing nothing. - VeriFactu submission status gains
NOT_SUBMITTEDfor 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_atis the instant the system recorded the void, not a date the client supplies.
The contract stops declaring what the server never sends
Several responses and one header were documented but never produced. They are gone from the contract, so a generated client no longer waits for them. Nothing about the server changes: it never sent them.
Import managed accounts from a file, and see where each claim stands
Three new operations create managed accounts in bulk from a spreadsheet: download the template, preview what would happen, then apply. The account resource also tells you whether its claim link is still usable.