SalesOrders API V3

This article offers simple tips and best practices for the Visma Net SalesOrders API. Follow these tips to streamline tasks and improve the experience.

1 Combine your updates in the same PATCH request

Recommendation: Use a single PATCH operation to update everything you need at once. This reduces the number of API calls required. Make sure your request is correct, as any invalid data will cause the entire request to be rejected.


2 Optimize data retrieval with GET Expands

Recommendation: Request only the data you need by using specific expand options instead of “expand all”. This improves response times and reduces server load.

Expand


3 Use pagination

Recommendation: Use pagination for orders with many lines. Adjust the page size to get faster responses, especially with large data sets. This is managed using the parameters pageSize and pageIndex. Note that pageIndex is called pageNumber in the Visma Net monolith API.

Tip

Read more: Pagination


4 Use filtering

Recommendation: Always filter your searches to retrieve only the necessary data. This significantly improves speed. You can use parameters such as modifiedSince, customerId, and filter.


5 Webhooks

Recommendation: When using V3 endpoints, it is important to use the visma.net.erp.salesorderservice-publisher. Do not use the vismanetfinancials-publisher that is was used for salesOrderV1/V2, to ensure you get the expected results.

V3Webhooks


6 Use ETag for data consistency

Recommendation: When updating resources, it is mandatory to include the If-Match header with the ETag value received from a prior GET, POST or PATCH request. This ensures you are updating the most current version and prevents conflicts. If the ETag does not match, the server responds with 412 Precondition Failed.

Tip

Example

If you have 100 orders and each order contains hundreds of lines, reading the entire list at once will be slow and return a massive amount of data (roughly 6.5 GB), potentially taking over 2 minutes.

If you handle large amounts of data, you should paginate and use a smaller page size. The default page size is 100, but if you have many lines, we recommend using a smaller size (like 10 or 15) to keep response times under a minute and reduce the data load.

Last modified April 9, 2026