This guide explains how to import Finvoice-formatted invoice material into Netvisor.
CONTENT
General
Finvoice invoice material can be imported into Netvisor from other systems in XML format. The only allowed file format for import is XML, and the Finvoice content must match the documentation described in this guide. The "Data import" function is used to transfer invoice data. 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 "Basic data management" and "Basic data import". You can find the Data import function in the Netvisor UI: Company menu > Data import and export > Data import.
To import invoice material, you need invoice material that complies with the Finvoice standard. The oldest supported version of Finvoice is 1.2, but newer Finvoice material versions can also be used.
The following steps must be completed in Netvisor for the import:
Import requires the activation of the software interface service. Open Company menu > API > Rights of interface resources page and in the "Valmiit intergaatiot" search field, type Rights of interface resources "Netvisor invoice data import (Finvoice)". Select the Netvisor invoice data import (Finvoice) integration and allow the integration, which will activate the necessary resources for importing invoices.
Additionally, the import requires that the software interface service 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 |
Importing customer details into Netvisor | |
Retrieving customer list from Netvisor | |
Importing product details into Netvisor | |
Retrieving product list from Netvisor | |
Importing Sales invoice / Sales order into Netvisor |
Invoice data used in import
The correspondence table below shows the information taken from the Finvoice material and the field in Netvisor where the information is targeted. Secondary information is used if a primary value has not been given in the invoice 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 environment Business ID in basic data. |
DeliveryDate |
| Delivery date |
|
InvoiceNumber |
| Invoice number |
|
InvoiceDate |
| Invoice date |
|
EpiRemittanceInfoIdentifier | EpiReference | Reference number |
|
InvoiceDueDate |
| Payment term days | Payment term is formed by subtracting Invoice date (InvoiceDate) from due date (InvoiceDueDate). |
CashDiscountDate |
| Cash discount days for the payment term |
|
CashDiscountPercent |
| Cash discount percent for the payment term |
|
DeliveryMethodText |
| Delivery method |
|
DeliveryTermsText |
| Delivery term |
|
InvoiceFreeText |
| Free text before invoice rows |
|
SellerReferenceIdentifier |
| Our reference |
|
BuyerReferenceIdentifier |
| Your reference |
|
OrderIdentifier |
| Order number | Shown in Netvisor in invoice Additional information |
SellerContactPersonName |
| Seller name | Connected to existing seller based on name |
InvoiceTotalVatIncludedAmount |
| Currency | Currency code is read from the message attribute. If an amount is given, it does not affect the invoice total. The invoice total is calculated based on invoice rows. |
Attribute: AmountCurrencyIdentifier |
|
| Takes the first attribute from the element, so naming is free, currency is read from this if other than EUR. |
Customer invoicing details to the invoice |
|
|
|
InvoiceRecipientPartyIdentifier | BuyerPartyIdentifier | Customer code |
|
InvoiceRecipientOrganisationName | BuyerOrganisationName | Customer name |
|
InvoiceRecipientOrganisationName |
| Extension for name | The second occurrence of the element is placed as extension for name. |
InvoiceRecipientOrganisationTaxCode | BuyerOrganisationTaxCode | Customer's Business ID | Customer Business ID when creating the customer card. NOTE. The Business ID must be a valid Finnish Business ID. If, for example, a foreign VAT number is wanted in this field, it is not read from the material, but must be added manually to the customer card afterwards. |
InvoiceRecipientStreetName | BuyerStreetName | Customer address |
|
InvoiceRecipientPostCodeIdentifier | BuyerPostCodeIdentifier | Customer postal code |
|
InvoiceRecipientTownName | BuyerTownName | Customer postal address |
|
CountryCode | CountryCode | Customer country code in ISO3166 format |
|
Delivery address details to the invoice |
|
|
|
DeliveryOrganisationName |
| Delivery place name |
|
DeliveryStreetName |
| Delivery place address |
|
DeliveryPostCodeIdentifier |
| Delivery place postal code |
|
DeliveryTownName |
| Delivery place postal address |
|
CountryCode |
| Delivery place country code in ISO3166 format |
|
Customer details to be added to the customer card |
|
|
|
InvoiceRecipientPhoneNumberIdentifier | BuyerPhoneNumberIdentifier | Phone number |
|
InvoiceRecipientEmailaddressIdentifier | BuyerEmailaddressIdentifier | Email address |
|
InvoiceRecipientEmailaddressIdentifier | BuyerEmailaddressIdentifier | Invoicing email address |
|
ToIdentifier |
| E-invoice address |
|
ToIntermediator |
| E-invoice operator id |
|
Invoice row |
|
|
|
ArticleIdentifier |
| Product code* | Product code when creating a new product card or targeting to a product card. |
ArticleName |
| Product name* | Product name when creating a new product card or targeting to a product card. |
RowAmount |
| Total (incl. VAT) | Invoice row total, including VAT |
RowDiscountPercent |
| Discount percent |
|
DeliveredQuantity |
| Quantity | Quantity of invoiced products |
RowVatRatePercent |
| VAT-percent | If not given, the invoice will have VAT% 0 |
RowNormalProposedAccountIdentifier |
| Posting suggestion |
|
RowFreeText |
| Row specification |
|
RowIdentifier |
| Order number |
|
Cost objects of the invoice row |
|
|
|
RowDefinitionHeaderText |
| Cost object header |
|
RowDefinitionValue |
| Cost object name |
|
Product details to be added |
|
|
|
ArticleIdentifier |
| Product code |
|
ArticleName |
| Product |
|
RowAmount |
| Total (incl. VAT) | Invoice row total, including VAT |
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 element |
To have Scandinavian letters (å, ä, ö) displayed correctly, the material must be in ISO/IEC 8859-15 encoded form. Special characters must be given in the material as XML entities according to the Finance Finland Finvoice 3.0 implementation guideline. See the table below.
Character | XML entity |
& |
|
< |
|
> |
|
" |
|
' |
|
For example, the company name TILI & Tiliöinti Oy must be given in the XML material as TILI & Tiliöinti Oy.
With Finvoice-formatted invoice material it is also possible to import cost object headers and cost objects from fields RowDefinitionHeaderText and RowDefinitionValue. If you want to prevent the import of cost object headers and cost objects, please contact Netvisor customer service.
If a customer is created during the import, both the e-invoice address details and the 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-invoicing data/email invoicing address must be manually updated to the customer card or imported to the customer register using Customer details import. If you want invoices to be allocated in the future to a customer card found in Netvisor, the Netvisor customer code must be given in the material (InvoiceRecipientPartyIdentifier or BuyerPartyIdentifier).
*If a product is not found by product code (ArticleName) nor by product name (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 row sum, delivered quantity, and possible discount.
The invoice total is calculated based on invoice rows.
One transfer file can contain multiple invoices. This way, invoices do not need to be imported one at a time.
Phases of data import
Open Company menu and choose "Data import"
Choose "Invoice/payment XML" as data type (see picture below, step 1) and press "Browse" (2)
Find the Finvoice file containing invoice data and press the "Submit data" button (3). This starts the data transfer to Netvisor.
If there are no errors in the import, after the import a specification of imported data and links to formed materials are presented.
The invoice import also automatically establishes in Netvisor the customer used on the invoice and the products used, if they are not already found. Please note that the customer's e-invoicing data is 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.
Error message "INVALID_DATA :: Tiedon muoto virheellinen:. XML-sanoman validointi epäonnistui: Could not validate xml: The element 'invoicelines' has incomplete content. List of possible elements expected: 'invoiceline'." indicates that there are deficiencies in the invoice rows or the fields do not match the fields described in this guide. Most commonly, the problem is that the material has "InvoicedQuantity" when it should be "DeliveredQuantity".
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>[email protected]</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, Software interface service, Import
This article has been translated using an AI-based translation tool. The contents or wording of these instructions may differ from those in other instructions or in the software.


