HomeGuidesRecipesAPI ExplorerForumSupport
Partner Portal
Partner Portal

Release notes

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

What's new in v2023-09-01

This version includes improvements and changes to the Monite platform to make the API more consistent and predictable.

📘

In future updates to the API version 2023-09-01, 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'll introduce them in succeeding API versions.

New features and improvements

  • The new POST /mail_templates/{mail_template_id}/make_default endpoint allows you now to set the default email template.
  • The new GET /files endpoint lets you retrieve one or more files by their IDs. You can use this, for example, to retrieve profile pictures of entity users.
  • The new accounting_tax_rate_id field in payable line items can be used to override the auto-selected tax rate reference for a line item when using accounting integration.
  • You can configure the system to avoid the creation of duplicated payables based on the information obtained by the OCR via the payable.allow_cancel_duplicates_automatically field of the /settings endpoint.

Breaking changes

The version 2023-09-01 includes the following breaking changes, which you should consider when upgrading from the previous API version:

  • Entities:
    • The POST /entities now returns 201 instead of 200 in case of successful entity creation.
    • The address.country default value has been changed from DE to null. The country field is now always required when specifying the address.
  • Entity users:
    • In the responses from /entity_users* endpoints, the role object was replaced with the role_id field, and the userpic object was replaced with the userpic_file_id field. To get the role and profile picture by their IDs, use GET /roles/{role_id} and GET /files/{file_id}, respectively.
  • Entity bank accounts:
    • Renamed the is_default field to is_default_for_currency.
    • Required fields for entity bank accounts now depend on the currency instead of country:
      • EUR accounts require iban.
      • USD accounts require account_holder_name, account_number, and routing_number.
      • GBP accounts require account_holder_name, account_number, and sort_code.
    • PATCH /bank_accounts/{bank_account_id} now allows updating only account_holder_name and display_name. To update other fields, you will have to delete the existing bank account and create a new one.
    • Changed the HTTP status code for a successful call to DELETE /bank_accounts/{bank_account_id} from 200 to 204.
  • Mail templates:
    • The deprecated GET /mail_templates/variables endpoint has been removed. Use /receivables/variables or /payable_purchase_orders/variables instead.
    • The template_name field has been renamed to name.
    • The language_code field has been renamed to language.
  • Text templates:
    • The deprecated GET /text_templates/variables endpoint has been removed. Use /receivables/variables or /payable_purchase_orders/variables instead.
  • Payables:
    • POST /payables/{payable_id}/mark_as_partially_paid now requires the pay permission for payables instead of update.
    • The subtotal and total_amount fields of payables are now automatically calculated based on the values of the line items, therefore, they are read-only and appear only in responses.
    • The subtotal and total fields of line items are now automatically calculated based on the unit_price, quantity, and tax fields, therefore, are read-only and appear only in responses.
    • The unit_price, subtotal, and total fields in payables and line items can now have negative values. Some vendors use this approach to specify discounts.
    • Removed the tax_account_id field from line item responses in favor of the new accounting_tax_rate_id field.
    • Removed the deprecated line_items field from /payables responses. Use the /payables/{payable_id}/line_items endpoints to access and manage the line items of a payable.
  • Approval policies and approval requests:
    • Script validation errors are now returned with HTTP status code 400 instead of 406.
    • event_name must be mentioned in the trigger script at least once on any nested level on policy creation. Triggers like "{invoice.amount > 1000}" are no longer valid and need to be rewritten as {"all": ["{invoice.amount > 1000}", '{event_name == "create"}']}.
  • Payments onboarding:
    • Uploading documents has been changed. Now, you first need to call the POST /files endpoint to upload a file, and then provide its id for the POST /onboarding_documents and POST /persons/{person_id}/onboarding_documents endpoints.
    • The new /onboarding_requirements endpoint should be used instead /entities/{id}/onboarding_requirements.
    • The new PATCH /onboarding_data endpoint should be used instead of the deprecated PUT /onboarding_data.

📘

For more information on what changes we consider breaking and non-breaking in our API, please refer to our Versioning policy.

Changelog

February 15, 2024

Breaking changes:

  • In MoniteScript, the only value allowed for the event_name field is submitted_for_approval. The event_name and invoice fields remain mandatory.

New features and improvements:

  • New field payable.ocr_status that reflects the current status of the OCR process of a payable. Its possible values are processing, error, and success.
  • New optional type field in the request body of the POST /receivables/:id/preview endpoint. You can use type=discount_reminder or type=final_reminder to preview reminder emails for a specific invoice. For more information, see Preview a payment reminder email.
  • PDF invoices generated by Australian entities now have currency amounts formatted accordingly.
  • New response_status_code field in the responses from GET /webhooks.

February 2, 2024

  • The turnaround time for processing a payable (including OCR data) received by email has reduced significantly.
  • New optional fields parsed to the other_extracted_data object in the responses of OCR-processed payables: sort_code and account_number.
  • New optional field unit parsed in the payables.line_items object in the responses of OCR-processed payables.
  • The requirement for at least one line item in a payable can be disabled in the partner's settings by calling PATCH /settings passing the new field enable_line_items as false (the default value is true).
  • New query parameters to GET /counterparts to find and filter counterparts by their bank details: account_number and sort_code.
  • New optional fields in invoices and quotes: deduction_amount and deduction_memo.
  • New partner setting receivable.deduction_title to provide a custom deduction title.
  • Added VAT rates and regulatory coverage for Denmark and Luxembourg.

January 24, 2024

Breaking changes:

  • The currency of products added as line items to invoices and quotes must now match the base currency of the invoice or quote itself. Monite does not support automatic currency conversion.

  • Changed the format of document_id values in invoices, quotes, and credit notes.

    • Invoices: INV-XXXX (previously invoice-XXXX)
    • Quotes: Q-XXXX (previously quote-XXXX)
    • Credit notes: CN-XXXX (previously credit-note-XXXX)
  • Removed the unused push_statuses setting from /accounting_sync_rules.

New features and improvements:

  • Added VAT rates and regulatory coverage for Austria and Finland.

  • Country codes provided by entities and counterparts in the Canary Islands (IC) and autonomous Spanish cities—Ceuta and Melilla (EA)—must adhere to the ISO 3166 standard for those regions.

  • Added new endpoint to get the role of the authenticated entity user: GET /entity_users/my_role.

  • Added new RBAC permission: payment_record. It is required to access the /payment_records endpoints using an entity user token.

  • Added the ability to customize the email sender name and username on all outgoing emails. For more information, see Domains and mailboxes.

  • Added new id__in query parameter to GET /counterparts. Use it to bulk fetch multiple counterparts by their IDs.

  • Added new query parameters to GET /receivables to filter invoices by due date: due_date__gt, due_date__lt, due_date__gte, due_date__lte.

  • Added the due_date field to invoice responses as a convenience alias for the existing field payment_terms.term_final.end_date.

  • Added new webhooks to notify partners about the status of accounting system connections:

    • accounting_connection.pending_auth
    • accounting_connection.connected
    • accounting_connection.deauthorized
    • accounting_connection.disconnected
  • Partner setting mail.attach_documents_as_pdf now also affects purchase order emails.

  • Added an optional payout_method field to payment intents. Currently, the only possible value is "bank_account".

January 11, 2024

  • Added a new endpoint to delete an entity logo: DELETE /entities/{entity_id}/logo.

December 19, 2023

The version 2023-09-01 is now publicly available to all Monite partners. To start using this version:

  1. Change the api_version setting in your partner settings (/settings) to 2023-09-01:

    curl -X PATCH 'https://api.sandbox.monite.com/v1/settings' \
         -H 'X-Monite-Version: 2023-09-01' \
         -H 'Authorization: Bearer YOURT_PARTNER_TOKEN' \
         -H 'Content-Type: application/json' \
         -d '{"api_version": "2023-09-01"}'
    
  2. Change the X-Monite-Version header value in all API calls to 2023-09-01. For example:

    curl -X GET 'https://api.sandbox.monite.com/v1/entities' \
         -H 'X-Monite-Version: 2023-09-01' \
         -H 'Authorization: Bearer ACCESS_TOKEN'
    

For more information, see How to upgrade.