Supplier Invoice
URL: https://api.finance.visma.net/v1/supplierInvoice
For information about the ERP logic behind Supplier Invoices, please refer to the ERP Manual Help: Purchase invoices
Methods
GET All Supplier Invoices
URL: https://api.finance.visma.net/v1/supplierInvoice
Query Parameters
- Project=String
Will limit response to documents with the specified project
Usage Example
This will return Supplier Invoices with projectID 20.
GET https://api.finance.visma.net/v1/supplierInvoice?project=20
POST SupplierInvoice
URL: https://api.finance.visma.net/v1/supplierInvoice
This example shows the minimum fields you should send to be able to post a new Supplier Invoice, if you are using automatic numbering you can omit the “referenceNumber” field.
JSON Request body
{
"date": {
"value": "2025-11-08T00:00:00"
},
"documentType": {
"value": "Invoice"
},
"referenceNumber": {
"value": "000357"
},
"invoiceLines": [
{
"inventoryNumber": {
"value": "test*test"
},
"lineNumber": {
"value": "1"
},
"operation": "Insert",
"projectId": {
"value": "X"
},
"quantity": {
"value": 1
},
"subaccount": [
{
"segmentId": 1,
"segmentValue": "00"
}
],
"unitCostInCurrency": {
"value": "1.60"
},
"vatCodeId": {
"value": "1"
}
}
],
"paymentRefNo": {
"value": "test"
},
"postPeriod": {
"value": "112025"
},
"supplierNumber": {
"value": "50000"
},
"supplierReference": {
"value": "test"
}
}If sent successfully, the API will return:

PUT SupplierInvoice
URL: https://api.finance.visma.net/v1/supplierInvoice/{invoiceNumber}
When using PUT, you only send the fields you want to update. In the below example, we update the first line of the invoice:
URL
PUT https://api.finance.visma.net/v1/supplierInvoice/000050'
JSON Request body
{
"invoiceLines": [
{
"operation": "Update",
"lineNumber": {
"value": 1
},
"inventoryNumber": {
"value": "6"
},
"quantity": {
"value": 1
}
}
]
}If successful, the API will return:
