SFTP Integration

The Qvalia SFTP integration handles all Peppol XML Document types by default but we also support "custom" formats.

The SFTP setup is done by our helpdesk, and you will require a Qvalia account prior to being able to test the SFTP integration.

Qvalia hosts an SFTP Server, and both sending and receiving is done through an SFTP client from your environment.

Custom format

"Custom format" means we can add a transformation for your required format both for outbound (sending) and inbound (receiving) documents. For example, if you use SAP IDoc we can transform incoming Peppol XML to SAP IDoc for you and you'd pick up the ready-made SAP format from our SFTP. Likewise, if you are using outbound, you can upload your SAP IDoc and we will transform it for you.

As long as you have structured data we can add a custom format for you, and handle anything you send to us, as long as it is possible to transform into Peppol BIS 3 format.

Any custom type message must be uploaded to the /custom subdirectory on the SFTP, e.g. /send/custom/

Sending and receiving

Any inbound (receiving) documents will be uniquely named according to a predefined format including, e.g., the document date and document number, and place in the root directory of your SFTP account.

We recommend that you follow the common SFTP renaming standards for downloading received files to avoid downloading duplicates in case connection would be interrupted:

  • Connect to the SFTP server

  • List files

  • Start processing file list by:

    • Rename the first file in the list to {original-filename}.downloading

    • Start download of {original-filename}.downloading

    • Once download is completed, delete {original-filename}.downloading from SFTP Server

    • Rename {original-filename}.downloading locally back to {original-filename}

Outbound (sending) documents will be uploaded by you to the sub-directory named /send. The send directory is created automatically for you when you opt for the outbound functionality from Qvalia.

Error handling

When you upload your outbound documents and they should happen to be faulty in some way (e.g. invalid Peppol XML) the file uploaded will be renamed to {original-filename}.{error type}.error.

It is up to you to download and inspect any .error file that will remain on your SFTP area. We never delete .error files, so they'll remain in your /send directory until you delete them yourself.

The error types are

  • *.invalid_messagetype.error

    • A file that we cannot recognize and/or handle. It can also be a zero byte (empty) file.

  • *.validation.error

    • The uploaded file is invalid Peppol BIS 3

  • *.peppol_recipient.error

    • The recipient of the Peppol message is not registered in the Peppol network, or does not accept the uploaded message type

  • *.unknown_internal.error

    • It's on us, not you; We couldn't handle the file for some reason

  • *.envelope_missing.error (Svefaktura, Finvoice only!)

    • We need the SBD envelope with sender and recipient details in the SBDH

  • *.unsupported_messagetype.error

    • The uploaded ZIP archive contains invalid files

  • *.mixed_messagetypes.error

    • The uploaded ZIP archive, or envelope, contains multiple types of files

  • *.invalid_type.error

    • The uploaded data is not supported by the chosen delivery method

  • *.invalid_path.error

    • The file has been uploaded in a directory we do not actively handle

Processed files

Once the processing is completed the file will be moved, and renamed, in a sub-directory called /processed, meaning you will find your already processed files in /send/processed/{original-filename}.processed.

When, and if, you remove (delete) the files form /processed is up to you but please note that some SFTP clients can't read too large file lists why we recommend emptying the /processed sub-directory at a set interval, depending on the number of files you send.

Consolidation

If you have multiple accounts set up with us, but want to handle all SFTP communication in one and the same account you can use “consolidation”.

Helpdesk can help you setting up SFTP Consolidation!

[dir] ..
  ACCNT1_Order_msg_1.xml
  ACCNT2_Invoice_msg_1.xml
  ACCNT3_OrderResponse_msg_1.xml

For your outgoing messages, you can either opt for file naming, or use subdirectories, for sending over a consolidated account.

[dir] ..
  send/
    consolidation.ACCNT1.Order1.xml
    consolidation.ACCNT3.Invoice1.xml
[dir] ..
  send/
    ACCNT1/
      Order1.xml
    ACCNT3/
      Invoice1.xml

Dynamic Routing

We can utilize “dynamic routing” to determine how to best deliver the message (only supported for Invoice and CreditNote).

You must contact Helpdesk prior to using dynamic routing!

/send/dynamic_routing/

The message will be inspected to find the delivery information according to your account setup (which you will receive from Helpdesk). The fall-back for dynamic routing is always to print the message and send as a letter.

Last updated

Was this helpful?