Release Notes

Information about future and past API releases

Version releases

We are constantly adding new features to Procountor API. This page has the planned changes in future releases as well as release notes for the current ones. For anyone interested, we recommend subscribing to our mailing list to get notifications about API changes as soon as they become available.

Subscribe to our mailing list

Currently available API versions

Procountor API version diagram

API Path Version Release Date Support Ends
/latest Monthly release with no extended support. However, if new API version isn't released, it will continue to have the previous release
/supported 23.08 Updated to the latest numbered version every three months
/v2308 23.08 2023-08-19 mid-May 2024
/v2305 23.05 2023-05-20 mid-Feb 2024
/v2302 23.02 2023-02-18 mid-Nov 2023

You can find the version update schedule from Procountor news and announcements site.

Old Public testing server is shutdown

  • The old Public testing server (PTS) was shutdown in 19.6.2023 . You won't be able to access your testing environments in old PTS anymore. To request access to the new PTS, please use the form in Request Testing Environment.

Release notes

Changes highlighted in red are not backwards compatible

Planned changes for the future

  • A new feature for receipt serial numbering is being released in the fall of 2023 for Swedish and Danish customers. When a journal receipt has been serialised at the closing of financial year, it can no longer be moved to unfinished or invalidated state, in order to preserve a gapless series. Because of this, journals with serial number can not be moved to Unfinished via PUT /ledgerreceipts/{receiptId}/unfinished or to Invalidated via PUT /ledgerreceipts/{receiptId}/invalidate
  • API UI login page will cease to support following old browsers in the near future (exact date will be communicated later):
    • Internet Explorer, all versions
    • Safari 9, or older

Changes in version 23.09

Endpoints

  • To increase security, from now onwards request sent with URL parameters during API and M2M authentication in the following endpoints will receive HTTP 403 error code. This affects all API versions. But if you are already sending request parameters in body and not as params in URL - no change is required on your side.

    • /api/oauth/token
    • /api/oauth/key

  • We have added a new endpoint GET /invoice/{invoiceId}/image to fetch invoice image as PNG, one page at a time.

  • GET /products endpoint now supports filtering by product name, including part of product name.
  • In GET /businesspartners endpoint, it is now possible to filter business partners by part of partner name. Earlier, name header parameter supported only full match.

Changes in version 23.08

Endpoints

  • Following query parameters will no longer be supported. This change will affect all API versions. Those sensitive data need to be provided instead in their respective HTTP request headers.
    • username in GET /attachments
    • accountNumber in GET /bankstatements
    • name and identifier in GET /businesspartners
    • accountNumber in GET /referencepayments

Changes in version 23.06

Endpoints

  • In following endpoints, sensitive data can now be sent in HTTP header, which is the preferred way. This is supported in all API versions. Please note from Procountor release version 78.0.0 (API version 23.08) onwards, these data can't be sent in query parameters anymore.
    • username in GET /attachments
    • accountNumber in GET /bankstatements
    • name and identifier in GET /businesspartners
    • accountNumber in GET /referencepayments
  • When the invoice is paid in foreign currency, new optional fields paidCurrency and paidAmount in GET /invoices/{invoiceId}/paymentevents endpoint allows you to now view the payment events for the specified invoice in the paid currency.
  • When the invoice is paid in foreign currency, new optional fields paidCurrency and paidAmount in GET /invoices/{invoiceId}/paymentevents/{paymentEventId} endpoint allows you to now view the specified payment event for the specified invoice in paid currency.
  • When the invoice in foreign currency is marked as paid, new optional fields paidCurrency and paidAmount in GET /invoices/{invoiceId}/paymentevents/markpaid endpoint allows you to now view the amount in the paid currency.

Others

  • To login faster in API UI login page, it's now possible to save password in the browser so that credentials can be autofilled in the next login.
  • User can now easily choose the company to acccess to in API UI login page. As user types text in the company dropdown list, list gets sorted/filtered.

Changes in version 23.05

Endpoints

  • Batch endpoint GET /products/{ids}
    • Can now fetch up to 200 product details at a time when comma separated list of product IDs is sent in the request URL
    • Only resources with valid IDs are returned. The items in the result list are ordered by productID and does not contain duplicates
    • When multiple resources are requested, the result will contain a list of resources - even for 1 returned product details
    • When only a single ID is specified in the request, the return model will be same as in GET /products/{productId}
    • If more than 200 IDs are given, 400 error response is returned. If all the given IDs are invalid, 404 error response is returned. As long as the list of IDs contains at least one valid ID, the request won't return an error

No new API release in April, 2023

No new API release in March, 2023

Changes in version 23.02

Endpoints

  • POST /payments endpoint now requires mandatory field invoiceVersion to ensure correct invoice is paid. Invoice's version can be fetched from GET /invoices/{invoiceId} or GET /invoices endpoints.
  • In POST /reports/generalledger{id} we have added the possibility to filter general ledger accounting report for the given ledger account by supported accountingCoaLanguages mentioned in GET /company.
  • In POST /reports/ledgeraccounts we have added the possibility to filter ledger accounts accounting report by supported accountingCoaLanguages mentioned in GET /company.
  • In POST /reports/accounting we have added the possibility to filter income statement, balance sheet and cash flow accounting reports by supported accountingCoaLanguages mentioned in GET /company.
  • In the following API endpoints, maximum pagination size has been increased to 200. i.e size request parameter will now accept maximum value up to 200. If size isn't given, 50 will be set as default, as before
    • GET /attachments
    • GET /bankaccounts
    • GET /bankstatements
    • GET /businesspartners/groups
    • GET /businesspartners
    • GET /factoringcontracts
    • GET /invoices
    • GET /invoices/{invoiceId}/paymentevents
    • GET /ledgerreceipts
    • GET /payments
    • GET /payments/directsalarypayments
    • GET /payments/errormessages
    • GET /products
    • GET /referencepayments
    • GET /webhooks

Changes in version 23.01

Endpoints

  • In PUT /bankstatements/{statementId}/events/{eventId}/metadata endpoint, instead of ledgerAccount object ledgerAccountCode should be given in the request body.
  • In PUT /referencepayments/{referencePaymentId}/metadata endpoint, instead of ledgerAccount object ledgerAccountCode should be given in the request body.
  • In POST /invoices and PUT /invoices/{invoiceId} endpoints, if invoice channel is MAIL in sales invoice and sales order, billingAddress.city will be required. If billingAddress isn't given in the request, it must be specified in counterPartyAddress.city.
  • New field version has been added in the GET /invoices/{invoiceId} endpoint, whose value is automatically generated by Procountor and updated every time invoice is modified. Earlier invoice version was returned only in GET /invoices.
  • GET /currencies/exchangerate endpoint now returns error code 404 instead of 500, when exchange rate can't be found.
  • If required fields in billingAddress are missing in POST /invoices and PUT /invoices/{invoiceId} endpoints, API error response now tells which field it is.

Other

Changes in version 22.12

Endpoints

  • New optional fields headerText and explanationTexts have been added to InvoiceRow used in the GET /invoices/{invoiceId}, POST /invoices and PUT /invoices/{invoiceId} endpoints to support header and explanation texts in sales offers, sales orders and sales invoices. Header texts are shown before the product row and explanation texts after the product row comment. They both support maximum 512 characters.
  • New field active has been added in the GET /coa endpoint to indicate if the ledger account is active or not.
  • New field accountingCoaLanguages has been added to GET /company endpoint to return list of languages supported for accounting coa in the company environment.
  • POST /reports/ledgeraccounts, POST /reports/accounting and POST /reports/generalledger/{id} endpoints have now been fixed so that they return same results as in Procountor UI when filtered by reportStatus.
  • If mandatory fields are missing when receipt type is SALES_INVOICE and invoice channel ELECTRONIC_EINVOICE, POST /invoices and PUT /invoices/{id} endpoints now return proper field in API error response.

Other

  • Added missing description in API reference documentation for idin POST /reports/generalledger/{id}.
  • When field given in the request body is unsupported, API error message now correctly mentions field is invalid instead of its value. This has been fixed for all API endpoints.

Older release notes

Older release notes can be found from their own page.

Old release notes