Skip to main content

Finvoice import

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:

  1. 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.

  2. 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".

  3. 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

&

&

<

&lt;

>

&gt;

"

&quot;

'

&apos;

For example, the company name TILI & Tiliöinti Oy must be given in the XML material as TILI &amp; 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

  1. Open Company menu and choose "Data import"

  2. Choose "Invoice/payment XML" as data type (see picture below, step 1) and press "Browse" (2)

  3. 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.

Did this answer your question?