What’s new in v2024-05-25

Stay up to date with the latest features, improvements, and breaking changes in the current version of Monite API.

Overview

Monite API version 2024-05-25 includes improvements to recurring invoices, accounts payable OCR, and entity management.

In future updates of the API version 2024-05-25, we plan to add more features and improvements to our product offering. We’ll add these new features to the current API version unless they introduce new breaking changes. In such cases, we will introduce them in subsequent API versions.

Breaking changes

Version 2024-05-25 includes some breaking changes that you should consider when upgrading from previous API versions.

For more information on which changes we consider breaking and non-breaking, refer to our Versioning policy.

Removed fields

  • Removed deprecated accounting settings from partner settings.

    Removed fields are highlighted.

    1{
    2 "accounting": {
    3 "provider": "...",
    4 "token": "..."
    5 },
    6 "api_version": "2024-05-25",
    7 ...
    8}
  • Removed the deprecated language field from the request body of POST /receivables/{receivable_id}/send. Instead, use the counterpart field language to specify the language to be used to localize the emails and PDFs sent to this counterpart.

  • Removed some deprecated, duplicate, and rarely used fields from the response payload of invoices, quotes, and credit notes.

    Removed fields are highlighted.

    1{
    2 "type": "invoice",
    3 ...
    4
    5 "file": {
    6 "id": "15e4ee5b-9419-45f9-8beb-03031931b565",
    7 "created_at": "2024-01-15T09:30:00Z",
    8 "file_type": "receivables",
    9 "md5": "31d1a2dd1ad3dfc39be849d70a68dac0",
    10 "mimetype": "application/pdf",
    11 "name": "invoice.pdf",
    12 "region": "eu-central-1",
    13 "size": 24381,
    14 "url": "https://example.com/path/to/invoice.pdf",
    15 "pages": [],
    16 "previews": []
    17 },
    18 "file_url": "https://example.com/invoice-in-counterpart-language.pdf",
    19 "original_file_url": "https://example.com/invoice-in-entity-language.pdf",
    20 ...
    21
    22 "line_items": [
    23 {
    24 "product": {
    25 "id": "f9cabe1e-1286-4ecc-861c-55c1de75a3b8",
    26 "created_at": "2025-01-15T09:30:00Z",
    27 "updated_at": "2025-01-15T09:30:00Z",
    28 "description": "",
    29 "discount": null,
    30 "entity_id": "f1cb56c7-8429-4de7-a4d1-1ae9d0118ad6",
    31 "entity_user_id": "aef6ccd8-2f8b-42ec-8448-9913df248e96",
    32 "is_inline": false,
    33 "ledger_account_id": null,
    34 "measure_unit": {
    35 "created_at": "2025-01-14T08:30:00Z",
    36 "updated_at": "2025-01-14T08:30:00Z",
    37 "name": "pcs",
    38 "id": "2e4d5af7-c18a-4b3c-ad30-468dc1244284",
    39 "description": "pieces"
    40 },
    41 "measure_unit_id": "2e4d5af7-c18a-4b3c-ad30-468dc1244284",
    42 "name": "Logitech K270 Wireless Keyboard",
    43 "price": {
    44 "currency": "EUR",
    45 "value": 1600
    46 },
    47 "price_after_vat": {
    48 "currency": "EUR",
    49 "value": 1904
    50 },
    51 "smallest_amount": 1,
    52 "type": "product",
    53 "vat_rate": {
    54 "id": "479155c3-0995-4689-a3cf-7482ea5132a9",
    55 "country": "DE",
    56 "value": 1900
    57 }
    58 },
    59 "quantity": 5,
    60 "total_before_vat": 8000
    61 }
    62 ]
    63}
    Removed fieldReplacement
    fileUse the file_url and original_file_url fields to access PDF documents in the counterpart language and entity language, respectively.
    line_items[].product.created_atGet product details with GET /products/{product_id} and check created_at.
    line_items[].product.updated_atGet product details with GET /products/{product_id} and check updated_at.
    line_items[].product.entity_idUse the same entity ID that is being passed in the X-Monite-Entity-Id request header in API calls.
    line_items[].product.entity_user_idGet product details with GET /products/{product_id} and check entity_user_id.
    line_items[].product.measure_unit_idline_items[].product.measure_unit.id
    line_items[].product.measure_unit.created_atGet measure unit details with GET /measure_units/{measure_unit_id} and check created_at.
    line_items[].product.measure_unit.updated_atGet measure unit details with GET /measure_units/{measure_unit_id} and check updated_at.

HTTP status code changes

We’ve changed some response status codes to be more compliant with the HTTP specification.

  • Changed the status code from 403 to 401 for API calls made with an expired access token.

  • Changed the success status code from 200 to 201 for the following endpoints:

    • POST /mailboxes
    • POST /mailbox_domains
    • POST /roles

New features and improvements

The following features exist only in Monite API version 2024-05-25 and are not available in earlier versions.

Entity deactivation

Monite partners can now deactivate (disable) their entities, for example, if those entities are no longer active clients. Monite API includes the following new endpoints for this purpose:

Entity field status indicates whether this entity is active or inactive.

In earlier API versions (up to 2024-01-31), inactive entities are returned with status="deleted" instead, but are still considered inactive for all other purposes.

Auto-sending of recurring invoices

Recurring accounts receivable invoices can now be configured to be sent automatically. To support this behavior, the recurrence configuration includes new optional fields:

  • recipients - the list of invoice recipients (To, CC, BCC),
  • subject_text - the email subject text,
  • body_text - the text inserted in the email body.

Also, the iterations[].status field in recurrence configurations has a new possible value "send_failed".

For more information, see Auto-sending of recurring invoices.

Canceling OCR on demand

New endpoint POST /payables/{payable_id}/cancel_ocr allows users to cancel an ongoing OCR process for an uploaded payable, for example, if it takes too long. The ocr_status field of payables has a new possible value "canceled" to indicate that OCR has been canceled.

In case of canceled OCR, users can still fill in the missing data for a payable manually.