This guide explains how to import Finvoice-formatted invoice data into Netvisor.
CONTENT
General
It is possible to import sales invoices into Netvisor in Finvoice XML format using the "Data import" function. The imported invoices must be sales invoices; importing purchase invoices is not possible. The function is available for all companies, and the user must have editing rights in Accounting function-specific rights for "Perustietojen hallinta" and "Perustietojen tuonti". You can find the Data import function in the Netvisor UI: Company menu > Data import and export > Data import.
To be able to import sales invoices, you need invoice material in Finvoice standard. The oldest supported version of Finvoice is 1.2, but newer versions can also be used.
The following steps must be completed in Netvisor for the import:
- Import requires the activation of the Web Service Interface. Open Company menu > API > Rights of interface resources page and type Rights of interface resources in the "Valmiit intergaatiot" search field "Netvisor laskutietojen tuonti (Finvoice)". Select the Netvisor laskutietojen tuonti (Finvoice) integration and allow the integration, which will activate the necessary resources for importing invoices.
- Additionally, the import requires that the Web Service Interface is activated. Activation is done in Netvisor Company menu > API > API identifiers > The toggle switch must be "Enabled"
- The person transferring the material must create API identifiers for themselves by opening Company menu > API > API identifiers page and clicking the "Create new API identifier" button. Please note that each user importing material must create their own API identifiers for the invoice import to work. The identifiers are not chargeable. The API identifiers only need to be created, and they do not need to be entered anywhere.
Using the Netvisor invoice import function is included in all packages.
Importing invoice data (Finvoice) requires the following resources:
Resource | Description |
Customer.nv | Importing customer details |
Customerlist.nv | Retrieving customer list |
Product.nv | Importing product details |
Productlist.nv | Retrieving product list |
Salesinvoice.nv | Importing sales invoice / sales order |
Finvoice import details
The table below shows fields taken from the Finvoice material and what field is used in Netvisor. Secondary information is used if primary information is not given in the Finvoice material. Example materials can be found at the end of the guide, and an Excel-format correspondence table can be downloaded here.
Finvoice field, primary | Finvoice field, secondary | Field in Netvisor | Description |
Invoice level | |||
SellerOrganisationTaxCode | SellerPartyIdentifier | Seller's Business ID | Seller's business ID (y-tunnus), must be the same as in the Netvisor's basic data settings. |
DeliveryDate | Delivery date | ||
InvoiceNumber | Invoice number | ||
InvoiceDate | Invoice date | ||
EpiRemittanceInfoIdentifier | EpiReference | Reference number | |
InvoiceDueDate | Payment term days | Payment term is formed by subtracting InvoiceDate from InvoiceDueDate | |
CashDiscountDate | Cash discount days for the payment term | ||
CashDiscountPercent | Cash discount percent | ||
DeliveryMethodText | Delivery method | ||
DeliveryTermsText | Delivery term | ||
InvoiceFreeText | Free text before invoicelines | ||
SellerReferenceIdentifier | Our reference | ||
BuyerReferenceIdentifier | Your reference | ||
OrderIdentifier | Order number | Order number is shown in sales invoice Additional information | |
SellerContactPersonName | Seller name | Connected to existing seller based on name | |
InvoiceTotalVatIncludedAmount | Currency | Currency code is taken from the message attribute. If an amount is given, it does not affect the invoice total. The invoice total is calculated based on invoice lines. | |
Attribute: AmountCurrencyIdentifier | Takes the first attribute from the element, so naming is free, currency is read from this if other than EUR | ||
Invoicing information to the invoice | |||
InvoiceRecipientPartyIdentifier | BuyerPartyIdentifier | Customer code | |
InvoiceRecipientOrganisationName | BuyerOrganisationName | Customer name | |
InvoiceRecipientOrganisationName | Extension for name | The second occurrence of the element is the extension for name | |
InvoiceRecipientOrganisationTaxCode | BuyerOrganisationTaxCode | Customer's Business ID | Customer's Business ID when creating new customer. NOTE! The Business ID should be valid Finnish Business ID. If you wish to use foreign VAT identifier it is not taken from the Finvoice material. Foreign VAT identifiers have to be added manually to customer details |
InvoiceRecipientStreetName | BuyerStreetName | Customer address | |
InvoiceRecipientPostCodeIdentifier | BuyerPostCodeIdentifier | Customer post number | |
InvoiceRecipientTownName | BuyerTownName | Customer city | |
CountryCode | CountryCode | Customer country code ISO3166 standard | |
Delivery information to the invoice | |||
DeliveryOrganisationName | Delivery name | ||
DeliveryStreetName | Delivery address | ||
DeliveryPostCodeIdentifier | Delivery post number | ||
DeliveryTownName | Delivery city | ||
CountryCode | Delivery country code ISO3166 standard | ||
Customer details to the customer card (if not exist) | |||
InvoiceRecipientPhoneNumberIdentifier | BuyerPhoneNumberIdentifier | Phone number | |
InvoiceRecipientEmailaddressIdentifier | BuyerEmailaddressIdentifier | ||
InvoiceRecipientEmailaddressIdentifier | BuyerEmailaddressIdentifier | Email invoicing address | |
ToIdentifier | E-invoice address | ||
ToIntermediator | E-invoice operator | ||
Invoice row | |||
ArticleIdentifier | Product code | Product code when creating a new product or targeting to an existing product | |
ArticleName | Product name | ||
RowAmount | Product unit price | Calculated on the basis of line sum, delivered quantity, and discount | |
RowDiscountPercent | Discount percent | ||
DeliveredQuantity | Product quantity | Quantity of invoiced products | |
RowVatRatePercent | VAT-percent | If not given, the invoice will have VAT% 0 | |
RowNormalProposedAccountIdentifier | Accounting suggestion | ||
RowFreeText | Row free text | ||
RowIdentifier | Order number | ||
Dimensions of the invoice row's | |||
RowDefinitionHeaderText | Dimension header | ||
RowDefinitionValue | Dimension item | ||
Product details to the product card (if not exist) | |||
ArticleIdentifier | Product code | ||
ArticleName | Product name | ||
RowAmount | Product unit price | Calculated on the basis of line sum, delivered quantity, and discount | |
RowDiscountPercent | - | ||
DeliveredQuantity | - | ||
Attribute: QuantityUnitCode | Unit | ||
RowVatRatePercent | VAT-percent | Takes the first attribute from the element, so naming is free | |
Comment row | |||
RowFreeText | Comment row | Element must be the only element in the InvoiceRow |
To be able to import Scandinavian letters (å, ä, ö), the material needs to be encoded in ISO/IEC 8859-15 form.
It is also possible to import dimension headers and dimension items in fields RowDefinitionHeaderText and RowDefinitionValue. If you want to prevent the import of dimension headers and dimension items, please contact Netvisor customer service.
If a customer is created during the import, both e-invoice address details and email invoicing address are read from the invoice material to the customer card if they are found in the material. If the customer is already found in Netvisor before the import (i.e., the customer code given in the material is found in Netvisor), the e-invoice details/email invoicing address must be manually updated to the customer card or imported using Customer Data import. If you want invoices to be allocated to a customer card in Netvisor in the future, the customer code (InvoiceRecipientPartyIdentifier or BuyerPartyIdentifier) must be the same in the Finvoice file and in the Netvisor customer card.
If the product is not found by product code (ArticleName), the product is created in Netvisor according to the invoice material data. If the product is already found in Netvisor, the data is not updated from the invoice material to the Netvisor product.
The product unit price is calculated based on the line sum, delivered quantity, and possible discount.
The invoice total is calculated based on invoice lines.
One transfer file can contain multiple invoices. This way, invoices do not need to be imported one at a time.
Phases of Finvoice import
- Open Company menu and choose "Data import"
- Choose "Lasku/suoritus XML" (see picture below, step 1) and press "Selaa" (2)
- Find the Finvoice file containing invoice data and press "Submit data" button (3). This starts the data transfer to Netvisor.
If there are no errors in the import, a specification of imported data and links to formed materials are presented after the import.
The invoice import also automatically establishes the customer used on the invoice and the products used in Netvisor if they are not already found. Please note that the customer's e-invoice details are not saved to the customer card at this point. If the customer and products used on the invoice are found in Netvisor, the data is targeted to the existing customer and products.
If there are errors in the imported material, an error message is displayed, explaining why the material cannot be imported into the system. Below the error message, an editor window is displayed, but the user cannot make changes to the imported material through this window; changes must be made to the original Finvoice material. After correction, the material can be imported again. If the material contains multiple invoices, the invoices in the correct format are imported directly. Please do not edit the imported invoices in the UI after the import.
Finvoice examples
The examples below show the minimum information that the Finvoice material must have in order to import a sales invoice, as well as the maximum information that can be read from the material. In addition to these, the Finvoice material may have other information according to the Finvoice standard, but it is not read into Netvisor.
Finvoice minimum:
<?xml version="1.0" encoding="ISO-8859-15"?>
<?xml-stylesheet type="text/xsl" href="Finvoice.xsl"?>
<Finvoice>
<SellerPartyDetails>
<SellerOrganisationTaxCode>FI12345678</SellerOrganisationTaxCode>
</SellerPartyDetails>
<BuyerPartyDetails>
<BuyerOrganisationName>Esimerkkiasiakas</BuyerOrganisationName>
</BuyerPartyDetails>
<InvoiceDetails>
<InvoiceNumber>100</InvoiceNumber>
<InvoiceDate Format="CCYYMMDD">20230124</InvoiceDate>
<InvoiceDueDate Format="CCYYMMDD">20230207</InvoiceDueDate>
</InvoiceDetails>
<InvoiceRow>
<ArticleName>Esimerkkituote</ArticleName>
<DeliveredQuantity QuantityUnitCode="pcs">10,00</DeliveredQuantity>
<RowAmount AmountCurrencyIdentifier="EUR">100,00</RowAmount>
</InvoiceRow>
</Finvoice>
Finvoice maximum:
<?xml version="1.0" encoding="ISO-8859-15"?>
<?xml-stylesheet type="text/xsl" href="Finvoice.xsl"?>
<Finvoice>
<MessageTransmissionDetails>
<MessageReceiverDetails>
<ToIdentifier>FI109700021497</ToIdentifier>
<ToIntermediator>NDEAFIHH</ToIntermediator>
</MessageReceiverDetails>
</MessageTransmissionDetails>
<SellerPartyDetails>
<SellerPartyIdentifier>1234567-8</SellerPartyIdentifier>
<SellerOrganisationTaxCode>FI12345678</SellerOrganisationTaxCode>
</SellerPartyDetails>
<InvoiceRecipientPartyDetails>
<InvoiceRecipientPartyIdentifier>1967543-8</InvoiceRecipientPartyIdentifier>
<InvoiceRecipientOrganisationName>Esimerkkiasiakas5</InvoiceRecipientOrganisationName>
<InvoiceRecipientOrganisationName>c/o uusi tilitoimisto</InvoiceRecipientOrganisationName>
<InvoiceRecipientOrganisationTaxCode>FI19675438</InvoiceRecipientOrganisationTaxCode>
<InvoiceRecipientPostalAddressDetails>
<InvoiceRecipientStreetName>Soratie 2</InvoiceRecipientStreetName>
<InvoiceRecipientTownName>OULU</InvoiceRecipientTownName>
<InvoiceRecipientPostCodeIdentifier>00000</InvoiceRecipientPostCodeIdentifier>
<CountryCode>FI</CountryCode>
</InvoiceRecipientPostalAddressDetails>
</InvoiceRecipientPartyDetails>
<BuyerCommunicationDetails>
<BuyerPhoneNumberIdentifier>000000</BuyerPhoneNumberIdentifier>
<BuyerEmailaddressIdentifier>example@visma.com</BuyerEmailaddressIdentifier>
</BuyerCommunicationDetails>
<DeliveryPartyDetails>
<DeliveryOrganisationName>Esimerkkitoimitus5</DeliveryOrganisationName>
<DeliveryPostalAddressDetails>
<DeliveryStreetName>Katu</DeliveryStreetName>
<DeliveryTownName>Kaupunki</DeliveryTownName>
<DeliveryPostCodeIdentifier>00000</DeliveryPostCodeIdentifier>
<CountryCode>FI</CountryCode>
</DeliveryPostalAddressDetails>
</DeliveryPartyDetails>
<DeliveryDetails>
<DeliveryDate Format="CCYYMMDD">20230223</DeliveryDate>
<DeliveryMethodText>Toimitustapa</DeliveryMethodText>
<DeliveryTermsText>Toimitusehto</DeliveryTermsText>
</DeliveryDetails>
<InvoiceDetails>
<InvoiceNumber>202</InvoiceNumber>
<InvoiceDate Format="CCYYMMDD">20230223</InvoiceDate>
<SellerReferenceIdentifier>Viitteemme</SellerReferenceIdentifier>
<OrderIdentifier>Tilausnro</OrderIdentifier>
<BuyerReferenceIdentifier>Viitteenne</BuyerReferenceIdentifier>
<InvoiceTotalVatIncludedAmount AmountCurrencyIdentifier="USD">0</InvoiceTotalVatIncludedAmount>
<InvoiceFreeText>Vapaa teksti</InvoiceFreeText>
<PaymentTermsDetails>
<InvoiceDueDate Format="CCYYMMDD">20230309</InvoiceDueDate>
<CashDiscountDate>20230301</CashDiscountDate>
<CashDiscountPercent>10</CashDiscountPercent>
</PaymentTermsDetails>
</InvoiceDetails>
<InvoiceRow>
<RowFreeText>Kommenttirivi</RowFreeText>
</InvoiceRow>
<InvoiceRow>
<ArticleIdentifier>1x1</ArticleIdentifier>
<ArticleName>Esimerkkituote5</ArticleName>
<DeliveredQuantity
QuantityUnitCode="kpl">10,00</DeliveredQuantity>
<RowIdentifier>Tilausnro</RowIdentifier>
<RowFreeText>Riviselite</RowFreeText>
<RowDiscountPercent>10,00</RowDiscountPercent>
<RowVatRatePercent>24,00</RowVatRatePercent>
<RowAmount>90,00</RowAmount>
<RowNormalProposedAccountIdentifier>3000</RowNormalProposedAccountIdentifier>
<RowDefinitionDetails>
<RowDefinitionHeaderText>Projekti</RowDefinitionHeaderText>
<RowDefinitionValue>Projekti 15</RowDefinitionValue>
</RowDefinitionDetails>
</InvoiceRow>
<EpiDetails>
<EpiIdentificationDetails>
<EpiReference>123</EpiReference>
</EpiIdentificationDetails>
<EpiPaymentInstructionDetails>
<EpiRemittanceInfoIdentifier>123</EpiRemittanceInfoIdentifier>
</EpiPaymentInstructionDetails>
</EpiDetails>
</Finvoice>
Keywords: Invoice material, Finvoice, Netvisor, XML, Sales invoice, Web Service Interface, Import
Did you find it helpful? Yes No
Send feedback