API Changelog
20241028
- Backported breaking change: Due to legal requirements, the
numberandissue_dateparameters will be ignored when creating documents from Spanish accounts using the Verifactu electronic invoicing system. The Quaderno Templates system won't be available for these accounts either. Please note that backported breaking changes apply to all API versions. - We now return a 406 Not Acceptable HTTP response when the
tax_codein thetaxobject on anyitemof the Transactions API is not valid. Valid values, humanized names and explanations can be obtained via the/tax_codesendpoint. Before this API version, any invalid value would be ignored and the account's default would be applied. - Fixes a bug where the
countryparam from thetaxobject on anyitemof the Transactions API was not required, even if it was documented as so.
20240705
- Pagination is now sorted by descending ID. This ensures the last item on each page matches the
X-Pages-NextPageheader, clarifying navigation without changing existing functionalities. - Added the ability to set and read the
permanent_establishmentandimport_schemevalues when dealing with your business's registered jurisdictions on the/tax_idsendpoints. This change has been backported to all API versions. - Information regarding
invoicesandcreditsdeliveries to external systems like TicketBAI is now accessible via thedeliveriesobject. You can learn more with our TicketBAI guide.
20231201
- From API version
20231201onwards, the Transactions API will automatically dispatch invoices and credit notes if the option "Autosend all automatic invoices and credit notes" is selected in your account settings. - The long-time deprecated
/taxes/validatehas been finally removed in favor of/tax_ids/validate. If you were still using it, just make sure your URLs are updated, and that you are sending thetax_idparameter (and not the oldvat_numberparameter).
Please consider upgrading your API version.
20220325
- Backwards-compatible change: API listing endpoints
/invoices,/creditsand/contactsnow acceptprocessor_idas filter parameter. - Backwards-compatible change: Transactions API now returns the
exchange_rateused when the transaction currency differs from the account's default currency. - Backwards-compatible change: Billing API now accepts
itemsandevidenceobjects as Transactions API does. Arrays ofitems_attributesandevidence_attributesare deprecated but still work. - Backwards-compatible change: Expenses API now returns
processorandprocessor_idon thepaymentsobjects of payed expenses. - Breaking change:
/tax_rates/calculateno longer returns anoticeexplanation text with the tax calculation reason. - Backwards-compatible change:
/tax_rates/calculatenow always show astatuson the response indicating a code for the calculation scenario. - Backwards-compatible change: Added
recurring_periodandrecurring_frequencyto recurring documents. - Backwards-compatible change: Added
postal_codeandwebto accounts.
20210701
- Backwards-compatible change: Added
verification_codeandverification_permalinkto invoices and credits. - Backported breaking change: Maximum items per document are now limited up to 200. Before, this was a soft limit per API request, which could be workarounded with subsequent PUT calls.
- Backwards-compatible change: Billing API now supports partial refunds with the parameter
credited_amountfor invoices with one single item. - Backwards-compatible change: passing
noneas theregionparameter to theGET /jurisdictionsendpoint returns jurisdictions that do not have a specific region. - Backwards-compatible change: new
threshold.eu.100kwebhook for the Annual turnover report, to warn whenever sales of digital services within the EU (exclusive of VAT) reach €100,000. Applies only to EU-based sellers. - Backported breaking change:
abandonedcheckout sessions are automatically removed after seven days of inactivity (this is, no updates or not submission attempts from the customer). - Backwards-compatible change: we're adding new webhooks for the new Annual turnover report:
threshold.warningandthreshold.exceeded. - Backported breaking change: we're removing the ability to edit coupons linked to Stripe coupons, as they won't allow edition and led to inconsistent states.
- Backported breaking change: to comply with tax rules worldwide,
DELETE /invoices/INVOICE_IDandDELETE /credits/CREDIT_IDendpoints no longer exists and return404 Not Found. Instead deleting invoices you should associate them to credit notes usingPOST /creditswith the invoice id, which will change its state topaidinstead therefundedstate. To correct errors creating credits we also provide aPUT /credits/CREDIT_ID/voidto void credit notes. Note the webhooksinvoice.deletedandcredit.deletedare also gone. - Backported breaking change: to comply with tax rules worldwide,
PUT /invoices/INVOICE_IDandPUT /credits/CREDIT_IDonly allow modification of the parametersnotes,tag_list,custom_metadataand all those related to the customer's address:street_line_1,street_line_2,city,region,postal_codeandcountry. This change applies to ALL versions. - Backwards-compatible change:
/tax_rates/calculatenow always show aproduct_typeon the response. - Backwards-compatible change: creating and updating Connect custom accounts (POST and PUT to
/accountsendpoint) now accepts specifying thedefault_product_typeanddefault_tax_code.
20210316
- Breaking change: record pagination is no longer performed with a
pageparameter, but with acreated_beforeparameter. See the pagination documentation for more details. - Breaking change: the old
/taxes/calculateendpoint is deprecated in favour of the /tax_rates/calculate endpoint. - Adds a
Deprecation: trueheader to responses using deprecated pagination, with aLinkheader linking to the updated documentation.
20170914
- Added the accounts API.
- Added the
related_documentto the credit object. - Added
tax_1_transaction_typeandtax_2_transaction_typefields to the taxes attributes in the credit object. - Added
transaction_typefields to the document items attributes in the credit object. - Added
kind,stripe_plan_id,paypal_interval_unit,paypal_interval_frequencyandpaypal_interval_durationfields in the item object. - Changed
numberfield limit to 20 characters forinvoices,creditsandestimates.
20170628
- Return 429 (
too many requests) instead of 503 (service unavailable) on rate limits.
20170418
- Added
custom_metadataas an editable field.
20161108
countryis now returned as an attribute forinvoices,expenses,creditsandestimates.
20160614
- Amounts are now returned as cents instead being formatted as amount with currency symbol.
- Versions are no longer passed as part of the URL, instead they can be passed as an accept header.
20160602
- First version.
- Amounts are returned formatted as amount with currency symbol.