An e-invoice transaction payment will be charged for each purchase invoice imported to Netvisor via API.

Purchase invoice resources have been developed for internal use and therefore purchase invoice resources don't support all related actions. They were published though as they will work as-is in many integrations. Known issues:

  • Attachment import is not (fully) supported (you can bring one attachment, which is handled as a picture of an invoice)
  • Vendors are not updated automatically by purchase invoice XML
IntegrationHTTP-methodResourceDTDSchemaExample
Get purchase invoice listGETpurchaseinvoicelist.nv  Download
Get purchase invoiceGETgetpurchaseinvoice.nv  Download
Get purchase invoice attachmentsGETgetattachments.nv  -
Import purchase invoicePOSTpurchaseinvoice.nvpurchaseinvoice.dtd Download
Update invoice status and post purchase invoice POSTpurchaseinvoicepostingdata.nvpurchaseinvoicepostingdata.dtd Download
Import purchace invoice circulationPOSTpurchaseinvoicecirculation.nv
purchaseinvoicecirculation.xsdDownload
Import purchase invoice accrualPOSTpurhaseinvoiceaccrual.nv
purchaseinvoiceaccrual.xsdDownload
Import purchase orderPOSTpurchaseorder.nv purchaseorder.dtdpurchaseorder.xsdDownload
Get purchase order listGETpurchaseorderlist.nv  Download
Get purchase orderGETgetpurchaseorder.nv  Download
Import vendorPOSTvendor.nv vendor.xsd 
Get vendorGETgetvendor.nv   
Import product qualitiesPOSTproductquality.nv  productquality.xsdDownload
Get product quality listGETgetproductqualitylist.nv  Download

 

Get purchase invoice list

Resource: purchaseinvoicelist.nv

Querystring parameters:

Parameter nameOccursDescriptionExample
begininvoicedate0...1Invoice date lower limit2018-09-20
endinvoicedate0...1Invoice date upper limit2018-09-30
invoicenumber0...1Invoice number to get1001
invoicestatus0...1Invoice status: open, approved or acceptedopen
LastModifiedStart0...1Finds invoices that are modified after given date2018-09-15
LastModifiedEnd0...1Finds invoices that are modified before given date2018-09-15
purchaseinvoicebatchid0...1Finds invoices which were imported with the given batch ID. See purchase invoice batch handling123

Response:

LevelElement NameType and lengthOccursDescriptionExample
rootRootAggr.1  
1PurchaseInvoiceListAggr.1  
2PurchaseInvoiceAggr.0...n  
3NetvisorKeyNumeric1Invoice identifier in Netvisor123
3InvoiceNumberText1Invoice number345
3InvoiceDateDateTime1Invoide date2013-10-23
Attr.formatText1Format of InvoiceDate, Always ansiansi
3VendorText1Name of the vendorVendor Oy Ab
3VendorOrganizationIdentifierNumeric1Business ID (Y-tunnus)1234567-8
3SumNumeric1Invoice total sum100,00
3PaymentsNumeric1Invoice payments sum30,50
3OpenSumNumeric1Open sum of invoice69,50
3UriText1Url that can be used to get details of invoice/getpurchaseinvoice.nv?netvisorkey=123

 

Get purchase invoice

Resource: getpurchaseinvoice.nv

Get detailed information of a specific purchase invoice.

Querystring parameters:

Parameter nameOccursExampleDescription
NetvisorKey1123Netvisor key of the invoice to retrieve
NetvisorKeyList0...11,2,3Can be used to get the details of several invoices with given id. Max. 500 identifiers
Version0...12Used for returning single invoice line's dimension details inside the element (PurchaseInvoiceLine)
1 = Dimensions outside of the invoice line, used as default or if parameter not given
2 = Dimensions inside the invoice line 
Include0...1actions- actions = What can be done to the invoice (approve, accept, reject, pay)
- handlinghistory = Invoice's handling history
- previewimage = Invoice's previewimage
Omitattachments0...1falseTrue = Exclude attachments
False = Include attachments
If parameter not given = True

Response:

LevelElement NameType and lengthOccursDescriptionExample
RootrootAggr.1 
1PurchaseInvoiceAggr.1 
2PurchaseInvoiceNumberText1Invoice number345
2PurchaseInvoiceDateDate1Invoide date2013-10-23
Attr.formatText1Format of InvoiceDate, Always ansiansi
2PurchaseInvoiceDeliveryDateDate1Delivery date2013-09-10
Attr.formatText 1Format of DeliveryDate, Always ansiansi
2PurchaseInvoiceDueDateDate1Due date2014-01-09
Attr.formatText 1Format of DueDate, Always ansiansi
2PurchaseInvoiceValueDateDate1Value date2013-12-03
Attr.formatText 1Format of ValueDate, Always ansiansi
2PurchaseInvoiceReferencenumberText1Reference number of invoice1234
2PurchaseInvoiceAmountNumeric1Amount in two decimal accuracy1234,56
2PurchaseInvoicePaidAmountNumeric1Paid amount in two decimal accuracy1000,00
2ForeignCurrencyAmountNumeric1Amoun in foreign currency in two decimal accuracy1234,56
2ForeignCurrencyNameIDText1Currency codeEUR
2InvoiceStatusText1Status of the invoice
Note: Currently always returns 'open', incomplete functionality
open
2ApprovalStatusText1Purhase invoice's approval status:
new invoice=open
in factual verification=infactualverification
approved=approved
rejected=acceptrorrejected
approved
2PurchaseInvoiceOurReferenceText1Our reference 
2PurchaseInvoiceYourReferenceText1Your reference 
2PurchaseInvoiceDescriptionText1Invoice description 
2VendorNameText1Name of the vendor Vendor Inc
2VendorAddresslineText1Address of the vendor Pajukuja 5
2VendorPostnumberText1Vendor post number 53100
2VendorTownText1Vendor cityLappeenranta
2VendorCountryText1County code of the Vendor FI
2VoucherIDNumeric0...1Voucher's NetvisorKey1235
2IsAccountedText1Is invoice accountedTrue
2PreviewImageText0...nWhen action parameter in use
2AttachmentsAggr.0...1 
3AttachmentAggr.1...n 
4AttachmentBase64DataBase641Base64 encoded data of the attachment
4FileNameText1File name of the attachment Invoice1234.pdf
4ContentTypeText1MIME-type of attachment content Appication/pdf
4CommentText1Comment text
2InvoiceLinesAggr.0...1 
3PurchaseInvoiceLineAggr.1...n 
4NetvisorKeyText1Netvisor key 
4LineSumNumeric1Sum of the line 
4LineNetSumNumeric
1Net sum of the line

4UnitPriceNumeric 1Price of a single unit (gross)
4VatPercentNumeric 1VAT percent 
4VatCodeText1VAT code
4DescriptionText1Description text 
4UnitText 1Unit of measurement 
4OrderedAmountNumeric 1Amount of product ordered 
4PurchasePriceNumeric 1Unit purchase price 
4DeliveredAmountNumeric 1Amount of units delivered 
4ProductCodeText1Product identifier 
4DiscountPercentageNumeric 1Discount percentage 
4ProductNameText1Name of the product 
4AccountingSuggestionBookkeepingaccountNetvisorKeyText0...1Account suggestions Nevisorkey
4AccountingSuggestionBookkeepingAccount
Text
0...1Account suggestion
4PurchaseInvoiceDimensionsAggr.0...1Levels 4 -5 -6 when version parameter is 2.
In other case levels 3-4-5

5DimensionAggr.1...n 
6DimensionNameText1Dimension 
6DimensionDetailNameText1Name of the dimension 
2LinkedPurchaseOrdersAggr.0...1If purchaseoders have been linked to a purchase invoice, returns their number and ID
3PurchaseOrderAggr.1...n 
4OrderNumberNumeric1Number of purchase order123
4NetvisorKeyNumeric0...1NetvisorID of purchase order
Note! If the number of purchase order has been added to purchase invoice in advance, the purchase order might not be in Netvisor
10

 When parameter actions is in use the following structure is added at the end of the message:

Level
ElementType and lengthOccursDescriptionExample
2PostingLinesAccess
Aggr.
1Purchase invoice accounting

3CanEditPostingLinesText1True or FalseTrue
3CanUserPostInvoiceText1True or False
False
3SuggestPostingBy DefaultText1True or False
True
3CanEditAccountingSuggestionText1True or False
False
2Actions
Aggr.1What can be done to the purchase invoice with the user's rights
3Action
Aggr.1...n

4IdText1Possible values:
approved
accepted
rejected
pay
accepted
4TypeText1Returns the resouce that can be used to deliver the actionpurchaseinvoicepostingdata
4DescriptionText1Explanation of the actionAccept the purchase invoice
2Alerts
Aggr.1If there are no alerts, only upper level tag is shown
3Alert
Aggr.1

4HeadingText1HeaderThe invoice is in a locked period
4DescriptionText1ExplanationAccepting the purchase invoice does not update any information because the invoice is in a locked period
2Notifications
Aggr.1If there are no notifications, only upper level tag is shown
3Notofication
Aggr.1


4HeadingText
1Header
4DescriptionText
1ExplanationVendor's bank account has been deleted, update bank account

When parameter handlinghistory is in use the following structure is added at the end of the message:

Level
ElementType and lengthOccursDescriptionExample
2HandlingHistory
Aggr.
1Purchase invoice handling history

3HandlingHistoryLine
Aggr.1...n

4TypeText1EventInvoiceCreated
4HeadingText1HeaderCreated
4DescriptionText1ExplanationInvoice created in the system
4TimestampDate1Timestamp2018-01-01 09:45:49:000
Attr.format
Text1Date format, always ansiansi
4UserNameText1Name of the user who performed the actionEric Example
4UserEmailText1Email of the user in the compayn if it is defined and the user is not "System"eric.example@company.com.test
4UpdatedInformationFields
Aggr.0...n
Updated information
5FieldNameText1InfomationAccounted
5OldValue
Text1Old valueNo
5NewValueText1New valueYes

Get purchase invoice attachments

Resource: getattachments.nv

Returns purchase invoice attachments.

Also returns purchase invoice's finvoice-style attachment as an image.

ParameterOccursDescriptionExample
attachmentsource1Always purchaseinvoice
purchaseinvoice
netvisorkey1Netvisor ID of the purchase invoice123
convertpdfstoimages0...1With value true pdf attachments are converted to png images.
Every pdf page as their own image.
true

Response:

LevelElementTypeOccursDescriptionExample
rootRootAggr.1  
1AttachmentsAggr.1  
2AttachmentAggr.1...n  
3AttachmentNetvisorKeyNumeric1Netvisor ID of attachment123
3AttachmentPageNumberNumericPage number1
3FileNameTextDate of invoiceTestimage.jpg
3FileTypeText1 image/png
3ContenttextBase64 encoded fileiVBORw0KGgoAAAANSUhEUgAAB

Import purchase invoice

Resource: purchaseinvoice.nv

An e-invoice transaction payment will be charged for each purchase invoice imported to Netvisor via API.

Proper attachments can not be imported for purchase invoice, an attachment is handled as a picture of the invoice. The content of the attachment has not been limited, though. Imported attachment is found in the purchase invoice view as a picture. Even though the DTD determines that more than one attachment can be included, in practice only the first one can be shown in the user interface. Purchase invoice attachments have to be in PDF-format.

InvoiceSource must be finvoice to import an attachment.

During the import vendor card is created if vendor is missing from Netvisor. When importing, the vendor is focused to existing vendor by following rules:

  1. Focus on existing vendor if account number and name matches with the invoice and VAT number is the same as on invoice
  2. Focus on existing vendor if account number matches with the invoice and VAT number is the same as on invoice
  3. Focus on existing vendor if account number and name matches with the invoice
  4. Focus on existing vendor if name matches with the invoice and VAT number is the same as on invoice
  5. Focus on existing vendor if account number matches with the invoice and VAT number is empty
  6. Focus on existing vendor if account number matches with the invoice
  7. Focus on existing vendor if VAT number is the same as on invoice
  8. Focus on existing vendor if name matches with the invoice

If non of the above applies, new vendor is created.

Request:

LevelElement nameType and lengthOccursDescriptionExample
RootrootAggr.1 
1purchaseinvoiceAggr1 
2invoicenumberText1Number of the invoice12345
2invoicedateDate 1Date of the invoice 2014-03-03
Attr.formatText 1Date format, always ansi
Attr.findopendateText 0...1Only true is accepted
2invoicesourceText 0...1Can be manual or finvoicefinvoice
2valuedateDate 0...1Currently this is needed in order to import purchase invoices in despite of being marked optional in DTD2014-03-03
Attr.formatText 1Date format, always ansi
2duedateDate 1Due date of the invoice2014-03-17
Attr.formatText 1Date format, always ansi
2purchaseinvoiceonroundText 0...1Defines the status of PurchaseInvoice. Can be open, approved or acceptedopen
Attr.typeText 1Type of status, default netvisor netvisor
2vendornameText, max 2500...1Name of the vendorMy Vendor
2vendoraddresslineText, max 800...1Address of the vendor 
2vendorpostnumberText, max 500...1Post number of the vendor 
2vendorcityText, max 500...1City of the vendor 
2vendorcountryText, max 500...1Country code of the vendor FI
2vendorphonenumberText, max 800...1Vendor's phone number 
2vendorfaxnumberText, max 800...1Vendor's fax number 
2vendoremailText, max 800...1Vendor's E-mail address 
2vendorhomepageText, max 800...1Vendor homepage 
2amountNumeric1Total of the invoice, this will be approximated to 2 decimals100,00
2accountnumberText 0...1Account number FI1000111234567
2organizationindentifierText 0...1Organiztion identifier 123456-7
2deliverydateDate 0...1Invoice delivery date 2014-03-03
Attr.formatText 1Date format, always ansi 
2overduefinepercentNumeric 0...1overduefine percent 
2bankreferencenumberText, max 700...1Bank reference 
2ourreferenceText, max 2000...1Our reference 
2yourreferenceText, max 2000...1Your reference 
2currencycodeText 0...1Currency, currencycode and accountnumber must be given in order to have the exchange calculation done correctlyGBP
2deliverytermsText, max 2550...1Terms of delivery 
2deliverymethodText, max 2550...1Method of delivery 
2commentText, max 255 0...1Comment 
2checksumText 0...1Checksum 
2pdfextrapagesNumeric 0...1 
2readyforaccountingNumeric 0...1If given ( and invoices status is approved/accepted ), interface will approve / accept it and form a voucher for accounting1
2primaryvendormatchtypeText0...1Possible to force vendormatch by value:
- code
- name
- bankaccountnumber
- organizationid
If no vendor found with the given value, then default procedure is followed
code
2purchaseinvoicelinesAggr.1 
3purchaseinvoicelineAggr.1...n 
4productcodeText, max 50 0...1Product code 340
4productnameText, max 2001Name of the product Test Product
4orderedamountNumeric 0...1Amount ordered 12
4deliveredamountNumeric 1Amount delivered 12
4unitnameText 0...1Unit of measurement 
4unitpriceNumeric 1Price of a single unit 3,81
4discountpercentageNumeric 0...1Discount percentage 1,52
4vatpercentNumeric1VAT percentage 24
4linesumNumeric 1Total of the line, this will be approximated to 2 decimals45,72
Attr.typeText 1Type of sum, default is brutto (gross)brutto
4descriptionText, max 200 0...1Description text
4sortNumeric 0...1 
4accountingsuggestionNumeric 0...1If not given, default from company's default accounts will be used (based on vendor's country code)4000
4dimensionAggr.0...n 
5dimensionnameText, max 501Dimension header
Project
5dimensionitemText, max 2001Dimension name 8890
2purchaseinvoicecommentlinesAggr.0...1 
3purchaseinvoicecommentlineAggr.1...n 
4commentText1Comment text 
4SortText0...1 
2purchaseinvoiceattachmentsAggr.0...1

 


3purchaseinvoiceattachmentAggr.1...nOnly PDF-format supported. Attachmnet is handled as a picture of the invoice. 
4mimetypeText1MIME-type of the attachment
4attachmentdescriptionText1Description of the attachment 
4filenameText 1The name of attached file
4documentdataText 1In Base64 format

 

Update invoice status and post purchase invoice 

Resource: purchaseinvoicepostingdata.nv

 The resource can be used for rejecting, verifying, or approving a purchase invoice as well as for posting. When importing, you can also edit posting lines.

When using this resource, Netvisor user rights of the owner of the used api user keys are checked. This user needs rights to post/verify/approve purchase invoices.

The purchase invoice that you want to verify, accept, or reject must be in state 'open'. The row data are the same as in importing purchase invoice (purchaseinvoice.nv), the row data that is imported replaces the row data on the purchase invoice in Netvisor. Sums in row data must match the purchase invoice amount, otherwise import will end up to error.

A purchase invoice can be posted without changing invoice status when element is given with value 1 and leaving the element blank. Depending on the status of the purchase invoice, either this pre-posts or posts the invoice, such as in the Netvisor user interface.

LevelElementType and lengthOccursDescriptionExample
rootRootAggr.1  
1PurchaseInvoicePostingDataAggr.1  
2PurchaseInvoiceNetvisorKeyNumeric1Netvisor ID of purchase invoice 31646 
2StatusText1Purchase invoice status, in that order they can be given:
contentsupervisorrejected (hylätty asiatarkastuksessa)
approved (asiatarkastettu)
acceptrrejected (hylätty hyväksynnässä)
accepted (hyväksytty)

Invoice status cannot be update to a previous state
approved
2IsReadyForAccountingNumeric1If value 1 is given Netvisor will generate voucher automatically. If value is not given posting will be done manually in Netvisor.1
2CommentText, max 30000...1Comment of purchase invoice Example comment 
3PurchaseInvoicePostingLineAggr.1...n  
4purchaseinvoicelinenetvisorkeyNumeric0...1Purchase invoice row NetvisorID12345
4ProductCodeText0...1Product code123
4ProductNameTextProduct name
Can be left out by giving but it will overwrite the possible existing text in Netvisor.
Example product
4OrderedAmountNumeric0...1 Number of ordered products 
4DeliveredAmountNumericNumber of delivered products 
4UnitNameText0...1 Unit of measurekpl
4UnitPriceNumericUnit price 
4DiscountPercentageNumeric0...1 Discount percentage 
4VatPercentNumericVAT percent 
Attr.vatcodeText1VAT code 
4LineSumNumeric1Will be rounded to two decimals 
AtypeText1Only gross (brutto)gross
4DescriptionText0...1Description 
4Sort 0...1Row running number1
4AccountingSuggestionNumeric0...1Accounting suggestion
If not given, default accounts in Netvisor will be used
 
4DimensionAggr.0...n  
5DimensionNameText, max 2001Dimension header 
5DimensionItemText, max 2001Dimension name 

Import purchase invoice circulation

Resource: purchaseinvoicecirculation.nv

Resource can be used for setting, editing or deleting purchase invoice circulation.

The identification of circulation users is done using email address. If the user has an email address saved in Netvisor's User settings Company-specific exceptions, this email address is used. Users email address has to be unique in the company.

The user set for circulation has to have sufficient Accounts receivable and accounts payable rights in Netvisor to factually verify and/or accept purchase invoices. In addition there shouldn't be a vendor or sum limit that prevents circulation. Note! The API user must have a right for setting purchase invoice's approval circulation in Accounts receivable and accounts payable rights in Netvisor.

The resource can be used to set multiple circulations at the same time in one message. If API responds with "OK", the circulation for all purchase invoices has been set. If API responds with an error, importing purchase invoice circulation failed for all invoices in the same message. ValidDataIdentifier-element is returned for those purchase invoices where importing purchase invoice circulation would have been successfull without the error.

Deleting purchase invoice circulation is done by not importing factual verificators and approver fot the invoice.

The last imported factual verficator will be set as invoice's main factual verificator.

Importing circulation lists or forced circulation is not supported. If the purchase invoice already has circulation and a user has accepted or factually verified the invoice, the circulation can not be edited via API.

The following describes the XML message to import (POST) purchase invoice circulation into Netvisor:

LevelElementFormatOccursDescriptionExample
RootrootAggr.1  
1purchaseinvoicecirculations
Aggr.
1

2purchaseinvoicecirculation
Aggr.1Circulation for one purchase invoice

3invoiceidentifier
Aggr.1Purchase invoice identifier, NetvisorID or invoice number
4netvisorkeyNumeric0...1Purchase invoice NetvisorID123
4
invoicenumberNumeric0...1Purchase invoice number123
3factualverificator
Aggr.0...n
Factural verificators

4emailString1Email address
verificator@company.com
3
approver
Aggr.0...1Purchase invoice approver
4emailString1Email addressapprover@company.com
3commentString, max 2500...1Comment for handling historyVerificators and approver set by integration X.

Import purchase invoice accrual

Resource: purchaseinvoiceaccrual.nv

Purchase invoice can be accrued by giving start month and year and end month and year or start month and year or divisioncurve. Accual end time can not be before the start time and start time can be invoice's event month at the earliest. The invoice accrued can't be accounted. The purchase invoice can not be accrued on a locked period.

When using divisioncurve the accrual can have monthly percentage values. When using start month and year and end month and year the accrual is done using even percentage for the given time span. For example 3/2021-4/2021 accrues the invoice rows for March and April with 50%.

The following describes the XML message to import (POST) purchase invoice accrual into Netvisor:

LevelElementFormatOccursDescriptionExample
RootrootAggr.1  
1purchaseinvoiceaccrual
Aggr.1Purchase invoice accrual

2invoiceidentifier
Aggr.1Purchase invoice identifier, either NetvisorID or invoice number
3NetvisorkeyNumeric0...1Purchase invoice NetvisorID123
3invoicenumber
String0...1Purchase invoice number123
2accrualrule
Aggr.
1Accrual rule
3startmonthNumeric
1Accrual start month3
3startyearNumeric1Accrual start year2021
3divisioncurvenameString, max 2500...1Division curve name, has to be uniqueDepreciations
3endmonthNumeric0...1Accrual end month4
3endyearNumeric0...1Accrual end year2021

Import purchase order

Resource: purchaseorder.nv

Purchase orders can be imported over the API to Netvisor. Required information is order number, order date and vendor information. If product lines are included, product code and amount are required, and commentlines require the comment text.

Things to note:

  • When editing an order, all existing product- and comment lines are not needed, give only edited and/or new data in the XML.
  • Setting currency for a purchase order is not yet supported, any values entered into the currency or exchange rate attributes will not cause an error, but will be ignored for now.
  • Payment term, delivery term and delivery method are searched with the given information, if not found, a new one is created

Querystring parameters: 

ParameterTypeRequiredDescription
methodStringAlwaysAdd Import as new order
Edit Edit an existing order
idIntegerIf method is editID of the order to edit


Things to not when using Purchaseorderproductline:

MethodDescription
editIf used, do not include purchase order productline partial delivery information (purchaseorderproductlinepartialdelivery) and can include only elements which will be edited
deleteIf used, purchase order productline must be empty
partialdeliverUsed for importing partial delivery rows. If used, must include at least two partial delivery rows (purchaseorderproductlinepartialdeliverycontent). In partial delivery information (purchaseorderproductlinepartialdeliverycontent) the amount of ordered products (orderedamount) must correspond to the ordered amount of the targeted productline amount, which was ordered. 
addtopartialdeliverygroupUsed for adding partial delivery rows. If used, must include at least one partial delivery row (purchaseorderproductlinepartialdeliverycontent). 
If editing erroneous amount of partially delivered product, you must add new partial delivery row for the rest of the amounts and update some partial delivery row amount with the delivered amount. Partially delivered product amount must correspond to the original purchase order line's product amount.
ParamateresDescription
netvisorkeyMandatory if using other methods than add

The following describes the XML message to import (POST) a purchase order into Netvisor:
When reading documentation:
* - When creating new purchase order, mandatory
** - When creating new product line, mandatory

LevelElementFormatOccursDescriptionExample
RootrootAggr.1  
1purchaseorderAggr.1Main order information 
2ordernumberInteger1Number of the order141128
2orderstatusString1Status of the order
proposal 
- Purchase proposal
approved - Approved
senttovendor - Sent to vendor
waitinginvoice - Link delivery and invoice
archived - Archive
approved
2orderdateDate1Date of the order28.11.2014
Attr.formatString1Format of the date, always ansiansi
2vendoridentifierString1Vendor identification information101714
Attr.typeString1Identification type
netvisor - Netvisor key
code - Vendor code
organisationidentifier - Vendor's organisation identifie
code
2vendoraddresslineString1Vendor's address 
2vendorpostnumberString1Vendor's post number 
2vendorcityString1Vendor's post office 
2vendorcountryString0...1Vendor's country's code 
Attr.typeString1Country code's type, always ISO-3166 
2deliverytermString0...1Term of delivery 
2deliverymethodString0...1Method of delivery 
2deliverynameString0...1Recipient of the delivery 
2deliveryaddresslineString0...1Address of the delivery 
2deliverypostnumberString0...1Post number of the delivery 
2deliverycityString0...1Post office of the delivery 
2deliverycountryString0...1Country code of the delivery 
Attr.typeString1Type of the country code, always ISO-3166 
2privatecommentString0...1Free private comment text. Will not show on printed order 
2commentString0...1Free comment text, will show on printed order 
2ourreferenceString0...1Our reference1411281
2currencycodeString0...1Order's currency code USD
Attr.typeString1Type of the currency code, always ISO-4217
ISO-4217
2purchaseorderpaymenttermAggr.0...1Payment term information 
3netdaysInteger1Payment term net days14
3discountdaysInteger1Payment term cash discount days10
3discountpercentDecimal1Payment term discount percentage7,5
2purchaseorderlinesAggr.0...1*Order's product lines 
3purchaseorderproductlineAggr.0...nOrder's product line 
Attr.methodString0...1Product line method
add - Add new line (default)
edit - Edit line
delete - Delete line
partialdeliver - Partial delivery for line
addtopartialdeliverygroup - Add new line for partial delivery group
add
(read instructions above)
Attr.netvisorkeyInteger0...1*ID of the product line
 
4purchaseorderproductlinepartialdeliveryAggr.0...1Partial delivery information
 
5purchaseorderproductlinepartialdeliverycontentAggr.1...nPartial delivery
 
6orderedamountDecimal1Amount of ordered products10,00
6deliveredamountDecimal1Amount of delivered products
5,00
6deliveryreceiveddateDate1Product delivery date2017-12-28
Attr.formatString1Date format, always ansiansi
6deliverymanuallyconfirmedString0...1Delivery manually confirmed, even if divergent amounttrue
or
false
6deliveredproductqualityInteger0...1Delivered product quality 
Attr.typeString1Tyoe of qualitynetvisor
4productcodeString0...1**Product id, if type attribute not given, line can't be linked to product1017
Attr.typeString0...1Type of indentifier
netvisor -Netvisor Key
customer - Product code
customer
4vendorproductcodeString0...1Supplier code for productA100Ah
4orderedamountDecimal0...1**Ordered amount of product10,00
4unitpriceDecimal0...1Product unit price, VAT excluded52,50
4vatpercentDecimal0...1**Product VAT percentage24
4freightrateDecimal0...1Shipping costs, freight rate22,50
4linecommentString0...1Line comment (max. 255 chars.) 
4deliverydateDate0...1**Product line product's delivery date2017.12.9
Attr.formatString1Date format, always ansiansi
4purchaseorderproductlinedeliverydetailsAggr.0...1Purchase order product line delivery details 
5deliveredamountDecimal1Received/Delivered product amount5,0
5deliveryreceiveddateDate1Received/Delivered delivery date 
Attr.formatString1Date format, always ansiansi
5deliverymanuallyconfirmedString0...1Delivery manually confirmed, even if divergent amounttrue
or
false
5deliveredproductqualityInteger0...1Quality of delivered product 
4inventoryplaceString0...1ID/name of the used warehouse12
Attr.typeString1Type of warehouse indentifier
netvisor - Warehouse NetvisorKey
customer - Name of the warehouse
netvisor
4accountingaccountsuggestionInteger0...1Accounting account suggestion3000
4purchaseorderproductlinedimensionsAggr.0...1Purchase order product line dimension details 
5dimensionAggr.0...nProductline dimension 
6dimensionnameString1Dimension headerHankinta
6dimensionitemString1Dimension item
Tarvikkeet
3purchaseordercommentlineString0...1Purchase order comment line 
Attr.methodString1Comment line method
add - Add new line
edit - Edit current comment
delete - Delete line
 
Attr.netvisorkeyInteger0...1ID of the commentline
Mandatory, if method
edit
or
delete
4commentString0...1Comment textThis is an order

Please note:

ElementMethodDescription
purchaseordercommentlinedeleteIf used, element purchaseordercommentline comment must be empty

 

Get purchase order list

Resource: purchaseorderlist.nv

Querystring parameters:

ParamterOccursDescriptionExample
limitstartordernumber0...1Export orders from number1000
limitendordernumber0...1Export orders up till number1100
limitbegindate0...1Export orders from date2018-01-01
limitenddate0...1Export orders up till date2018-06-30
limitorderstatus0...1Status of the order
proposal = Purchase proposal
approved = approved
senttovendor = Sent to vendor
waitinginvoice = Link delivery and invoice
archived = Archived
approved
searchcomment0...1
Limit by comment or private comment
 
limitvendor0...1Identification type
integer treated as netvisor key
organizationidentifier treated as organization identifier
other strings treated as vendor code
123456

Response: 

LevelElement nameTypeOccursDescriptionExample
rootRootAggr.1  
1purchaseorderlistAggr.1  
2purchaseorderAggr.1  
3netvisorkeyNumeric1Netvisor key of purchase order123
3ordernumberNumeric1Number of purchase order11228
3orderdateDate1Date of purchase order2018-06-01
Attr.formatText1Date format, always ansiansi
3orderstatusText1status of purchase orderapproved
3vendornameText1VendorNetvisor Oy
3amountNumeric1Amount1000,34
3uriText1Netvisor URI to the order/getpurchaseorder.nv?netvisorkey=123

 

Get purchase order

Resource: getpurchaseorder.nv

Fetch detailed information of certain purchaseorder.

Querystring parameters:

ParameterOccursDescriptionExample
netvisorkey1ID of the order to export123
NetvisorKeyList0...1Can be used to get the details of several orders with given id. Max. 500 identifiers1,2,3

Response:

LevelElement nameTypeOccursDescriptionExample
RootrootAggr.1  
1purchaseorderAggr.1  
2netvisorkeyNumeric 1Purchase order Netvisor key
1
2ordernumberNumeric 1Purchase order number
1
2orderstatusText 1Purchase order stateproposal
approved
senttovendor
archived
2orderdateText1Purchase order date
2017-1-1
2vendornameText1Purchase order vendorOy Firma Ab
2vendoraddresslineText0...1Purchase order vendor address
Firmatie 1
2
vendorpostnumberNumeric0...1Purchase order vendor post number
00100
2vendorcityText0...1Purchase order vendor city
Helsinki
2vendorcountryText1Purchase order vendor country
Finland
Attr.typeText1Country type, always ISO-3166ISO-3166
2deliverytermText0...1Terms of deliveryAccordin to the agreement
2deliverymethodText0...1Delivery method
Installed
2deliverynameText0...1Delivery name
Yritys Oy
2deliveryaddresslineText0...1Delivery address
Yritystie 1
2deliverypostnumberNumeric0...1Delivery post number00500
2deliverycityText0...1Delivery cityHelsinki
2deliverycountryText1Delivery country
Finland
Attr.typeText1Country type, always ISO-3166ISO-3166
2privatecomment
Text0...1Internal comment, not shown on printed version, max. 1000 chars
 
2commentText0...1Comment, max. 1000 charsComment
2ourreferenceText0...1Our reference, max. 50 chars
Our reference
2paymenttermText0...1Payment term
14 days net
2amountNumeric1Final amount
10000
Attr.currencycodeText1Final amount currency
EUR
Attr.typeText1Currency code, always ISO-4217
ISO-4217
2purchaseorderlinesAggr.1  
3purchaseorderproductlineAggr.1  
4netvisorkeyNumeric1Purchase order line Netvisor key
1
4productcodeText0...1Product code
123
4productname
Text0...1Product name, if product added from Netvisor productlist, in other case suppliers product name
Product
4vendorproductcodeText0...1Vendor code123
4orderedamountNumeric1Ordered amount10
4deliveredamountNumeric1Delivered amount
0
4unitpriceNumeric1Unitprice100
4vatpercentNumeric1VAT %
24
4linesumNumeric1Line sum
100
4freightrateNumeric0...1Freight rate
0
4deliverydateDate1Delivery date2017-01-01
Attr.formatText1Date typeansi
4inventoryplaceText0...1WarehouseTest warehouse
3linkedpurchaseinvoicesAggr.0...1Linked Purchaseinvoices  
 
4purchaseinvoiceAggr.1..n  
5invoicenumberNumeric1Invoice number
1001
5netvisorkeyNumeric1Invoice Netvisor key
10
5uriText1Netvisor URI to invoice
/getpurchaseinvoice.nv?netvisorkey=1001

 

Import vendor

Resource: vendor.nv

Add a new vendor or edit existing vendor.

API returns vendor's NetvisorKey. We reccomend to store it somewhere, if you want to get of change verdor information afterwards. For now, the NetvisorKey cannot be obtained via API. Through Netvisor UI NetvisorKey can be obtained when opening the vendor and looking the serch bar, where is id (e.g. id=123).

 

Parameters:

ParameterTypeOccursDescription
methodText1Add Add new vendor
Edit Edit existing vendor
netvisorkeyNumeric0...1Vendor's NetvisorKey
Mandatory if method = edit

XML-message (POST-data):

LevelElementTypeOccursDescriptionExample
RootrootAggr.1  
1vendorAggr.1  
2vendorbaseinformationAggr.1  
3codeText0...1Vendor code123
3nameText1Vendor nameTestitoimittaja
3addressText0...1AdressToimittajakatu 1
3postcodeText0...1Postal code00100
3cityText0...1CityHelsinki
3countryText0...1County codeFI
Attr.typeText1Type of county codeISO-3166
3organizationidText0...1Business ID (Y-tunnus)123456-7
3groupnameText0...1Vendor groupThe toimittajat
3vendorbankaccountsAggr.0...1Vendor's bank accounts
 
4vendordomesticbankaccounts Aggr.0...1  
5vendordomesticbankaccountAggr.0...8Finnish bank accounts
 
6netvisorkeyNumeric0...1Bank account's NetvisorKey
1
6ibanText1Account number (IBAN)FI7536359370000661
6banknameText1Bank nameTestipankki
6isdefaultText0...1Use as a default or notTrue
4vendorforeignbankaccounts Aggr.0...1  
5vendorforeignbankaccountAggr.0...8Foreign bank accounts
 
6netvisorkeyNumeric0...1Bank account's NetvisorKey2
6ibanText1Account number (IBAN)GB29NWBK60161331926819
6bicswiftText1BIC code
BUKBGB22
6banknameText1Bank nameBarclays
6clearingcodeText0...1Clearing code
 
6clearingnumberText0...1Clearing number
 
6bankaddresssText0...1Bank address
Bank Street 1
6countryText1Country codeGB
Attr.typeText

1

Country code type ISO-3166
6currencycodeText1Currency codeGBP
AttypeText1Currency code typeISO-4217
6isdefaultText0...1Use as a default or notFalse
6includeaddresssinforeignpaymentsText0...1Add bank's address information to payment message besides BIC codeTrue
2vendorcontactdetailsAggr.0...1Vendor's contact information 
3phonenumberText0...1Phone number+35850123456
3emailText0...1Emailtoimittaja@toimittajat.fi
3faxnumberText0...1Fax 
3contactpersonnameText0...1Contact person's nameTimo Testaaja
3contactpersonphonenumberText0...1Contact person's phone number+35840987654
3contactpersonemailText0...1Contact person's emailtimo.testaaja@toimittajat.fi
3homepageText0...1Home page 
3commentText0...1CommentNo comments
2vendoradditionalinformationAggr.0...1  
3defaultvatpercentNumeric0...1Default VAT percent24
3ispartialvatreduceprivilegedText0...1Partial VAT reduced priviledgedFalse
3paymenttermdiscountpercentNumeric0...1Discount percentage
 
3paymenttermcashdiscountsdaysNumeric0...1Discount days
 
3paymenttermnetdaysNumeric0...1Default payment term days 
3currencycodeCurrency code0...1Default currencyEUR
Attr.  typeText1Currency code typeISO-4217
3vendordimensionsAggr.0...1Default dimensions 
4dimensionText1Dimension nameKohde
3vendoraccountingaccountsAggr.0...1Vendor accounting accounts 
4vendoraccountingaccountAggr.1...n  
5accountnumberText1Account number4000
5isdefaultText1Use as a default or notTrue
3vendoracceptancedetailsAggr.0...1Acceptors 
4vendoracceptancedetailAggr.1...n  
5acceptancenameText0...1Acceptor nameTaaki Tarkastaja
5isdefaultText0...1Use as a default or notFalse
5isforcedText0...1  

 

Get vendor

Resource: getvendor.nv

Returns vendor information. For now, the NetvisorKey cannot be obtained via API, it should be stored when importing vendor. 

Through Netvisor UI NetvisorKey can be obtained when opening the vendor and looking the serch bar, where is id (e.g. id=123).

Parameters:

ParameterTypeOccursDescription
netvisorkeyNumeric1Vendor's NetvisorKey

Response:

LevelElementTypeOccursDescriptionExample
RootrootAggr.1  
1vendorAggr.1  
2vendorbaseinformationAggr.1  
3codeText0...1Vendor code123
3nameText1Vendor nameTestitoimittaja
3addressText0...1AddressToimittajakatu 1
3postcodeText0...1Postal code00100
3cityText0...1CityHelsinki
3countryText0...1County codeFI
Attr.typeText1Type of county codeISO-3166
3organizationidText0...1Business ID (Y-tunnus)123456-7
3groupnameText0...1Vendor groupThe toimittajat
3vendorbankaccountsAggr.0...1Vendor's bank accounts 
4vendordomesticbankaccounts Aggr.0...1  
5vendordomesticbankaccountAggr.0...8Finnish bank accounts 
6netvisorkeyNumeric0...1Bank account's NetvisorKey1
6ibanText1Account number (IBAN)FI7536359370000661
6banknameText1Bank nameTestipankki
6isdefaultText0...1Use as a default or notTrue
4vendorforeignbankaccounts Aggr.0...1  
5vendorforeignbankaccountAggr.0...8Foreign bank accounts 
6netvisorkeyNumeric0...1Bank account's NetvisorKey2
6ibanText1Account number (IBAN)GB29NWBK60161331926819
6bicswiftText1BIC codeBUKBGB22
6banknameText1Bank nameBarclays
6clearingcodeText0...1Clearing code 
6clearingnumberText0...1Clearing number 
6bankaddresssText0...1Bank addressBank Street 1
6countryText1Country codeGB
Attr.typeText

1

Country code type ISO-3166
6currencycodeText1Currency codeGBP
Attr.typeText1Currency code typeISO-4217
6isdefaultText0...1Use as a default or notFalse
6includeaddresssinforeignpaymentsText0...1Add bank's address information to payment message besides BIC codeTrue
2vendorcontactdetailsAggr.0...1Vendor's contact information 
3phonenumberText0...1Phone number+35850123456
3emailText0...1Emailtoimittaja@toimittajat.fi
3faxnumberText0...1Fax 
3contactpersonnameText0...1Contact person's nameTimo Testaaja
3contactpersonphonenumberText0...1Contact person's phone number+35840987654
3contactpersonemailText0...1Contact person's emailtimo.testaaja@toimittajat.fi
3homepageText0...1Home page 
3commentText0...1CommentNo comments
2vendoradditionalinformationAggr.0...1  
3defaultvatpercentNumeric0...1Default VAT number24
3ispartialvatreducedprivilegedText0...1Partial VAT reduced priviledgedFalse
3paymenttermdiscountpercentNumeric0...1Discount percentage 
3paymenttermcashdiscountsdaysNumeric0...1Discount days 
3paymentermnetdaysNumeric0...1Default payment term days 
3currencycodeCurrency code0...1Default currencyEUR
Attr.  typeText1Currency code typeISO-4217
3vendordimensionsAggr.0...1Default dimensions 
4dimensionText1Dimension nameKohde
3vendoraccountingaccountsAggr.0...1Vendor accounting accounts 
4vendoraccountingaccountAggr.1...n  
5accountnumberText1Account number4000
5accountnameText1Account nameOstot
5isdefaultText1Use as a default or notTrue
3vendoracceptancedetailsAggr.0...1Acceptors 
4vendoracceptancedetailAggr.1...n  
5acceptancenameText0...1Acceptor nameTaaki Tarkastaja
5isdefaultText0...1Use as a default or notFalse
5isforcedText0...1  

 

Import product quality classes

Resource: productquality.nv

Quality resources will ONLY work if quality handling is activated in Netvisor. This concerns also purchaseorder.nv resource where you can define product quality.

 

ParameterOccursDescriptionExample
method1Add - add quality class
add

 

LevelElementTypeOccursDescriptionExample
RootrootAggr.1  
1productqualityAggr.1  
2isqualitydeviationText1Will be handled as quality exeptionTrue
or
False
2nameText1Name in Finnish (Default)
Hyvä laatu
2name_enText0...1Name in English
Good quality
2name_seText0...1Name in Swedish
God kvalitet

 

Get product quality list

Resource: getproductqualitylist.nv

Quality resources will ONLY work if quality handling is activated in Netvisor. This concerns also purchaseorder.nv resource where you can define product quality.

Response:

LevelElementTypeOccursDescriptionExample
RootrootAggr.1  
1ProductQualitiesAggr.1  
2ProductQualityAggr.1  
3NameText1Name of quality classHyvää tuotetta
3NetvisorKeyNumeric1Netvisor ID of quality class
1
3IsQualityDeviationText1Is this handled as quality exeptionFalse



xsd
(987 Bytes)
xml
xml
xml
(232 Bytes)
xml
xml
xml
xml
xml
xml
xsd
xml
(506 Bytes)
xml
(330 Bytes)
xsd
(7.87 KB)

Oliko tästä vastauksesta apua? Kyllä Ei

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.