My Products
Help

How to use Visma.Net API Endpoints: Supplier Ledger

24-01-2020 11:51 (Updated 24-01-2020)
  • 0 Replies
  • 0 kudos
  • 2222 Views

Yildirim Uyanik_0-1579707262666.png

 

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

 

 

Supplier 

Common usage example for Supplier(ScreenId=AP303000)

URL: https://integration.visma.net/API/controller/api/v1/Supplier

Methods:

GET All Suppliers

URL: https://integration.visma.net/API/controller/api/v1/Supplier

 

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 suppliers updated on 2020-01-14 or later.

GET https://integration.visma.net/API/controller/api/v1/Supplier

?lastModifiedDateTime=2020-01-14

&l astModifiedDateTimeCondition=>=

( Lines are separated for readability)

POST Supplier

URL: https://integration.visma.net/API/controller/api/v1/Supplier

 

This example shows the minimum fields you should send to be able to post a new Supplier, if you are using automatic numbering you can omit the “number” field.

JSON Request body

{

    "number": {

        "value": "50002"

    },

    "name": {

        "value": "NewSupplier"

    },

    "mainAddress": {

        "addressId": 3001,

        "addressLine1": "Testroad 5",

        "postalCode": "0110",

        "city": "OSLO",

        "country": {

            "id": "NO",

            "name": "NORGE"

        },

        "county": {

            "id": "0301",

            "name": "OSLO"

        }

    },

    "supplierClassId": {

        "value": "1"

    }

}

 

If sent successfully, the API will return:

Status 201 Created

 

Supplier Invoice

Common usage example for Supplier Invoice(ScreenId=AP301000)

URL: https://integration.visma.net/API/controller/api/v1/SupplierInvoice

Methods:

GET All Supplier Invoices

URL: https://integration.visma.net/API/controller/api/v1/SupplierInvoice

 

Example of usage with parameters

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://integration.visma.net/API/controller/api/v1/customerDebitNote

?project=20

POST SupplierInvoice

URL: https://integration.visma.net/API/controller/api/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": "2019-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": "112019"

    },

    "supplierNumber": {

        "value": "50000"

    },

    "supplierReference": {

        "value": "test"

    }

}

 

If sent successfully, the API will return:

Status 201 Created

 

PUT PurchaseOrder

URL: https://integration.visma.net/API/controller/api/v1/SupplierInvoice/{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/SupplierInvoice/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

 

Purchase Order

Common usage example for Endpoint(ScreenId=PO301000)

URL: https://integration.visma.net/API/controller/api/v1/PurchaseOrder

Methods:

GET All Purchase Orders

URL: https://integration.visma.net/API/controller/api/v1/PurchaseOrder

 

Example of usage with parameters

Query parameters:

  • Supplier=string

Lets you search for Purchase Orders registered to one supplier

 

  • orderStatus=string

Lets you define what orderStatuses to return, these are the Statuses of Purchase Order:

  • On hold - The purchase order is a draft and can be edited manually.
  • Open - The order was processed in accordance but has not been completed yet.
  • Pending approval - The purchase order has not been approved by all the assigned persons.
  • Rejected - The order was rejected by one of the persons assigned to approve it.
  • Pending printing - Printing is required for the document but has not been performed yet.
  • Pending e-mail - E-mailing is required for this document, but it has not been performed yet.
  • Closed - All the ordered goods were received.
  • Cancelled - The order was cancelled through the “ Cancel order” action - An order with this status cannot be edited, and purchase receipts cannot be based on it.

 

Usage example:

This will return Purchase Orders registered on supplier “50000” that are in status OPEN.

GET https://integration.visma.net/API/controller/api/v1/purchaseorder

?Supplier=50000

&status=open

(Lines are separated for readability)

POST PurchaseOrder

URL: https://integration.visma.net/API/controller/api/v1/PurchaseOrder

 

This example shows the minimum fields you should send to be able to post a new Purchase Order, if you are using automatic numbering you can omit the “referenceNumber” field.

JSON Request body

{

    "orderType": {

        "value": "RegularOrder"

    },

    "date": {

        "value": "2019-12-27T09:46:11.202Z"

    },

    "supplier": {

        "value": "50000"

    },

    "lines": [

        {

            "operation": "Insert",

            "inventory": {

                "value": "teststock"

            },

            "lineType": {

                "value": "GoodsForInventory"

            },

            "warehouse": {

                "value": "2"

            },

            "uom": {

                "value": "PALL"

            },

            "orderQty": {

                "value": 2

            },

            "unitCost": {

                "value": 2000

            }

        }

    ]

}

 

If sent successfully, the API will return:

Status 201 Created

PUT PurchaseOrder

URL: https://integration.visma.net/API/controller/api/v1/PurchaseOrder/{purchaseOrder}

 

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/PurchaseOrder/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

 

Supplier Payment

Common usage example for Endpoint(ScreenId=AP302000)

URL: https://integration.visma.net/API/controller/api/v1/SupplierPayment

Methods:

GET All Supplier Payments

URL: https://integration.visma.net/API/controller/api/v1/SupplierPayment

 

Example of usage with parameters

Query parameters:

  • SupplierId=String

This will limit the response to the provided SupplierId

 

Usage example:

This will return Purchase Orders registered on supplier “50000” 

GET https://integration.visma.net/API/controller/api/v1/purchaseorder

?Supplier=50000

(Lines are separated for readability)