My Products
Help

Knowledge base in Visma eAccounting API

Sort by:
Where to register bugs and requests
View full article
09-09-2019 16:37 (Updated 30-04-2020)
  • 0 Replies
  • 0 kudos
  • 1912 Views
Read about HTTP that the POST request should contain for access tokens
View full article
24-05-2019 13:38 (Updated 30-04-2020)
  • 0 Replies
  • 0 kudos
  • 3242 Views
Are you receiving a "ForbiddenRequestException - No access to module: api_standard" error message?   There are 2 reasons for this error message. 1. The API is not activated, in that case go to “Apps and extensions” under the settings tab, and make sure that the API is activated. or 2. A default company is set, that might cause you to login without a valid eAccounting license. Check again what company you are logging into and make sure it is not set to "Default" if it is, then we have an articles on how to change that, Default company-article.  
View full article
24-05-2019 13:07 (Updated 30-04-2020)
  • 0 Replies
  • 0 kudos
  • 2261 Views
Relevant documentation and contact to support.
View full article
24-05-2019 12:39 (Updated 30-04-2020)
  • 0 Replies
  • 0 kudos
  • 1876 Views
A step-by-step guide how to complete the startup guide in order to resolve  "Error: the startup guide has not been completed" 
View full article
24-05-2019 13:31 (Updated 02-10-2019)
  • 0 Replies
  • 0 kudos
  • 1764 Views
If you have several companies available in eAccounting, you will be able to select which company to Authorize for the Auth endpoint. The list of companies is available from a dropdown menu in eAccounting after logging in. If this menu is missing, the Default company setting might be turned on.   After logging in to eAccounting, go to the menu in the top right corner.   Press "Choose default company"     press the blue star (the default company) to remove it as default. And save!
View full article
24-05-2019 12:54 (Updated 02-10-2019)
  • 0 Replies
  • 0 kudos
  • 1844 Views
For more information regarding error messages when authenticating, see HERE For more information regarding error messages from the API server, see HERE
View full article
24-05-2019 13:09 (Updated 02-10-2019)
  • 0 Replies
  • 0 kudos
  • 1268 Views
When you receive an error code in the API, you should also find a message in the HTTP response. This will inform you as to the general error that has occurred.   When debugging the API request, we recommend using Fiddler.   If you need to contact support, please attach both the HTTP request and the response retrieved from Fiddler.
View full article
24-05-2019 13:38 (Updated 02-10-2019)
  • 0 Replies
  • 0 kudos
  • 1587 Views
A description of what you can find and how to use this community.
View full article
24-05-2019 12:05 (Updated 02-10-2019)
  • 0 Replies
  • 1 kudos
  • 1590 Views
Endpoint: PUT v2/fiscalyears/openingbalances   1. Usability The purpose of this endpoint is to allow the user to update its opening balances on the first fiscal year through the API using a simple collection of account numbers and their new opening balances. Below you can see the Opening Balance section as you would like to update in eAccounting. Opening Balance in eAccounting In order to achieve the same behavior through the API, the following payload should be used: Opening Balance in API As you can see the account numbers which we wanted to update in the web application can be found in the JSON, next to its balance. The new balances represent the new total amounts that we want to have on the specific accounts, which do not amount or diminish the previous ones but instead replacing them. You can also specify some or all the other accounts in the fiscal year, as long as the total amount balances or you set the balance as it currently is. The endpoint by default supports using inactive accounts in the JSON by automatically activating them. If you do not wish to allow this, set the parameter enableInactiveAccounts to false in which case validation will be thrown. Scenario 1 We have the following accounts with their current balances: account 1010 ; opening balance: 10 account 1229 ; opening balance: -10 all the other account have 0 opening balances We would like to update the balance on account 1010 to 20. In order to successfully accomplish that, we need to set up a new amount on another account based on the new difference. In this case we will use account 1229 to counter the new added amount. The required JSON will be : Scenario 1 Note: You can also use other accounts as long as the amounts balance or either their current amount is used. Scenario 2 We have the following accounts with their current balances: account 1010 ; opening balance: 10 account 1229 ; opening balance: 20 account 1210 ; opening balance: 30 account 1470; opening balance: -60 all the other accounts have 0 opening balances We would like to update the opening balance of another account, for example, 1220 to -20. Below is an example of a way of doing it: At a first glance, the amounts in the JSON do not balance. -20 + 50 = 30. But below you can observe all the accounts with their updated amounts: account 1010 ; opening balance: 10 account 1229 ; opening balance: 20 account 1210 ; opening balance: 50 (the account we have used to counterbalance the new amount) account 1470; opening balance: -60 account 1220; opening balance: -20 (the updated amount which we've entered) all the other accounts have 0 opening balances As a result 10 + 20 + 50 - 60 - 20 = 0. Success!   2. Quick tips and sum up about functionality since the opening balance always needs to sum up to 0, a minimum of 2 pairs of account - opening balance needs to be used. opening balance can only be updated on the first fiscal year, which depending on your case, might not be the current fiscal year. the endpoint supports the use of a minimum of 2 accounts up to the total number of accounts in the first fiscal year. Also, the use of inactive accounts is possible through the specific parameter, which will automatically activate it. the endpoint works by replacing the previous amounts, not by adding or subtracting to them. using the same amount on an account as it currently holds is possible, though it will not be updated. the whole chart of accounts on the fiscal year can be used in the JSON. This might be useful when complex amounts and calculations are required if validation is thrown stating that your new amounts do not balance, although the amounts in your JSON body do (example 1010: 20 ; 1020 : -20), please check the amounts currently hold on other accounts in the fiscal year. A good example is Scenario 2.
View full article
03-07-2019 10:39
  • 1 Replies
  • 0 kudos
  • 3180 Views
The endpoint "v2/customerinvoicedrafts/{customerInvoiceDraftId}/convert" unfortunately does not support sending invoices as an Autoinvoice.   A workaround to this is to do the following: Make sure the invoice is still a draft. Create "customerinvoicedraft" > add an attachment using "salesdocumentattachment" endpoint > convert the draft to an invoice using the "customerinvoice" endpoint with the properties "CreatedFromDraftId" and "sendtype".   Please see below example on what it can look like:   { "CustomerId": "2bab59cd-0e03-407e-bb59-9a1d1ca9bb02", "IsCreditInvoice": false, "RotReducedInvoicingType": 0, "RotReducedInvoicingPropertyName": null, "RotReducedInvoicingAmount": 0, "RotReducedInvoicingAutomaticDistribution": false, "Rows": [ {     "LineNumber": 0,     "ArticleId": "991d82e9-fdf6-4f4c-884b-517c2fa67adf",     "Text": "Lemon | 29,75 kr/kg",     "UnitPrice": 3.57,     "DiscountPercentage": 0,     "Quantity": 1 }, {     "LineNumber": 1,     "ArticleId": "991d82e9-fdf6-4f4c-884b-517c2fa67adf",     "Text": "Delivery org",     "UnitPrice": 22,     "DiscountPercentage": 0,     "Quantity": 1 } ], "YourReference": null, "OurReference": "", "EuThirdParty": false, "InvoiceDate": "2019-03-07", "DeliveryDate": "2019-03-07", "TermsOfPaymentId": "0f7c3ab0-0c02-46fe-b291-d8cd5ab445f7", "CreatedFromDraftId": "aa2902a2-118f-4505-b22e-ef38fc570dbe", "SendType": 2 }  
View full article
27-05-2019 12:38 (Updated 03-07-2019)
  • 0 Replies
  • 0 kudos
  • 1989 Views
While the access tokens have short (1 hour) expiry time, the refresh tokens have an expiry of 50 years. When the Access token expires, you are able to use the latest Refresh token acquired to get a new set of access and refresh tokens. Every new refresh token cancels the previous one.   Store the Refresh tokens safely, for example in a database or in the filesystem. Due to its long-lived nature, refresh tokens should always be stored safely. By saving them to permanent storage, you will also avoid having to enter your eAccounting user credentials, after for example a server reboot.
View full article
24-05-2019 13:41 (Updated 06-06-2019)
  • 0 Replies
  • 0 kudos
  • 1777 Views
Read about the two different ways of creating invoices; the “CustomerInvoices” endpoint and the “CustomerLedgerItems” endpoint.
View full article
24-05-2019 13:56 (Updated 06-06-2019)
  • 2 Replies
  • 0 kudos
  • 1995 Views
We are pleased to introduce the eAccounting API foundation training that covers the following topics: User Interface training Getting started with API API Client configuration Authorization and authentication Postman tool Frequently used endpoints Additional features of API How to Troubleshoot Procedures. The video below will contain a brief explanation of these topics, for more information, see the attached files in the bottom of this article.   To toggle between the chapters, press the menu button in the bottom-right-corner of the video.  
View full article
24-06-2020 10:21 (Updated 24-06-2020)
  • 1 Replies
  • 0 kudos
  • 12836 Views
Categories