V2 Migration guide
V1 End of life
Visma eAccounting API V1 has been publicly available for many years, but from 30th of June 2023 it’s time to say goodbye.
It’s been more than four years since we released V2 and the vast majority of users consume the latest version of the API. In order to make room for technical improvements and future versions of the API, we are deprecating V1.
This FAQ is here for you who is in the process of migration to V2.
What do you need to do?
You need to migrate your calls to V2 of each corresponding endpoint. All V1 endpoints have a corresponding V2 endpoint. If you encounter any problems you can always contact our API support: [email protected] (Sweden) / [email protected] (Norway & Netherlands).
The following endpoint will be deprecated and needs to be migrated to its corresponding V2 endpoint:
Version 1 endpoint | Version 2 endpoint |
---|---|
GET /v1/accountbalances/{date} | GET /v2/accountbalances/{date} |
GET /v1/accountbalances/{accountNumber}/{date} | GET /v2/accountbalances/{accountNumber}/{date} |
GET /v1/accounts/{fiscalyearId} | GET /v2/accounts/{fiscalyearId} |
GET /v1/accounts/{fiscalyearId}/{accountNumber} | GET /v2/accounts/{fiscalyearId}/{accountNumber} |
GET /v1/articleaccountcodings | GET /v2/articleaccountcodings |
GET /v1/articleaccountcodings/{articleAccountCodingId} | GET /v2/articleaccountcodings/{articleAccountCodingId} |
GET /v1/articlelabels | GET /v2/articlelabels |
POST /v1/articlelabels | POST /v2/articlelabels |
GET /v1/articlelabels/{articleLabelId} | GET /v2/articlelabels/{articleLabelId} |
PUT /v1/articlelabels/{articleLabelId} | PUT /v2/articlelabels/{articleLabelId} |
GET /v1/articles | GET /v2/articles |
POST /v1/articles | POST /v2/articles |
GET /v1/articles/{articleId} | GET /v2/articles/{articleId} |
PUT /v1/articles/{articleId} | PUT /v2/articles/{articleId} |
POST /v1/attachmentlinks | POST /v2/attachmentlinks |
GET /v1/attachments/{attachmentId} | GET /v2/attachments/{attachmentId} |
POST /v1/attachments | POST /v2/attachments |
GET /v1/bankaccounts | GET /v2/bankaccounts |
GET /v1/companies | GET /v2/companysettings |
GET /v1/costcenteritems/{itemId} | GET /v2/costcenteritems/{itemId} |
PUT /v1/costcenteritems/{itemId} | PUT /v2/costcenteritems/{itemId} |
POST /v1/costcenteritems | POST /v2/costcenteritems |
GET /v1/costcenters | GET /v2/costcenters |
GET /v1/currencies | GET /v2/currencies |
GET /v1/customerinvoicedrafts | GET /v2/customerinvoicedrafts |
POST /v1/customerinvoicedrafts | POST /v2/customerinvoicedrafts |
DELETE /v1/customerinvoicedrafts/{invoiceDraftId} | DELETE /v2/customerinvoicedrafts/{customerInvoiceDraftId} |
GET /v1/customerinvoicedrafts/{invoiceDraftId} | GET /v2/customerinvoicedrafts/{invoiceDraftId} |
PUT /v1/customerinvoicedrafts/{invoiceDraftId} | PUT /v2/customerinvoicedrafts/{customerInvoiceDraftId} |
GET /v1/customerinvoicelistitems | GET /v2/customerinvoices |
GET /v1/customerinvoicelistitems/{customerId} | GET /v2/customerinvoices/ - Filter on CustomerId using $filter oData parameter. |
GET /v1/customerinvoices/{invoiceId} | GET /v2/customerinvoices/{invoiceId} |
POST /v1/customerinvoicespaidbycreditcard | POST /v2/customerinvoices with payment card terms of payment |
GET /v1/customerledgeritems | GET /v2/customerledgeritems |
POST /v1/customerledgeritems | POST /v2/customerledgeritems |
GET /v1/customerledgeritems/{customerLedgerItemId} | GET /v2/customerledgeritems/{customerLedgerItemId} |
POST /v1/customerledgeritems/ customerledgeritemswithvoucher | POST /v2/customerledgeritems/ customerledgeritemswithvoucher |
GET /v1/customerlistitems | GET /v2/customers |
GET /v1/customers/{customerId} | GET /v2/customers/{customerId} |
PUT /v1/customers/{customerId} | PUT /v2/customers/{customerId} |
POST /v1/customers | POST /v2/customers |
GET /v1/deliverymethods | GET /v2/deliverymethods |
GET /v1/deliveryterms | GET /v2/deliveryterms |
GET /v1/fiscalyears | GET /v2/fiscalyears |
GET /v1/fiscalyears/{id} | GET /v2/fiscalyears/{id} |
GET /v1/foreignpaymentcodes | GET /v2/foreignpaymentcodes |
GET /v1/orderlistitems | GET /v2/orders |
GET /v1/orderlistitems/{customerId} | GET /v1/orders - Filter on CustomerId using $filter oData parameter. |
GET /v1/orders/{orderId} | GET /v2/orders/{orderId} |
PUT /v1/orders/{orderId} | PUT /v2/orders/{orderId} |
POST /v1/orders | POST /v2/orders |
DELETE /v1/partnerresourcelinks/{partnerResourceLinkId} | DELETE /v2/partnerresourcelinks/{partnerResourceLinkId} |
GET /v1/partnerresourcelinks/{partnerResourceLinkId} | GET /v2/partnerresourcelinks/{partnerResourceLinkId} |
PUT /v1/partnerresourcelinks/{partnerResourceLinkId} | PUT /v2/partnerresourcelinks/{partnerResourceLinkId} |
GET /v1/partnerresourcelinks | GET /v2/partnerresourcelinks |
POST /v1/partnerresourcelinks | POST /v2/partnerresourcelinks |
GET /v1/projects | GET /v2/projects |
POST /v1/projects | POST /v2/projects |
GET /v1/projects/{projectId} | GET /v2/projects/{projectId} |
PUT /v1/projects/{projectId} | PUT /v2/projects/{projectId} |
DELETE /v1/supplierinvoicedrafts/{supplierInvoiceDraftId}/ allocationperiods | DELETE /v2/supplierinvoicedrafts/{supplierInvoiceDraftId}/allocationperiods |
GET /v1/supplierinvoicedrafts/{supplierInvoiceDraftId}/ allocationperiods | GET /v2/allocationperiods - Filter on SupplierInvoiceDraftId using $filter oData parameter. |
POST /v1/supplierinvoicedrafts/{supplierInvoiceDraftId}/ allocationperiods | POST /v2/allocationperiods using the new properties for SupplierInvoiceDraftId and SupplierInvoiceDraftRow |
PUT /v1/supplierinvoicedrafts/{supplierInvoiceDraftId}/ allocationperiods | PUT /v2/allocationperiods/ using the new properties for SupplierInvoiceDraftId and SupplierInvoiceDraftRow . Can only changed unbooked allocations |
GET /v1/supplierinvoicedrafts | GET /v2/supplierinvoicedrafts |
POST /v1/supplierinvoicedrafts | POST /v2/supplierinvoicedrafts |
GET /v1/supplierinvoicedrafts/{supplierInvoiceDraftId} | GET /v2/supplierinvoicedrafts/{supplierInvoiceDraftId} |
PUT /v1/supplierinvoicedrafts/{supplierInvoiceDraftId} | PUT /v2/supplierinvoicedrafts/{supplierInvoiceDraftId} |
GET /v1/supplierinvoices | GET /v2/supplierinvoices |
GET /v1/supplierinvoices/{supplierInvoiceId} | GET /v2/supplierinvoices/{supplierInvoiceId} |
GET /v1/supplierlistitems | GET /v2/suppliers |
GET /v1/suppliers/{supplierId} | GET /v2/suppliers/{supplierId} |
PUT /v1/suppliers/{supplierId} | PUT /v2/suppliers/{supplierId} |
POST /v1/suppliers | POST /v2/suppliers |
GET /v1/termsofpayment | GET /v2/termsofpayments |
GET /v1/termsofpayment/{id} | GET /v2/termsofpayments/{id} |
GET /v1/units | GET /v2/units |
GET /v1/units/{id} | GET /v2/units/{id} |
GET /v1/vatcodes | GET /v2/vatcodes |
GET /v1/vatcodes/{id} | GET /v2/vatcodes/{id} |
GET /v1/vouchers/{fiscalyearId} | GET /v2/vouchers/{fiscalyearId} |
GET /v1/vouchers/{fiscalYearId}/{voucherId} | GET /v2/vouchers/{fiscalYearId}/{voucherId} |
POST /v1/vouchers | POST /v2/vouchers |
New features in V2
There are quite some benefits you get when migrating from V1 to V2:
- Pagination
- Filtering
- Selecting
- Sorting
- All new endpoints are since the release of V2 only available in V2
Updated 8 months ago