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

The currently available API versions are:
API version Release date Support ends
latest monthly release with no extended support
20.08, supported 2020-08-15 mid-February 2021
20.04 2020-04-18 mid-November 2020
Legacy authentication method April 2021

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

Procountor API version diagram

Planned changes

The following features are on the backlog of our development team but not necessarily with a confirmed schedule. They are presented in no specific order.

  • Batch GETs
  • New webhooks

The legacy authentication method is considered deprecated and will be removed from production in April 2021.

Release notes

Changes highlighted in red are not backwards compatible

Changes in version 20.10

Endpoints

  • GET /bankstatements endpoint now supports paging. The paging mechanics are described here. With default settings this endpoint no longer returns more than 50 bank statements at a time.
  • GET /businesspartners/{id} endpoint is now returning the intended values for additionalInfo.invoiceLedger field. These values are INVOICE_LEDGER and CLEARING.
  • Fields name, type and version are no longer mandatory in PATCH /businesspartners/{id} request body. The version field is still required, but can be given either as a query parameter or in the request body.
  • Validations in PATCH /businesspartners/{id} have been updated to match validations in other businesspartners endpoints.
  • EDI identifier field ediId has been added to the einvoiceAddress structure used in GET /invoices/{id}, POST /invoices and PUT /invoices/{id} endpoints. This optional field is used with Finnish environments.
  • GET /users/otp - This endpoint has been removed. The OTP functionality offered by this endpoint is no longer used in the rest of the API. All two-factor authentication in the API is now handled using the Finago Key app.

Changes in version 20.09

We have added OAuth 2.0 Client Credentials flow to our API authentication. This authentication method is especially suitable for machine-to-machine integrations where the user is not actively involved during the API transactions. You can read more about this authentication method from the M2M authentication page. The Client Credentials flow is usable with all API versions.

Changes in version 20.08 (supported)

The format of Procountor API access tokens and refresh tokens has been changed to JWT. This change affects all API versions.

All new access and refresh tokens will be issued in JWT format. The old format refresh tokens will continue to function normally until their specific expiration dates.

The size of the tokens is up to 512 bytes for access tokens and up to 1024 bytes for refresh tokens.

The JWT tokens encode additional information, including user, audience, and expiration date. Detailed information of the tokens' contents is available on the API authentication page.

Changes in version 20.06

Endpoints

  • PUT /businesspartners/{id} - Renewed endpoint for updating business partners. The old functionality is available using PATCH /businesspartners/{id}.
  • The referenceCode field has been renamed to bankReferenceCode in GET /invoices/{id}, POST /invoices and PUT /invoices/{id} endpoints.
  • The generatedReferenceType field has been renamed to bankReferenceCodeType in GET /invoices/{id}, POST /invoices and PUT /invoices/{id} endpoints. If present, the value in this optional field is used to validate the value given in the bankReferenceCode field.

Changes in version 20.05

Endpoints

  • PUT /businesspartners/{id} endpoint has been changed to PATCH /businesspartners/{id}. The functionality remains the same.
  • The response models for GET /invoices/{id} and POST /invoices now show the same information. Missing fields were added to both models and the numeric precision in the existing fields was adjusted to match.
  • Address validation rules in POST /invoices and PUT /invoices/{id} now match the rules in the UI
  • POST /payments now correctly handles payment methods not allowed in the UI.
  • GET /users/rights - A new endpoint for getting access rights for the currently logged in user

Other

  • We have changed the way unset reference ids are returned by all API endpoints. In case the returned JSON object contains reference id field with no value the field will be returned as null. This changes the behaviour in some of the endpoints where 0 or "" value was returned before.
  • The following id fields can now be found with new names. The old fields have been marked as deprecated and will be removed in the future.
    Model / Schema New field Old field
    BasicPaymentTransactionData id paymentId
    BusinessPartnerBasicInfo id registerId
    FactoringContract id contractId
    LedgerReceipt id receiptId
    LedgerReceiptBasicInfo id receiptId
    PaymentEvent id paymentEventId
    PaymentRowInfo id paymentId
    PersonalDetails partnerId personId
    Transaction id transactionId
    User
     
    id
    partnerId
    userId
    personRegisterId
  • Number of previously generalized error conditions now return more specific error codes and messages.
  • Errors caused by failing validation rules have been clarified.

Changes in version 20.04 (supported)

Endpoints

  • GET /businesspartners/{id}/defaults/products - A new endpoint for getting the default products for a given business partner.
  • GET /businesspartners/{id}/defaults/accounts - A new endpoint for getting the default accounts for a given business partner.
  • POST /businesspartners endpoint has been extended to support all fields except id, attachments and version.
  • E-Invoice addresses given to business partners using POST /businesspartners or PUT /businesspartners/{id} endpoint are now validated against used environment and country.

Changes in version 20.03

Endpoints

  • PUT /invoices - A new endpoint for modifying existing invoices. The invoice type, status or attachments cannot be modified using this endpoint.
  • PUT /invoices/{invoiceId}/notes - A new endpoint for modifying the internal notes of an invoice.
  • PUT /referencepayments/metadata endpoint has been renamed to PUT /referencepayments/{referencePaymentId}/metadata.
    The targetResourceId parameter has been removed from the request body and reintroduced as the referencePaymentId path parameter. The request body now consists only from a list of AllocationMetadataRows.
  • DELETE /referencepayments/metadata/{referencePaymentId} endpoint has been renamed to DELETE /referencepayments/{referencePaymentId}/metadata.
  • PUT /invoices/pay endpoint has been removed. Note that this is different from POST /payments and PUT /invoices/{invoiceId}/payments/markpaid endpoints, which provide means to pay invoices or mark invoices as paid.
  • POST /payments - A new field has been added bankReferenceCodeType. If present, the information in this optional field is used to validate the value given in the bankReferenceCode field.
  • POST /payments/directbanktransfers - A new field has been added to the endpoint: bankReferenceCodeType. If present, the information in this optional field is used to validate the value given in the bankReferenceCode field.
    This field replaces the fikGikCode field. Implementations relying on fikGikCode must switch to this field, and its corresponding values: GIK01, GIK04, GIK15, FIK71, FIK73, FIK75.
  • POST /payments/directsalarypayments - A new field has been added: bankReferenceCodeType. If present, the information in this optional field is used to validate the value given in the bankReferenceCode field.
  • POST /payments - DENMARK_EXPRESS_PAYMENT is no longer a supported paymentMethod with this endpoint.
  • POST /payments/directbanktransfers - DENMARK_EXPRESS_PAYMENT is no longer a supported paymentMethod with this endpoint.
  • Invoice row ordering given to POST /invoices endpoint is now preserved.
  • Invoice rows returned by GET /invoices/{invoiceId} now follow the ordering given using the POST /invoices endpoint or in the UI.
  • GET ​/invoices​/{invoiceId}/paymentevents now returns description for the payment event.
  • PUT /invoices/{invoiceId}/payments/markpaid - It is now possible to mark credit invoices as paid (payments with negative amounts) using this enpoint.

Other

  • Marking sales invoices paid using PUT /invoices/<invoiceId>/paymentevents/markpaid no longer requires full rights for "Mark paid elsewhere". Viewing rights suffice just like in the UI.
  • API error messages have been clarified.

Changes in version 20.02

Endpoints

  • GET /invoices/{invoiceId}/paymentevents/{id} - A new endpoint for getting single payment events.
  • You can now use originalInvoiceNumber to filter results returned by GET /invoices.
  • Invoice rows returned by GET /invoices/{invoiceId} now have an unique id.
  • Field names in GET /businesspartners have been changed to match field names in GET /businesspartners/{id} as follows:
  • codeinvoicingInfo/identifier
  • codeTypeinvoicingInfo/identifierType
  • customerNoinvoicingInfo/customerNumber
  • activeregistryInfo/active

Other

  • Performance issues in GET /bankstatemets have been addressed.
  • Pagination related bug in GET endpoints' metadata has been fixed.
  • Electronic invoice address validation bug affecting Swedish environments has been fixed.

Older release notes

Older release notes can be found from their own page.

Old release notes