News

Information about future and past API releases

Home  ⫽ News

Version releases

We are constantly developing new features to Procountor API. This page presents the planned changes in future version releases as well as release notes from past ones. For all interested ones, we recommend subscribing to our mailing list to get notifications from changes to the API.

Below are listed the past and planned version releases.

API version Release date Supported until
12 (supported) 15-06-2019 Q2/2020
11 (supported) 18-05-2019 Q1/2020
10 (supported) 16-03-2019 Q4/2019
9 (supported) 15-02-2019 Q4/2019
8 (supported) 19-01-2019 Q4/2019
7 (supported) 17-11-2018 Q3/2019

Future changes

Planned changes in the next few releases

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

Endpoints

  • POST /businesspartners New endpoint: for creating business partners.

Other

  • Adding collection fees to an invoice which is created through API.
  • Token scope management to allow finer grained access permissions.

Release notes

Changes in version 12

Endpoints

  • POST /invoices: It is now required to provide the VAT status of the invoices by filling the VATstatus field
  • GET /invoices/{invoiceId}: The invoices now provide the VAT status through the VATstatus field
  • GET: /company: The response model now contains the id of the corresponding accounting office
  • GET /attachments: Fetch attachments from Procountor. The user can search by date (start date - end date), name (file name), user (full name of the user), and receipt types.
  • POST /businesspartner: Create business partners through the API
  • For DELETE endpoints the response is 204 in case of success
  • Messages for wrong requests have been unified
  • Every endpoint response is now in JSON format

Other

VAT status and API versions The newest API version 12 requires a VAT status when creating new invoices through the API. In case the VATstatus field is empty, invoices cannot be created using API version 12. If necessary, use older API versions to create invoices without providing a VAT status. The VAT status will be populated in Procountor according to the VAT defaults.

Changes in version 11 in Q2/2019

Endpoints

  • In all endpoints where a 2-factor authentication is required (all /confirm endpoints), the field name value in the response model is changed to transactionIdentifier.
  • POST /payments/directbanktransfers : We added an optional customId field to the parameters. The endpoint processes requests and responds with paymentId, customId pairs, in which customId is given in the request. If customId is not provided in the response field, they are null.
  • POST /payments: We changed the response for the requests sent to this endpoint. The response model now contains a list of pairs of paymentId, invoiceId.
  • GET payments/errormessages: General error message type BANK_TRANSFER is renamed to DIRECT_BANK_TRANSFER.
  • GET payments/errormessages: receiptId is renamed to referenceId, generalReceiptType is renamed to referenceType.
  • PUT /ledgerreceipts/{receiptId}/invalidate: New endpoint to invalidate journal receipts.
  • PUT /ledgerreceipts/{receiptId}/unfinished: New endpoint to set the journal receipt status to unfinished.

Other

TLS Protocols

Procountor will permanently disable support for legacy TLSv1 and TLSv1.1 protocols in API interfaces starting from May 18th at noon (12:00). Currently, the supported version is TLSv1.2. If your API integration does not already use TLSv1.2, the integration will stop working after May 18th. Support for TLSv1.3 protocol will be added at the same time as the old protocols are deprecated. After the release, the supported versions are thus TLSv1.2 and TLSv1.3.

Possibility to change passwords

A new user interface has been added to allow API users to change their password. More information is available on the General Information.

Changes in version 10 in Q1/2019

Endpoints

  • GET /invoices and /invoices/{invoiceId}: Sales orders, offers and purchase orders are now supported
  • PUT invoices/{invoice-id}/paymentevents/markPaid and invoices/{invoice-id}/paymentevents/markPaid/confirm: Mark as paid for sales invoices has been merged to the same endpoint with other invoice types
  • Key confirmation requirement has been removed for mark as paid (concerns all invoice types)
  • PUT /invoices/{invoiceId}/approve: Invoice approval in API now supports sales invoices
  • PUT /invoices/{invoiceId}/send: API now supports sending sales invoices
  • PUT /users: Users can now update their personal information via PUT /users
  • POST /attachments: API now supports "send with invoice" functionality in sales invoices’ attachments

Changes in version 9 in Q1/2019

Endpoints

  • PUT invoices/pay will soon be deprecated
  • GET /invoices/{invoiceId}/comments: New endpoint for getting comments related to invoices
  • POST /invoices/{invoiceId}/comments: New endpoint for posting comments related to invoices
  • PUT /invoices/{invoiceId}/paymentevents/markPaid: New endpoint for marking sales invoices, purchase invoices, travel and expense invoices, salary slips and self-assessed tax returns as Marked paid
  • DELETE /invoices/{invoiceId}/paymentevents/{paymentEventId}/: New endpoint for removing Marked paid payment events. (Note: If the event is related to a real payment, the previously created endpoint DELETE /payments is used instead)

Other

  • API logout now removes the refresh token and all related access tokens
  • GET /invoices: Expanded the parameters with new data fields; createdStartDate, createdEndDate, versionStartDate, versionEndDate, orderByCreated, orderByVersion
  • GET /ledgerreceipts: Expanded the parameters with new data fields; createdStartDate, createdEndDate, versionStartDate, versionEndDate, orderByDate, orderByCreated, orderByVersion
  • POST /payments: Added support for foreign payments, express payments and direct bank transfers

Changes in version 8 in Q1/2019

Endpoints

  • PUT invoices/pay will soon be deprecated
  • GET /payments: New endpoint for getting payment transactions
  • POST /payments: New endpoint for paying invoices
    • Supports only bank transfer and requires that the user has full rights to payments and to the receipt type in question
    • This will replace PUT /invoices/pay, which can be still used in version 8 but will be deprecated later
  • PUT /payments/cancel: New endpoint for canceling a payment transaction, when the payment is still waiting to be transferred to bank (payment status is "payment queued")
  • DELETE /payments: New endpoint for removing a payment transaction, when the payment is already transferred to bank (payment status is "payment sent to bank")
  • PUT /payments/confirm: New endpoint for confirming actions
  • GET /invoices/paymentevents: New endpoint for getting all payment data related to the invoices, including "Paid elsewhere"

Other

  • The new payments endpoint will introduce a new way of 2-step verification via API, which will also be utilized in specific endpoints in the future. We will publish a more specific documentation of the new way on our developer site after the January version release.

Changes in version 7 in Q4/2018

Endpoints

  • GET /paymenterrors: New endpoint for getting payment errors and their details with creation date or error status
  • PUT /company: New endpoint for updating the basic info of the company in Procountor
  • GET /sessioninfo: New endpoint for getting information of the current user

Other

  • GET /users: expanded with several new data fields; First name, Last name, Email address and Mobile phone number with country code (e.g. +358 50 xxx xxxx)
  • GET /company: expanded with several new data fields; Business ID, Contract type, Postal address, Billing address and in Norwegian environments also MVA (dropdown) and Trade register (checkbox)
  • A limit of 10,000 characters has been set on the invoice field additionalInformation

Changes in version 6 in Q3/2018

Endpoints

  • GET /businesspartners: New endpoint for getting all business partners (customers, suppliers, persons) from the registers in specific Procountor environment
  • GET /ledgerreceipts: Added support for all ledger receipt types
  • GET /referencepayments: New endpoint for getting reference payment data
  • GET /businesspartners/{id}: Added coverage for several data fields
  • GET /attachments: Added support for reference payments as referenceType
  • POST /attachments: Added support for reference payments as referenceType
  • PUT /businesspartners (customer and supplier): New endpoint for updating customer and supplier information
  • POST /dimensions: New endpoint for creating dimensions and their items

Other

  • Secured token requests Added support for supplying authorization code and especially client secret as request body parameters instead of supplying them as URL parameters when getting access and request tokens.

Changes to version 5 in Q2/2018

During Q2/2018, we have released a few minor updates to API version 5:

Endpoints

  • GET /company: New endpoint for providing basic information regarding currently logged in company.
  • GET /ledgerreceipt: Support for travel and expense invoices.
  • PUT /ledgerreceipt: Support for travel and expense invoices.

Changes to version 5 in Q1/2018

During Q1/2018, we have released a few minor updates to API version 5:

Endpoints

  • GET /products: Added search parameters for product validity. May be used with travel/expense products.
  • POST /invoices: Parameter vatCountry can now be supplied regardless of foreign VAT special right.

Resources

  • Invoice: Added a field for bank clearing code. Allows to post invoices with clearing as payment method.
  • Invoice: Fixed an issue which prevented from creating an invoice without a reference number. Clarified documentation.

Changes in version 5 update 12/2017

An incremental update to API version 5 took place on 18th December 2017.

  • GET /businesspartners/personaldetails: New endpoint for getting basic information of the current user from the person register.
  • GET /products/({id}): Product objects now contain localised names for travel and expense invoice products when includeLocalizations parameter is given.
  • GET /products/({id}): Travel and expense invoice products no longer require access rights to product register (they are standardised and public information).
  • GET and POST /invoices: Fixed to also work for users with Personnel role in Procountor.

Changes in version 5

Endpoints

  • GET /userinfo/profiles/{userId}: New endpoint for getting basic information of persons in the current company.
  • GET /products/groups: New endpoint for fetching a list of product groups by product type.
  • GET /products: Now accepts type and group parameters for search.
  • GET /currencies: New endpoint for getting all currencies used in Procountor.
  • GET /currencies/company: New endpoint for getting the currency of the current company.
  • GET /currencies/latest: New endpoint for getting the latest currency rates.
  • GET /currencies/exchangerate: New endpoint for getting exchange rates between two currencies for a given day.
  • GET /vats/default: New endpoint for getting all VAT percentages and related information in the current company.
  • GET /vats/country: New endpoint for getting a list of VAT percentages used in a given country.

  • POST /invoices: Now supports travel invoices.

  • PUT /invoices/{invoiceId}/approve: Supports commenting the invoice.
  • PUT /invoices/{invoiceId}/verify: Supports commenting the invoice.
  • PUT /invoices/{invoiceId}/sendToCirculation: New endpoint for sending travel invoices to circulation.

Resources

  • Data model for purchase, travel and expense invoices now contains user IDs of verifiers and approvers.

Other

  • Introducing refresh tokens. Starting from API version 5, access tokens expire in a predefined time and can be renewed by using refresh tokens. Documentation is available here.

Version 4 release notes

Endpoints

  • GET /products: Implemented pagination. (breaking change)
  • GET /ledgerreceipts: Implemented and documented proper pagination. (breaking change)
  • GET /invoices: Now supports expense invoices.
  • GET /invoices/{invoiceId}: Now supports travel and expense invoices.
  • PUT /ledgerreceipts/{receiptId}: Now supports ledger receipts for sales and purchase invoices. This functionality allows to e.g. define ledger accounts and add dimensions to invoices.
  • PUT /invoices/{invoiceId}/approve: Now supports travel and expense invoices.
  • PUT /invoices/{invoiceId}/verify: New endpoint for verifying purchase, travel and expense invoices.

Resources

  • Invoice: If referenceNumber field is empty when creating an invoice, a reference number is generated by Procountor.
  • Invoice: Added invoiceNumber field.
  • Invoice: Added attachments field containing a list of attachment details.
  • Invoice: Added fields related to travel/expense invoices.
  • LedgerReceipt: Extended to cover all UI fields.
  • Transaction: Extended to cover all UI fields.
  • Transaction: Removed reversingEntry field and introduced transactionType field. (breaking change)

Other

  • Documented validation error codes.

Version 3 release notes

  • Introduced a new endpoint GET /invoices for searching invoices. The endpoint returns a paginated list of invoice metadata. Full invoice details can be fetched by using the GET /invoices/{id} endpoint. The invoice search supports sales, purchase, travel and periodic tax return invoices.
  • GET /invoices/{id} now supports periodic tax return invoices.
  • Added notes field to invoice model.
  • Response for posting an invoice now contains ledgerreceiptId.
  • For consistency with the UI, a BIC code (paymentInfo.bankAccount.bic) cannot be specified for sales invoices anymore.
  • Invoice orderReference field is now limited to max 70 characters as is in the UI.
  • Added support for state parameter in OAuth flow.
  • Improved API documentation.

Version 2 release notes

  • New API URLs
  • JSON serialization was changed: empty strings and null values are no longer added to JSON response
  • GET /businesspartners/
  • All three type of Partners can be queried: PERSON, CUSTOMER and SUPPLIER
  • Invoice.deliveryMethod now uses a limited set of values.
  • User rights checks in /products endpoint had a bug that caused them to be too lenient. This has been fixed.
  • Added support for posting sales invoices
  • New endpoint for attachments
  • Sales invoice field "notes" has been renamed "additionalInformation"
  • Added GET /fiscalyears