Monite API changelog

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

April 24, 2025

Recurring invoice improvements

  • You can now control whether recurring invoices will be created as draft, issued, or issued and automatically sent. To do this, use the automation_level field in the recurrence configuration. You can set this option for each recurring invoice individually.

April 22, 2025

Accounts receivable

  • Improved filtering by product IDs. GET /receivables has new query parameters product_ids and product_ids__in to find all receivables that belong to one or more of the specified products:

    • /v1/receivables?product_ids=...: Return only receivables whose products include all of the products with the specified IDs and optionally other tags that are not specified.
    • /v1/receivables?product_ids__in=...: Return only receivables whose products include at least one of the products with the specified IDs.
  • Receivables improvements.

    • Improved handling of fulfillment date for invoices. The fulfillment_date field is now optional in countries where it’s not required for compliance. If not provided and the country requires it, we will auto-generate the value based on the issue_date field.
    • Introduced a new field footer for receivables.
    • Introduced the new fields external_reference and counterpart_external_reference to the counterparts and receivables objects, respectively, for internal counterpart references.
  • E-invoicing. When invoices or credit notes are sent via e-invoicing, the generated e-invoice XML is now stored and its link is available in the einvoice_file_url field. If the e-invoice is sent via email, the XML file is also attached to the email automatically.

April 15, 2025

Tags

  • Added support for tag_ids__nin filter operator in GET requests for the tag object to ensure that results exclude objects containing any of the specified tag IDs.

April 10, 2025

Accounting integration improvements

  • Added support for pushing invoices and credit notes that include discounts:

    • Discounts defined as a fixed amount are recalculated as percentage discounts when pushed into the accounting system.

    • Deductions and incentives are pushed as negative line items with 0% tax rate. If the entity’s accounting system has several 0% tax rates defined, use the entity setting accounting.tax_ids.deductions to specify which of those 0% tax rate to attach to the deduction line item.

  • Fixed an issue where products will very long descriptions could not be pulled from accounting systems.

April 8, 2025

Accounts receivable

We’ve improved the GET /receivables/required_fields endpoint that returns conditionally required invoice fields and counterpart fields to ensure invoice compliance.

This endpoint now supports the counterpart_country and counterpart_type query parameters to check the requirements for a particular country or counterpart type before creating said counterpart.

The two main usage scenarios are now as follows (spaces added for readability):

  • Check whether an organization or individual counterpart from the specified country needs tax_id and/or VAT ID to be specified on invoices:

    GET /receivables/required_fields
    ? counterpart_country = DE
    & counterpart_type = [organization | individual]
    [ & entity_vat_id_id = <...>]
  • Check whether an existing counterpart needs tax_id and/or VAT ID to be specified on invoices:

    GET /receivables/required_fields
    ? counterpart_id = <...>
    & counterpart_billing_address_id = <...>
    [ & entity_vat_id_id = <...>]

April 7, 2025

Payment record enhancements

We’ve extended the payments records functionality for partners who use external payment rails:

  • Added new fields to payment records:

    • payment_intent_status - user-defined string, can be used to mirror the payment intent status from external payment rails,

    • payment_method - user-defined string, for example, “card” or “cash”,

    • planned_payment_date - planned date for future scheduled payments,

    • status - possible values are created, processing, or succeeded.

      All payment records created before April 7, 2025 have been assigned the succeeded status.
  • Added new endpoints to manage the lifecycle of user-created payment records:

  • Added new query filters to GET /payment_records to filter results by created_at, object_type, paid_at, payment_intent_status, payment_method, planned_payment_date, status, or updated_at.

  • The paid_at field was changed from required to optional.

April 3, 2025

Accounts receivable

  • Improvements for VAT-inclusive pricing

    • Flexible discount options. Entities that use VAT-inclusive pricing can choose whether to apply discounts before or after VAT. This is controlled by the entity setting vat_inclusive_discount_mode. The default mode is exclusive, which means Monite first deducts VAT from a line item’s VAT-inclusive amount and applies the discount to the resulting taxable base. Another mode is inclusive, where discounts are applied to VAT-inclusive amounts.

      The value of this setting is also returned in the vat_inclusive_discount_mode field of invoice, quote, and credit note responses to indicate which mode each document uses.

      The vat_inclusive_discount_mode setting affects only flat amount discount and does not affect percentage discounts.
    • Adjusted the labels in PDFs to indicate when prices and subtotals include or exclude VAT.

  • PDF and email improvements

    • Hiding entity bank account from PDFs. We’ve added new entity settings document_rendering.<document_type>.display_entity_bank_account to control whether PDF invoices, quotes, and credit notes should include entity bank account information. By default, bank account details are included in PDFs but you can change the display_entity_bank_account setting to false to hide that information.

      /entities/{entity_id}/settings
      1{
      2 ...
      3 "document_rendering": {
      4 "credit_note": {
      5 "display_entity_bank_account": true
      6 },
      7 "invoice": {
      8 "display_entity_bank_account": true
      9 },
      10 "quote": {
      11 "display_entity_bank_account": true
      12 }
      13 }
      14}

      Hiding bank account details can be useful if the entity uses invoice payment links, this helps ensure that payments can be made only via payment links for automatic reconciliation.

      Payment link and QR code are always displayed in PDF invoices, even if bank account details are hidden.
    • PDF invoices created by Australian entities registered for GST now use the title “Tax Invoice” instead of “Invoice”.

    • Number formatting in PDFs and emails now uses decimal and thousand separators based on the entity country.

  • Longer product descriptions. The maximum length of product descriptions has been increased from 255 to 2000 characters. However, descriptions in PDF documents are currently trimmed down to 255 characters.

  • GET /receivables now supports sorting documents by total_amount.

  • Added new auto-calculated field subtotal_after_vat to invoice, quote, and credit note responses. It is the sum of subtotal and total_vat_amount. In other words, subtotal_after_vat contains the invoice subtotal including VAT and line item discounts but excluding invoice-level discount.

April 2, 2025

Accounts payable

OCR enhancements

  • The X-Monite-Entity-Id header is no longer mandatory for all /ocr_tasks* endpoints.
  • The request body field document_type of the POST /ocr_tasks endpoint is no longer mandatory. Now, if the field is not specified, the system will attempt to determine it automatically. The same applies to the document_type query parameter in the /ocr_tasks/upload_from_file endpoint.

March 26, 2025

OCR enhancements

We’ve updated the Monite OCR engine to support larger files:

  • File size limit has been increased from 10 to 20 MB.
  • Maximum number of pages allowed in multipage PDF files has been increased from 10 to 100.

Payments

  • Extended the default expiration time for payment links. Payment links created for payables and receivables will now expire 30 days after the invoice due date, unless specified otherwise. This change affects only newly created payment links.

March 25, 2025

Accounts receivable

  • The issue_date and due_date of issued invoices can now be updated in the non-compliant mode.

  • PDF invoices with payment links now include the payment link as text (in addition to a QR code). This way, desktop users can easy access payment links from PDF invoices.

E-invoicing improvements

  • Added support for sending e-invoices with discounts - both invoice-level discounts and line item discounts.

Payments

  • When a payment link expires, the associated payment intent is now automatically moved to the payment_cancelled status.
  • GET /payment_intents has a new query parameter object_id__in to bulk get payment intents associated with any of the specified invoices.

March 13, 2025

Accounts receivable

  • Improved PDF file naming. Previously, PDF invoices, quotes, and credit notes used UUIDs as file names, such as 3038dd44-9cce-464d-9e14-58f2fd121850.png. Now, Monite generates PDF file names in the format TYPE-DOCUMENTID.pdf, for example, Invoice-INV-12345.pdf or Quote-draft.pdf. Spaces and special characters are replaced with -.

    These file names are used for email attachments and when downloading PDFs from React SDK and Drop-in components.

  • Added a new auto-calculated field total_after_vat to line items in invoices, quotes, and credit notes. It contains the line item amount including discounts and VAT.

March 12, 2025

General

  • Deleting user roles. Use the new DELETE /roles/{role_id} endpoint to delete user roles that are no longer in use.

Accounts payable

  • Support for projects in purchase orders. Purchase orders can now be assigned to projects via the project_id field. Also, GET /payable_purchase_orders has the project_id query filter to find all purchase orders that belong to a specific project.

  • Improved sorting and filtering of payables and credit notes.

    • Payables can now be sorted by the issued_at field.

    • Added the issued_at, issued_at__gt, issued_at__gte, issued_at__lt, and issued_at__lte query parameters to:

      • GET /payables
      • GET /analytics/payables
    • Use the origin query parameter to find only documents received via e-invoicing, or via email, or uploaded directly to Monite. This parameter was added to:

      • GET /payables
      • GET /payables_credit_notes
      • GET /analytics/payables
      • GET /analytics/credit_notes
  • Unit price OCR adjustments. If a line item’s unit price extracted by OCR has more decimal points than can be precisely stored in Monite, that line item gets normalized as follows:

    • set the unit_price equal to the line item total amount,
    • set the quantity to 1.

    For example, an item with unit price € 0.1225 and quantity 8 is instead stored with unit price € 0.98 (0.1225 × 8) and quantity 1.

    This ensures precise calculation of subtotal and total amounts.

    Line items adjusted in this way have the ocr_set_quality_to_one field set to true.

March 10, 2025

Accounts receivable

  • Added new webhooks for quotes: receivable.accepted, receivable.declined, receivable.expired. These webhooks are triggered when a quote is moved to the corresponding status.

  • Increased the maximum pagination limit for GET /receivables from 100 to 250 items. The default limit is still 100.

  • Improved the performance of the GET /receivables endpoint.

Accounting integration improvements

PDF template improvements

  • The preview field of PDF templates now contains a link to a PNG preview image of the corresponding template. (Previously, the preview field returned null.)

    Response from GET /document_templates/{document_template_id}
    1{
    2 ...
    3 "language": "en",
    4 "name": "classic",
    5 "preview": {
    6 ...
    7 "md5": "4ac4b4238fa2fb93746c0a1eee98ed74",
    8 "mimetype": "image/png",
    9 ...
    10 "size": 235016,
    11 "url": "https://<bucketname>.s3.eu-central-1.amazonaws.com/sandbox/receivables/d7a112ef-0ef7-4ea7-ba1b-cbbb99990d81/6be7d826-e44d-40cc-834f-2c4808a0319e.png"
    12 },
    13 ...
    14}

    Previously:

    1{
    2 ...
    3 "language": "en",
    4 "name": "classic",
    5 "preview": null,
    6 ...
    7)

March 3, 2025

Accounting integration improvements

  • Improved tax rate matching. Invoice line items have a new field accounting_tax_rate_id. It allows users to reference a specific tax rate from the accounting system to be used when pushing an invoice to that accounting system. This can be useful if the accounting system contains several tax rates with the same value but only one of them is valid for a given Monite-generated invoice.

Accounts receivable

  • Improved filtering by projects. GET /receivables and GET /analytics/receivables have a new query parameter project_id__in to find all receivables that belong to one or more of the specified projects.

  • Fixed an issue with PATCH /overdue_reminders/{overdue_reminder_id} where passing terms=null did not unset the terms.

February 28, 2025

Payments

  • Payables (bills) paid via Monite will now be automatically moved from the paid status back to partially_paid or waiting_to_be_paid if the payment gets disputed or payout to the counterpart fails.
  • Payment links now support the decoupled authentication flow for Open Banking payments.
  • Payment records now support negative amount values to indicate chargebacks and refunds.

February 27, 2025

OCR

  • Receipt data recognition. Monite OCR can now extract text and financial data from digital and scanned receipts. Use the receipt document type when uploading receipts for OCR.

Accounts payable

February 26, 2025

  • Filtering entities by status. Use the new status parameter of GET /entities to find only active or inactive entities.
  • Monite OCR now sends the ocr_task.finished webhook when it finishes processing a file.
  • For Open Banking payments, Monite now normalizes the payment reference value passed to the payment processing provider to make it compatible with common bank requirements.

February 24, 2025

Credit note improvements (accounts payable)

Now, you can customize the required fields for credit notes. You can now control which fields must be filled in a draft credit note before it can transition to the new status. The following endpoints were added for this purpose:

February 21, 2025

New supported currencies

We’ve updated the list of supported currency codes:

  • Added BMD, BTN, FKP, GHS, IQD, LYD, SHP, SSP, SVC, TMT.
  • Replaced SLL (old leone) with SLE (new leone).
  • Removed HRK (as it was replaced by the euro in 2023).

Accounts receivable

  • Added new endpoint GET /receivables/required_fields to get conditionally required invoice fields for the given entity and counterpart.
  • Added new auto-calculated field total_vat_amounts[].taxable_amount to invoice, quote, and credit note responses. It contains the taxable amount for which the given VAT is calculated.

Analytics improvements

Purchase order improvements

  • PDF purchase orders now display the entity VAT ID if available.

February 19, 2025

Accounting integration improvements

  • Added support for pushing invoices to QuickBooks Online US accounts that use automated sales tax.

February 11, 2025

Monite OCR

  • Monite’s OCR now provides generic standalone endpoints for extracting text data from different types of documents across multiple formats, including PDF, JPG, and PNG.

February 3, 2025

Accounts receivable analytics

  • Monite analytics has been expanded to include accounts receivable. Use the GET /analytics/receivables endpoint as a data source for accounts receivable reports and charts to help entities monitor trends, track KPIs, and gain data-driven insights to optimize their cash flow.

Accounting integration improvements

  • Default general ledger account for products. Entities have a new setting accounting.ledger_account_ids.products. It specifies the ledger account to use when pushing products that do not have a ledger account assigned. For more information, see How data is synchronized.

January 31, 2025

Credit note improvements (accounts payable)

You can configure Monite to automatically link credit notes which have a payable reference to the appropriate payable during the credit note creation. Learn more.

January 29, 2025

Open Banking for Germany

We’ve expanded our payment coverage to include Open Banking payments in Germany. Payment links created for German payers can now include a bank transfer payment option.

This also expands the available payment options for accounts payable and accounts receivable:

  • German entities can use payment links to pay payables (bills).
  • EU and UK entities can receive invoice payments from their German counterparts via bank transfers.

January 24, 2025

Accounts receivable

  • New webhooks for invoices: receivable.overdue and receivable.uncollectible. These webhooks are triggered when an invoice is moved to the corresponding statuses.

  • Line item totals in PDF invoices, quotes, and credit notes are now displayed with up to four decimal places. This improvement aligns with a similar change made earlier to line item unit prices in PDFs.

January 22, 2025

Credit note improvements (accounts payable)

  • Credit notes analytics. Use the new GET /analytics/credit_notes endpoint to get real-time insights for credit notes with aggregated data and detailed breakdowns, filters, and metrics. Learn more.
  • Added the new partner setting payable.allow_credit_note_autolinking to allow credit notes to be automatically linked to their related payables.
  • The based_on field is no longer required when creating credit notes.

January 20, 2025

Credit note improvements (accounts payable)

January 16, 2025

Accounts receivable

  • Recurring invoice tweaks. The subject_text and body_text fields in recurring invoice configuration were changed from required to optional. Recurring invoices will be sent automatically only if both subject_text and body_text are provided, plus either recipients in the recurrence configuration or counterpart_contact.email in the base invoice.

  • PDF improvements. Unit prices in PDF invoices, quotes, and credit notes are now displayed with up to four decimal places. This allows for more precise display of prices in documents that use VAT-inclusive pricing.

December 23, 2024

Accounts receivable

  • Improved filtering by tags. New tag_ids query parameter in GET /receivables lets you find receivables that have all of the specified tags. In other words, this filter works as an AND and is an alternative to the existing tag_ids__in filter that works as an OR.

December 19, 2024

E-invoicing

  • Monite now integrates provides a global e-invoicing solution to help our partners to create and send e-invoices using the Monite API. This integration enables Monite clients to stay compliant in the regions where E-invoicing becomes mandatory. See more.

December 16, 2024

API version 2024-05-25 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 2024-05-25:

    1curl -X PATCH 'https://api.sandbox.monite.com/v1/settings' \
    2 -H 'X-Monite-Version: 2024-05-25' \
    3 -H 'Authorization: Bearer YOUR_PARTNER_TOKEN' \
    4 -H 'Content-Type: application/json' \
    5 -d '{"api_version": "2024-05-25"}'
  2. Change the X-Monite-Version header value in all API calls to 2024-05-25. For example:

    1curl -X GET 'https://api.sandbox.monite.com/v1/entities' \
    2 -H 'X-Monite-Version: 2024-05-25' \
    3 -H 'Authorization: Bearer ACCESS_TOKEN'

For more information, see How to upgrade.