- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
How to use Visma.Net API Endpoints: Customer Ledger
- 0 Replies
- 0 kudos
- 6371 Views
In this article, you can find guidelines for how to use Visma.Net API Endpoints connected to the Customer Ledger from Visma.Net Financials.
For more information regarding the endpoints, query parameters and other endpoints for all areas,
Please read the documentation found here: Swagger - Visma.Net Integrations Documentation
- Customer
- Methods:
- GET All Customers
- POST Customer
- POST action/createDunningLetter
- PUT Customer
- Customer CreditNote
- Methods:
- GET All Customer Credit Notes
- POST CustomerCreditNote
- PUT CustomerCreditNote
- Customer DebitNote
- Methods:
- GET All Customer Debit Notes
- POST CustomerDebitNote
- PUT CustomerCreditNote
- Customer Invoice
- Methods:
- GET All
- POST CustomerInvoice
- PUT CustomerInvoice
Customer
Common usage example for Customer(ScreenId=AR303000)
URL: https://integration.visma.net/API/controller/api/v1/Customer |
Methods:
GET All Customers
URL: https://integration.visma.net/API/controller/api/v1/Customer |
Example of usage with parameters
Query parameters:
- lastModifiedDateTime=YYYY-MM-DD
As of today Filtering Parameters does not accept certain characters such as W-Z These are the formats for Filtering *2001-01-01 *2001-01-01 13:13:13 *2001-01-01 13:13:13.133 |
- lastModifiedDateTimeCondition=Operator
Supported comparative operators for LastModifiedDateTime Conditions on filtering > - Greater than < - Less than <= - Less than or equal to >= - Greater than or equal to |
Usage example:
This query will return customers updated on 2020-01-14 or later.
GET https://integration.visma.net/API/controller/api/v1/Customer ?lastModifiedDateTime=2020-01-14 &lastModifiedDateTimeCondition=>= ( Lines are separated for readability) |
POST Customer
URL: https://integration.visma.net/API/controller/api/v1/customer |
This example shows the minimum fields you should send to be able to post a new Customer, if you are using automatic numbering you can omit the “number” field.
JSON Request body
{ "name": { "value": "NewCustomer" }, "number": { "value": "10000" }, "overrideWithClassValues": true, "customerClassId": { "value": "1" }, "mainAddress": { "value": { "addressLine1": { "value": "TestRoad 13" }, "postalCode": { "value": "0101" }, "countryId": { "value": "NO" } } } } |
If sent successfully, the API will return:
Status 201 Created |
POST action/createDunningLetter
URL: https://integration.visma.net/API/controller/api/v1/customer /{customerNumber}/action/createDunningLetter |
This example shows what should be sent to create dunning letters for a specified customer.
JSON Request body
{ "dunningLetterDate": "2020-01-21T09:39:48.538Z", "levelFrom": 1, "levelTo": 2 } |
If successful the API will return a message as below:
Status: 200 OK Response body: { "actionId": "2ddece9b-a89b-4f5a-a251-2cf14837bb2d", "actionResult": "Done" } |
PUT Customer
URL: https://integration.visma.net/API/controller/api/v1/customer/{customerNumber} |
When using PUT, you only send the fields you want to update. In the below example, we update the mainAddress of the customer:
URL:
PUT https://integration.visma.net/API/controller/api/v1/customer/10000 |
JSON Request body
{ "mainAddress": { "value": { "addressLine1": { "value": "TestRoad 50" }, "postalCode": { "value": "0101" }, "countryId": { "value": "NO" } } } } |
If successful, the API will return:
Status: 204 No Content |
Customer CreditNote
Common usage example for Endpoint(ScreenId=AR301000)
URL: https://integration.visma.net/API/controller/api/v1/CustomerCreditNote |
Methods:
GET All Customer Credit Notes
URL: https://integration.visma.net/API/controller/api/v1/CustomerCreditNote |
Example of usage with parameters
Query parameters:
- financialPeriod=YYYYMM
Lets you define what financialPeriod to include in the response |
- status=string
Limits response to CreditNotes with a status |
- expandAttachments=boolean
Lets you decide if you want attachments to be expanded or not. |
- expandTaxDetails=boolean
Lets you decide if you want tax detail lines to be expanded or not. |
Usage example:
This will return Customer CreditNotes in the financial period 01-2020 that have the status “balanced”, and will not expand attachments or tax detail lines.
GET https://integration.visma.net/API/controller/api/v1/customerCreditNote ?financialPeriod=202001 &status=balanced &expandAttachments=false &expandTaxDetails=false (Lines are separated for readability) |
POST CustomerCreditNote
URL: https://integration.visma.net/API/controller/api/v1/CustomerCreditNote |
This example shows the minimum fields you should send to be able to post a new Customer Credit Note, if you are using automatic numbering you can omit the “referenceNumber” field.
JSON Request body
{ "currencyId": { "value": "NOK" }, "externalReference": { "value": "ExRef" }, "lines": [ { "operation": "Insert", "inventoryNumber": { "value": "6" }, "quantity": { "value": 1 }, "unitPriceInCurrency": { "value": 1 } } ], "customerNumber": { "value": "10000" }, "referenceNumber": { "value": "25698" }, "documentDate": { "value": "2019-12-21" }, "postPeriod": { "value": "122019" }, "financialPeriod": { "value": "201912" } } |
If sent successfully, the API will return:
Status 201 Created |
PUT CustomerCreditNote
URL: https://integration.visma.net/API/controller/api/v1/CustomerCreditNote/{creditNoteNumber} |
When using PUT, you only send the fields you want to update. In the below example, we update the first line of the Credit Note:
URL:
PUT https://integration.visma.net/API/controller/api/v1/CustomerCreditNote/25698 |
JSON Request body
{ "lines": [ { "operation": "Update", "lineNumber": { "value": 1 }, "inventoryNumber": { "value": "6" }, "quantity": { "value": 1 }, "unitPriceInCurrency": { "value": 1 } } ] } |
If successful, the API will return:
Status: 204 No Content |
Customer DebitNote
Common usage example for Customer Debit Note(ScreenId=AR301000)
URL: https://integration.visma.net/API/controller/api/v1/CustomerDebitNote |
Methods:
GET All Customer Debit Notes
URL: https://integration.visma.net/API/controller/api/v1/CustomerDebitNote |
Example of usage with parameters
Query parameters:
- Project=String
Will limit response to documents with the specified project |
Usage example:
This will return Customer Debit Notes with projectID 20.
GET https://integration.visma.net/API/controller/api/v1/customerDebitNote ?project=20 |
POST CustomerDebitNote
URL: https://integration.visma.net/API/controller/api/v1/CustomerDebitNote |
This example shows the minimum fields you should send to be able to post a new Customer Debit Note, if you are using automatic numbering you can omit the “referenceNumber” field.
JSON Request body
{ "lines": [ { "operation": "Insert", "description": { "value": "Test" }, "quantity": { "value": 2 }, "unitPriceInCurrency": { "value": 2 }, "uom": { "value": "STK" } } ], "customerNumber": { "value": "10000" }, "referenceNumber": { "value": "000050" }, "documentDate": { "value": "2020-01-16" }, "postPeriod": { "value": "012020" }, "financialPeriod": { "value": "202001" }, "invoiceText": { "value": "DebitNote" } } |
If sent successfully, the API will return:
Status 201 Created |
PUT CustomerCreditNote
URL: https://integration.visma.net/API/controller/api/v1/CustomerDebitNote/{debitNoteNumber} |
When using PUT, you only send the fields you want to update. In the below example, we update the first line of the Credit Note:
URL
PUT https://integration.visma.net/API/controller/api/v1/CustomerDebitNote/000050 |
JSON Request body
{ "lines": [ { "operation": "Insert", "lineNumber": { "value": 1 }, "inventoryNumber": { "value": "6" }, "quantity": { "value": 1 }, "unitPriceInCurrency": { "value": 1 } } ] } |
If successful, the API will return:
Status: 204 No Content |
Customer Invoice
Common usage example for CustomerInvoice(ScreenId=AR301000)
URL: https://integration.visma.net/API/controller/api/v1/CustomerInvoice |
Methods:
GET All
URL: https://integration.visma.net/API/controller/api/v1/CustomerInvoice |
Example of usage with parameters
Query parameters:
- lastModifiedDateTime=YYYY-MM-DD
As of today Filtering Parameters does not accept certain characters such as W-Z These are the formats for Filtering *2001-01-01 *2001-01-01 13:13:13 *2001-01-01 13:13:13.133 |
- lastModifiedDateTimeCondition=Operator
Supported comparative operators for LastModifiedDateTime Conditions on filtering > - Greater than < - Less than <= - Less than or equal to >= - Greater than or equal to |
Usage example:
This query will return customers updated on 2020-01-14 or later.
GET https://integration.visma.net/API/controller/api/v1/CustomerInvoice ?lastModifiedDateTime=2020-01-14 &lastModifiedDateTimeCondition=>= ( Lines are separated for readability) |
POST CustomerInvoice
URL: https://integration.visma.net/API/controller/api/v1/CustomerInvoice |
This example shows the minimum fields you should send to be able to post a new Customer Invoice, if you are using automatic numbering you can omit the “referenceNumber” field.
JSON Request body
{ "invoiceLines": [ { "operation": "Insert", "inventoryNumber": { "value": "222" }, "quantity": { "value": 500 }, "uom": { "value": "STK" } } ], "sendToAutoInvoice": { "value": true }, "referenceNumber": { "value": "156589" }, "customerNumber": { "value": "10000" }, "documentDate": { "value": "2020-01-27" }, "invoiceText": { "value": "Payment for potatoes" } } |
If sent successfully, the API will return:
Status 201 Created |
PUT CustomerInvoice
URL: https://integration.visma.net/API/controller/api/v1/CustomerInvocie/{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://integration.visma.net/API/controller/api/v1/CustomerInvoice/003547 |
JSON Request body
{ "lines": [ { "operation": "Insert", "lineNumber": { "value": 1 }, "inventoryNumber": { "value": "6" }, "quantity": { "value": 1 }, "unitPriceInCurrency": { "value": 1 } } ] } |
If successful, the API will return:
Status: 204 No Content |