User Profile
Yıldırım
1229
Posts
173
Kudos
225
Solutions
25-04-2025
15:42
Hi, Were there a solution on this? We have experienced the same problem now again. Subaccounts are in the post, but still get error when posting through the api. Creating manually works with the exact same subaccount details as in the api post.
... View more
24-03-2025
11:40
We have tested the process, and the issue still exist. When attempting to update a product's item class, the api call fails with the error above. The customer have Replenishment settings on the products
... View more
23-03-2025
11:29
Hi again. It was a long time since I asked this question. But I never really got a solution that I was completely satisfied with. The balance field on the Supplier Invoice you are mentioning, I think will be hard to use for this purpose. Why is paid amount in currency not exposed in the API endpoint? Or can someone explain how the balance field on the Supplier Payment itself works? If an invoice is partly paid, will this field show the balance left on the invoice at the time of this payment? Then this is more like something I can use.
... View more
07-03-2025
14:54
Hello, it is required in the neXtgen Sales Order Service; however, it has only recently been implemented in the VismaNet ERP API and is currently optional. At this time, there are no plans to make it mandatory for requests. Additional information can be found on Using "ETag" and the "If-Match" conditional header in VismaNet API Endpoints
... View more
06-03-2025
14:43
Overview
In modern web applications, ensuring data consistency and preventing conflicts is essential, especially when multiple clients attempt to update the same resource concurrently. The ETag and If-Match HTTP headers offer a solution for these challenges. Here's how they work together to maintain data integrity.
ETag Response Header
An ETag (Entity Tag) is a unique identifier that the server assigns to a specific version of a resource. It is included in the response header when a client requests the resource. This identifier helps clients in managing cache and detecting resource changes.
Usage in API: When a client requests a resource, the server responds with the ETag value in the response header and as part of the response DTO (with the field name: "Timestamp").
Pagination Note: During paginated responses, the ETag value isn't included in the response header but is available within the response DTO (Field name: "Timestamp").
If-Match Request Header (Optional)
The If-Match HTTP header is used by clients to signal that they wish to update a resource only if its current version matches a specific ETag. This mechanism prevents resource conflicts when multiple clients try to update the same resource simultaneously. See also, lost update problem, If-Match, HTTP conditional requests
Conflict Prevention: If the ETag stored on the server doesn't match the client's If-Match header, the server responds with a 412 Precondition Failed status code
Usage in API: Currently "If-Match" header is optional and can only be used with certain PUT & POST Action endpoints shared in detail in the following section below.
Example:
1) GET : .../api/v1/supplier/xxxxx Response headers : ETag
Response body : timeStamp
2) PUT: .../api/v1/supplier/xxxxx Request headers : If-Match
This request will succeed in updating the resource only if the resource's current "ETag" is "AAAAAE0YIiI=". A) In case of success, the server returns "204 - No content" together with the new ETag value in the response headers.
B) In case of failure, the server returns "412 - Precondition Failed".
Advantages of using ETag and If-Match
Optimistic concurrency control: By using If-Match headers, clients can ensure that updates to resources are made safely without unwanted overwrites.
Data Integrity: Helps maintain data consistency by validating that resource updates are based on the most current data.
API Endpoints with ETag and If-Match Header Support
A) Endpoints & Operations Supporting "ETag" Response Header
ℹ️ PUT: The ETag of the recently updated entity is included in the response header.
ℹ️ POST: The ETag of the recently created entity is included in the response header.
GET Supplier
PUT Supplier
POST Supplier
GET SupplierInvoice
PUT SupplierInvoice
POST SupplierInvoice
GET SupplierLocation
PUT SupplierLocation
POST SupplierLocation
GET SupplierPayment
PUT SupplierPayment
POST SupplierPayment
GET Shipment
PUT Shipment
POST Shipment
GET PurchaseOrder
PUT PurchaseOrder
POST PurchaseOrder
GET PurchaseOrderBasic
PUT PurchaseOrderBasic
POST PurchaseOrderBasic
GET PurchaseReceipt
PUT PurchaseReceipt
POST PurchaseReceipt
GET PurchaseReceiptBasic
PUT PurchaseReceiptBasic
POST PurchaseReceiptBasic
Note: : "TimeStamp" field can also be checked via the DTOs where it's exposed.
B) Endpoints & Operations Supporting "If-Match" Request Header
PUT Supplier
PUT SupplierInvoice
PUT SupplierLocation
PUT SupplierPayment
PUT Shipment
PUT PurchaseOrder
PUT PurchaseOrderBasic
PUT PurchaseReceipt
PurchaseReceiptBasic
If the endpoint is asynchronous, meaning that if it is immediately returning a “202-Accepted” HTTP response and starts the actual job in the background, such as “Action” based operations. (Endpoint URL: …/action/…) If-Match is supported in the following actions only with “erp-api-background usage,
POST SupplierPayment action/Release
POST SupplierInvoice action/Release
POST SupplierInvoice action/Prebook
POST SupplierInvoice action/voidinvoice
POST SupplierInvoice action/sendtoapproval
----------------------------------------------------------------------------------------------------------------------------------------
We're currently working on updating the swagger documentation, once the work is done, function will be listed on all the related operations / actions accordingly.
This knowledge article serves as a guide for developers to incorporate ETag and If-Match functionality into their applications, ensuring smooth updates and mitigating conflicts in a multi-client environment.
... View more
Labels:
31-01-2025
12:02
We have this issue too. We do the following: create an empty purchase receipt: { "receiptType": { "value": "PoReceipt" }, "supplierId": { "value": "C00059" }, "date": { "value": "2025-01-31" } } After doing this we get a purchasereceipt number which is not visible in the Visma UI. Correct? create a purchase orderline by using linenumber from purchaseorder { "purchaseOrderLines": [ { "orderNbr": "PO11250001", "lines": [ { "lineNbr": "1" } ] } ] } Linenumber 1 in the purchaseorder exists but we are getting error: { "message": "Error adding purchase orders to receipt: Purchase order line 1 could not be found for order number PO11250001 " }
... View more
17-01-2025
15:02
Hi.
We have followed the instructions in the documentation on how to enable webhooks. We have added a subscription to my dev account for the “supplier_changed” event with a temporary test webhook uri. But after creating and updating a supplier via the integration.visma.net web api no notification was added. We also tested changing a supplier via the finance.visma.net application interface and still nothing happened. Is there something else that needs to be activated for the event to be triggered on change? Is the notification sent out immediately upon change or is it scheduled to certain times? Maybe more seldom for the test environments? We cannot find anything about this in the documentation.
/Daniel
... View more
03-01-2025
12:56
You can only use the service flow for an existing customer with a tennantID, I don't know how you create a customer using the API since we don't do that, you will need to ask Visma about that.
... View more
19-12-2024
12:27
Getting "invalid_grant" because refresh_token expired. As per above app setting refresh token expire after 30 days. How we can handle this case without involving users?
... View more
11-11-2024
12:26
Getting same issue on many clients. How can we resolve it?
... View more
08-10-2024
16:59
Should be fixed in 10.21.0 planed for today
... View more
04-10-2024
16:34
1 Kudo
Glad to hear Roland !
... View more
02-10-2024
11:17
Hi Guido, in addition to our talk via email, I've checked that with the team, and "CompanyIntervalLimit" is what we set as value for X-RateLimit-Policy HTTP header when throttling is done by TenantIntervalLimitPolicy so that this should be related to
Hourly number of requests per company reached
1 Hour
15000 requests
I've also updated the throttling configuration thread accordingly. Can that be the case ?
... View more
03-09-2024
15:58
Exsitec Denmark has a customer with the same issue today. Were there ever found a solution for this problem? To be fare, it is old news for Visma now.
... View more
27-08-2024
08:30
Hi
Just wanted to let you know that expand by LOT/Serial is now available in the Sales order API v3 in the GET/Inventory endpoint
... View more
08-07-2024
09:39
Hi, Since this is a thread with issues from both the old authentication method and the new method over a couple of years, we recommend that you start a new thread with a description of the current issues you are experiencing. You can also reach out to your local support here: https://community.visma.com/t5/Forum-in-Developers-Visma-net/Update-on-Visma-net-ERP-API-Support-channels/m-p/633804#M4710 Kind regards Sandra
... View more
21-06-2024
17:08
Also tried adding publicId when creating the segment but that gets ignored.
... View more
19-06-2024
14:47
Hi, I'm experiencing the same issue when trying to create a inventory with type ComponentPartItem. It works if i use FinishedGoodItem. Json: { "inventoryNumber": { "Value": "test5" }, "status": { "Value": "NoRequest" }, "description": { "Value": "TEST5" }, "itemClass": { "Value": "410" }, "type": { "Value": "ComponentPartItem" }, "kitItem": { "Value": false }, "vatCode": { "Value": "02" }, "postingClass": { "Value": "P4100" }, "packaging": { "baseItemWeight": { "Value": 0.0 }, "baseItemVolume": { "Value": 0.0 } } } Response: { "message": "Error creating inventory. Error: Inserting 'Item' record raised at least one error. Please review the errors.\r\nThe class you have selected cannot be assigned to a non-stock item, because the Stock item check box is selected for this class in the Item classes window. Select another item class which is designated to group non-stock items.\r\nError: VAT category '02' cannot be found in the system.\r\nError: 'Base unit' cannot be empty.\r\nError: 'Sales unit' cannot be empty.\r\nError: 'Purchase unit' cannot be empty.\r\n" }
... View more
10-06-2024
09:17
Hello! I get asked about this feature from time to time. Any news?
... View more
13-05-2024
13:46
@Magnus Johnsen Does this apply for the salesorder /api/v1/salesorder andpoint as well?
... View more
12-02-2024
07:49
Hello,
there is an update from the developer team,
"Tested reverse invoice using /controller/api/v1/customerinvoice/{invoiceNumber}/action/reverse on the customer database in Internal with several Open invoices and there is no error. It is not reproducable.
We've tested from UI and it works as expected. We've also checked the logs and I see this error a lot for this customer."
Is there something you are doing before reversing? Can you share more details on the steps you do?
... View more
24-01-2024
12:07
Release Notes
Documentation
Improved performance of POST v1/purchaseorder
The POST v1/purchaseorder endpoint is now up to 1,6 times faster than before.
New endpoint v2/salesorder/[orderType]/[orderNumber]/action/sendbymail
The new endpoint v2/salesorder/[orderType]/[orderNumber]/action/sendbymail initiates the process of sending an order by email.
API - Due dates for breaking changes
Release Notes
Documentation
Due
Deprecated fields on Account endpoint
Following fields are deprecated and will be removed on 20th of February 2024: - ExternalCode1 - ExternalCode2 - AnalysisCode They should be replaced by fields: ExternalCode1Info, ExternalCode2Info, AnalisysCodeInfo, which contain more details.
Feb 20, 2024
Planned removal of VNI authentication method
We are planning to phase out VNI authentication method by the end of 2023. ISVs should register their (existing) integrations in the Developer Portal and use Connect authentication instead before the stated end date. Benefits of this change: - One preferred method of authentication across Visma.net ERP portfolio - Better security using scopes - Let customer be more in control (customer grants access explicitly) More information for ISVs on how to migrate existing integrations and\or setup new integrations can be found in the international developer community: https://community.visma.com/t5/News-in-Developers-Visma-net/Visma-net-ERP-APIs-are-now-available-for-Visma-Connect/ba-p/542148
Dec 31, 2023
Planned removal of Sales Order API endpoints
We plan to be functionally complete by Q2-2024 (30th of June 2024), thus new due date being end of Q4-2024(31st of December 2024). If any change would occur for this, we will announce that as soon as possible, A number of Sales Order API endpoints will be removed as a part of the transition to the next generation ERP. The following API endpoints will be removed: GET /controller/api/v1/salesorder/{orderNbr} GET /controller/api/v1/salesorder/{orderType}/{orderNbr} GET /controller/api/v1/salesorder/{orderType}/{orderNbr}/rotrut GET /controller/api/v1/salesorder GET /controller/api/v1/salesorder/{orderType}/{orderNbr}/commissions POST /controller/api/v1/salesorder POST /controller/api/v1/salesorder/{saleOrderNumber}/action/cancelSalesOrder POST /controller/api/v1/salesorder/{salesOrderNumber}/action/reopenSalesOrder PUT /controller/api/v1/salesorder/{orderNbr} GET /controller/api/v1/salesorderbasic/{orderNbr} GET /controller/api/v1/salesorderbasic/{orderType}/{orderNbr} GET /controller/api/v1/salesorderbasic POST /controller/api/v1/salesorderbasic PUT /controller/api/v1/salesorderbasic/{orderNbr} POST /controller/api/v2/salesorderbasic POST /controller/api/v2/salesorder POST /controller/api/v2/salesorder/{saleOrderNumber}/action/cancelSalesOrder POST /controller/api/v2/salesorder/{salesOrderNumber}/action/reopenSalesOrder All functionality currently missing in the new Sales Order Service API will be added before these endpoints are removed. The list of affected endpoints will also be extended, so pay attention to future updates. For more information on how to use the Visma.net ERP Sales Order Service, please visit: https://community.visma.com/t5/News-in-Developers-Visma-net/Getting-started-with-the-first-neXtGen-service-Visma-net-ERP/ba-p/401436 Swagger for Visma.net.ERP.SalesOrder.API https://salesorder.visma.net/swagger/index.html
Dec 31, 2024
... View more
Categories:
22-01-2024
10:30
Dear Developer,
Throughout the years, our API's for Visma.net ERP have expanded greatly both in scope and use. Our centralized development team has been happy to support you, but we think we can do better. Using localized resources with knowledge of the local customers and markets, we will be able to give more specialized Support in local languages.
Starting February 1st 2024, the email address developersupport@visma.com will therefore be deprecated. The developer forum will still be the place to discuss or ask for help from other ISV's or our API support. We will keep publishing News and Knowledge there, and the Ideas section will remain the place to post your wishes for improvement. If you need one-to-one support, you can contact us via Service Cloud tickets using the following portal:
Country
Partner portal
Support email
Norway & Denmark
https://visma-swno.my.site.com/s/api
cloud.api.support@visma.com
Sweden
-
api.consulting.se@visma.com
Netherlands
https://visma-software-nl. force.com/supportportal/s/
-
Finland
-
api.consulting.se@visma.com
Please use this system when you need to contact Visma directly for API Support, for example when this involves sensitive customer data or if you encounter database specific issues. We trust our cooperation will only strengthen with this change and look forward to supporting you through our local support teams from now on.
... View more
Categories:
- Categories:
-
Denmark
-
Finland
-
Netherlands
-
Sweden
-
Vismanet-API-news
19-01-2024
14:38
Scheduled maintenance for Visma.net ERP to optimize SQL environment
Scheduled for Feb 4 , 01:00 - 05:00 CET
Update: Correct date and time is Feb 7, 2024 01:00-04:30 CET
We will do Right Sizing on our SQL environment. Visma.net ERP UI and API will be unavailable during this time.
https://status.visma.com/incidents/3pr219b5rlb7
... View more
Categories:
19-01-2024
13:25
Hello, you can create an "Idea" about that.
... View more
17-01-2024
15:26
Hi Erik, I can confirm the issue. This has been escalated as a bug and will be reviewed. 1) Create a KIT Item with multiple Warehouse (Warehouse Details: 1-Default, 2 Optional)
2) POST KIT Assembly with that KIT Item specifying the non-default warehouse in the payload.
{
"type": "P",
"hold": {
"value": false
},
"date": {
"value": "2024-01-17"
},
"itemId": {
"value": "KIT01"
},
"revision": {
"value": "1"
},
"description": {
"value": "string"
},
"warehouse": {
"value": "2"
},
"location": {
"value": "1"
},
"quantity": {
"value": 1
}
}
Output:
3) Check "Inventory Transaction History", it'll show the movement based on warehouse "1" even though we've specified Warehouse"2"
4) Create KIT Assembly manually in the ERP UI with Warehouse "2"
5) Check "Inventory Transaction History" again. Now, it shows the movement correctly, Warehouse "2"
... View more
17-01-2024
12:28
Release Notes.
Documentation
New field "consolidateInvoices" available on the Customer endpoints
A new field "consolidateInvoices" is now available on the following endpoints' response message: -GET/controller/api/v1/customer/{customerCd} -GET/controller/api/v1/customer -POST/controller/api/v1/customer -PUT/controller/api/v1/customer/internal/{internalID} -PUT/controller/api/v1/customer/{customerCd} This shows if the customer has the Consolidate invoices check box selected in the Customers (AR303000) window. The API documentation will be updated after the pilot phase is done.
New section "parentRecord" available on the Salesorder GET operation
A new section "parentRecord" is now available on the following endpoints' response message: -GET/controller/api/v1/salesorder -GET/controller/api/v1/salesorder/{orderNbr} -GET/controller/api/v2/salesorder -GET/controller/api/v2/salesorder/{orderNbr} This shows the details of the parent customer to which the invoice has been sent from the child customer.
Location endpoint now returns 400 instead of 500 error when request has incorrect data
Earlier, Location endpoints returned a 500 internal server error for requests containing an invalid postcode or an incorrect business account. This has now been corrected so that a 400 bad request error will be returned in these situations.
API - Due dates for breaking changes
Release Notes
Documentation
Due
Deprecated fields on Account endpoint
Following fields are deprecated and will be removed on 20th of February 2024: - ExternalCode1 - ExternalCode2 - AnalysisCode They should be replaced by fields: ExternalCode1Info, ExternalCode2Info, AnalisysCodeInfo, which contain more details.
Feb 20, 2024
Planned removal of VNI authentication method
We are planning to phase out VNI authentication method by the end of 2023. ISVs should register their (existing) integrations in the Developer Portal and use Connect authentication instead before the stated end date. Benefits of this change: - One preferred method of authentication across Visma.net ERP portfolio - Better security using scopes - Let customer be more in control (customer grants access explicitly) More information for ISVs on how to migrate existing integrations and\or setup new integrations can be found in the international developer community: https://community.visma.com/t5/News-in-Developers-Visma-net/Visma-net-ERP-APIs-are-now-available-for-Visma-Connect/ba-p/542148
Dec 31, 2023
Planned removal of Sales Order API endpoints
We plan to be functionally complete by Q2-2024 (30th of June 2024), thus new due date being end of Q4-2024(31st of December 2024). If any change would occur for this, we will announce that as soon as possible, A number of Sales Order API endpoints will be removed as a part of the transition to the next generation ERP. The following API endpoints will be removed: GET /controller/api/v1/salesorder/{orderNbr} GET /controller/api/v1/salesorder/{orderType}/{orderNbr} GET /controller/api/v1/salesorder/{orderType}/{orderNbr}/rotrut GET /controller/api/v1/salesorder GET /controller/api/v1/salesorder/{orderType}/{orderNbr}/commissions POST /controller/api/v1/salesorder POST /controller/api/v1/salesorder/{saleOrderNumber}/action/cancelSalesOrder POST /controller/api/v1/salesorder/{salesOrderNumber}/action/reopenSalesOrder PUT /controller/api/v1/salesorder/{orderNbr} GET /controller/api/v1/salesorderbasic/{orderNbr} GET /controller/api/v1/salesorderbasic/{orderType}/{orderNbr} GET /controller/api/v1/salesorderbasic POST /controller/api/v1/salesorderbasic PUT /controller/api/v1/salesorderbasic/{orderNbr} POST /controller/api/v2/salesorderbasic POST /controller/api/v2/salesorder POST /controller/api/v2/salesorder/{saleOrderNumber}/action/cancelSalesOrder POST /controller/api/v2/salesorder/{salesOrderNumber}/action/reopenSalesOrder All functionality currently missing in the new Sales Order Service API will be added before these endpoints are removed. The list of affected endpoints will also be extended, so pay attention to future updates. For more information on how to use the Visma.net ERP Sales Order Service, please visit: https://community.visma.com/t5/News-in-Developers-Visma-net/Getting-started-with-the-first-neXtGen-service-Visma-net-ERP/ba-p/401436 Swagger for Visma.net.ERP.SalesOrder.API https://salesorder.visma.net/swagger/index.html
Dec 31, 2024
... View more
Categories:
15-01-2024
08:49
That message is the default message the API returns when something in the backend crashes. It has nothing to do with concurrency or timing. It might be temporary and a retry will work but it could also be your request having an invalid value.
... View more
11-01-2024
12:25
Hello, currently "priceClass" is not exposed via POST / PUT via Inventory Endpoint. If you need this field, please create a post in the "Ideas" section of the community. Alternatively, you can set PriceClass in the Inventory Class and override the value.
... View more
10-01-2024
15:09
Hi Michel, I have asked for an update from our development team. It might take some time to analyse, because the problem lies partly in the UI. We will keep you posted here.
... View more
Activity Feed for Yıldırım
- Posted Re: If-match required? on Forum in Developers Visma.net. 07-03-2025 14:54
- Posted Using "ETag" and the "If-Match" conditional header in VismaNet API Endpoints on Knowledge base in Developers Visma.net. 06-03-2025 14:43
- Got a Kudo for Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed. 08-10-2024 16:49
- Posted Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed on Forum in Developers Visma.net. 04-10-2024 16:34
- Got a Kudo for Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed. 04-10-2024 15:55
- Posted Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed on Forum in Developers Visma.net. 04-10-2024 15:43
- Got a Kudo for Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed. 04-10-2024 10:40
- Posted Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed on Forum in Developers Visma.net. 04-10-2024 10:39
- Posted Re: Endpoint Stocktake PUT - Only first 5 (update)lines are processed on Forum in Developers Visma.net. 04-10-2024 09:31
- Posted Re: New ratelimit policy CompanyIntervalLimit on Forum in Developers Visma.net. 02-10-2024 11:17
- Got a Kudo for Visma.net ERP API Developer Portal Startup Guide. 23-09-2024 10:25
- Got a Kudo for Re: Negative discountPercent when creating credit notes. 14-02-2024 17:36
- Posted Re: VismaId: 53ea8cc5-5873-4db0-9f4a-ce7f16e564ac. Error reversing invoiceObject reference not set t on Forum in Developers Visma.net. 12-02-2024 07:49
- Posted [Release Notes] - Visma.Net API 9.78.0 - 23.01.2024 on News in Developers Visma.net. 24-01-2024 12:07
- Posted Update on Visma.net ERP API Support channels on Forum in Developers Visma.net. 22-01-2024 10:30
- Posted Scheduled maintenance for Visma.net ERP to optimize SQL environment on News in Developers Visma.net. 19-01-2024 14:38
- Posted Svar: 502 Bad gateway response but order is created anyway on Forum in Developers Visma.net. 19-01-2024 13:25
- Posted Re: Kitassembly does not respect chosen Warehouse on Forum in Developers Visma.net. 17-01-2024 15:26
- Posted [Release Notes] - Visma.Net API 9.77.0 - 16.01.2024 on News in Developers Visma.net. 17-01-2024 12:28
- Posted Svar: 502 Bad gateway response but order is created anyway on Forum in Developers Visma.net. 15-01-2024 16:46