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 ServerRename
{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?