Skip to main content

CSV File Import

If you wish to send packages to a large number of recipients, you can use the File Import function.

tip

Importing XML instead of CSV? See XML File Import.


Create a Profile

Before importing the file, you must create an import profile.

CSV import menu

  1. Go to ProfilesAddresses or Shipments → press +
  2. Choose Import Type → Addresses or Shipments
  3. Add a Profile Name (e.g. Address book)
  4. Choose Import File Type → CSV

Profile creation form

Set these to match your file

These are pre-filled, not detected from your file — get them wrong and your rows import garbled or fail.

SettingPre-filled withChange it when
EncodingUTF-8Your file is not UTF-8 — or pick Detect automatically if you are unsure
Column delimiter;Your columns are separated by ,, | or Tab
Decimal separator.Your weights are written as 2,5
Multiple value delimiter,You put several values in one column, separated by ; or |
Contains headertickedYour file has no header row

Profile default settings

  1. Press Continue
  2. Press Upload File

Upload file

  1. Press Process File
  2. Map field names based on the header names of your CSV file

Field mapping (1)

Field mapping (2)

note

The dropdown is filled by reading your file with the profile settings you chose, so it shows you straight away whether they are right:

  • your real column names — the settings match your file
  • Position 0, 1, 2 — the file is being read without a header row. That is correct if your file has none (Position 0 is column A of the spreadsheet); if your file does have a header, tick Contains header in the profile.
  • one long merged name — the Column delimiter does not match your file

Field mapping — no header

The Function column can remain untouched.

If needed, you can add a Transformation — created and used when data from the CSV file must be adapted for import. For example, use this when the country name in your file is "Switzerland" but the system requires ISO 3166-1 alpha-2 format ("CH").

Transformation

When all mandatory (and optional) field names are entered, press Save.

Shipment Fields You Can Map

When your Import Type is Shipments, you can map your CSV columns to the fields below. Map only the columns you have — anything you leave out simply won't be filled in.

Address details (sender / receiver)

Each address field can be mapped separately for the sender and the receiver.

FieldWhat it meansMax lengthRequired?
NameCompany or person name35Yes
Name2Second name line35Optional
ContactContact person35Optional
CountryCountry as ISO code (e.g. CH, DE)2Yes
State / provinceState codeFor US/CA
Postal codeZIP / postal code9Yes
CityCity35Yes
StreetStreet name and number35Yes
Street2Additional address line (receiver only)35Optional
House numberSeparate house number8For NL
PhonePhone in international format35For GB
EmailEmail address100For non-CH/LI countries
ReferenceYour address referenceOptional
LanguageRecipient language, ISO 639-1 (DE, EN, FR, IT)Optional
note

The mandatory fields apply to the receiver. For the sender you can instead map a Sender address ID to pull in a saved address book entry. A dash in Max length means the length is not checked on import.

Service details

FieldWhat it meansMax lengthRequired?
Service codeThe DPD product/service for the shipment (e.g. Classic, Express) — see Services and OptionsOptional
Option codesAdditional service options, separated by your multi-value delimiter — see Services and OptionsOptional
note

You can also map a full return address (name, company name, contact, street, house number, postal code, city, country, state, phone, email, language) — the same fields and limits as the address table above.

Parcel details

FieldWhat it meansMax lengthRequired?
WeightParcel weight in kg (e.g. 2.5)numberYes
Number of parcelsHow many parcels are in the shipment. A higher number is reduced to 2020Optional
Shipment noteNote for the shipmentOptional
Return shipment noteNote for the return shipmentOptional
Customer reference 1–4Your shipment-level references35 eachOptional
Parcel reference 1 / 2Your parcel-level references, printed on the label and manifest35 eachOptional
Parcel reference 3 / 4Additional parcel references for your own use35 eachOptional
Insured amount + currencyFor the Higher Insurance service: the insured value and its currency (e.g. CHF)currency 3Optional
Number of swap parcelsNumber of swap parcels (Swap service)numberOptional
Delivery informationDelivery information for the shipment175Optional

A row with a value over one of these limits is rejected. The rest of the file is still imported.

Shipment note and Return shipment note can be mapped, but the values are not imported. A currency code longer than 3 characters is replaced by your default currency.

note

For dangerous goods in limited quantities, you can also map: UN number, substance code, packaging group, class, and substance weight. Their length is not checked on import.

tip

Weight is required for every parcel — make sure your CSV has a weight column (in kg) before importing. A negative weight is rejected.


Upload the CSV File

File imports menu

  1. Go to File Imports
  2. Press Import File in the top-right corner

Import file button

  1. Choose the Profile (the name you entered in step 1)
  2. Upload the CSV file and press Import

CSV import dialog

  1. Press Refresh

After import — refresh

The imported information will appear in your address book or shipments.


ERP / CRM integration

Desktop App only

Automatic, unattended import is a Desktop App feature. Online Label Print imports files that you upload by hand, as described above.

The Desktop App can connect to your existing ERP, CRM or e-commerce platform and import shipment data without manual entry.

How it works

  1. Your ERP or CRM exports shipment data — recipient addresses, weights, service codes, references
  2. The Desktop App picks up the exported data from a configured source
  3. Shipments are created automatically, and labels can be printed straight away
  4. Tracking numbers and status are written back to your ERP if configured

Supported integration methods

MethodDescription
File import (CSV / flat file)Your ERP writes files to a folder, an FTP or an SFTP server; the Desktop App picks them up
Database connectionDirect connection to your ERP database (PostgreSQL, MSSQL, …)
REST APIYour ERP calls the Shipment REST API directly

Automatic pick-up from a folder, FTP or SFTP is configured under Imports → Data sources in the installed application. The available options — interval checks, semaphore files, error and archive folders, and printing labels after processing — are documented under Data sources.


Technical Requirements for CSV File

The system supports flexible CSV formats with several encoding and delimiter options.

Character Encoding

Choose one of the supported encodings:

EncodingUse CaseNotes
UTF-8Recommended for all filesUniversal support, handles all special characters
ISO-8859-1Western European languagesGerman umlauts (ä, ö, ü), French accents (Latin-1)
Windows-1250Central European languagesPolish, Czech, Hungarian, Slovak
Windows-1251Cyrillic charactersUkrainian, Bulgarian, Russian
Windows-1252Western European languagesGerman, French, Italian (Windows Latin-1)
Detect automaticallyWhen you are not sure which encoding your file usesThe system reads the encoding from the file itself
tip

Save your CSV as UTF-8 in Excel: File → Save As → CSV UTF-8 (Comma delimited)

Field Delimiters

DelimiterSymbolExcel Export (Region)Use When
Semicolon;European Excel (DE/FR/IT)Recommended for European locales
Comma,US/UK ExcelData doesn't contain commas
Tab\tManual exportData contains many special characters
Pipe|Database exportsTechnical integrations
warning

Your data must not contain the delimiter character, or it must be properly quoted.


CSV Header Format

Headers must start with a letter (A–Z, a–z) or underscore (_).

Allowed characters in headers (after the first character):

CharacterExamples
LettersA–Z, a–z
Numbers0–9
Underscore_
Hyphen-
Dot.
Space
Parentheses( )
Forward slash/
Colon:
Ampersand&
Comma,

Not allowed as first character: Numbers, special symbols ($, #, @, !, etc.)

Valid header examples:

Name;Address1;PostalCode;Country
DokStatus;DokDat.;Order_Nr;Weight.KG
Customer Name;Street & Number;Date/Time;Status (Active)
recipient_name;recipient_address;tracking-number

Invalid header examples:

123;456;789 (starts with number)
$Amount;#ID;@Email (special chars: $, #, @)
;Name;Address (empty first column)

CSV Configuration Parameters

ParameterTypeDescriptionExample Values
columnDelimiterStringCharacter separating fields; , \t |
decimalSeparatorStringDecimal point for numbers. (US) or , (EU)
multiValueDelimiterStringSeparator for multi-value fields| ; ,
containsHeaderBooleanWhether first row is a headertrue / false

Decimal separator examples:

European format (comma as decimal):

Name;Weight;Price
Product A;2,5;19,99
Product B;1,8;15,50

US format (dot as decimal):

Name,Weight,Price
Product A,2.5,19.99
Product B,1.8,15.50

Creating CSV Files from Excel

  1. Prepare your data:

    • First row = headers
    • No empty rows at the top
    • Consistent column count
  2. Save as CSV:

    • European (semicolon): File → Save As → CSV (Semicolon delimited) *.csv
    • UTF-8: File → Save As → CSV UTF-8 (Comma delimited) *.csv
    • US (comma): File → Save As → CSV (Comma delimited) *.csv
  3. Verify encoding:

    • Open the file in Notepad or TextEdit
    • Check that special characters (ä, ö, ü, é) display correctly

Common Issues & Solutions

Something not looking right after import? Here are the most common cases and how to fix them in your import profile.

Special characters look wrong — e.g. Müller shows up as Müller

The file's encoding doesn't match your profile. Re-save the file as UTF-8 (in Excel: Save As → CSV UTF-8) and set Encoding to UTF-8 in the profile. Open the file in a text editor to check the accents look right.


Numbers are treated as text — e.g. 2,5 isn't recognised as a number

Your decimal sign doesn't match the profile. Set Decimal separator to match your file: a comma (,) for European files, a dot (.) for US/international files.


All your data lands in one column

The profile is splitting columns on the wrong character. Check what separates the columns in your file, then set the matching Column delimiter — European Excel usually uses a semicolon (;), US Excel a comma (,).


Your header row is imported as data

Contains header is switched off in the profile. Turn it on, and make sure your headers start with a letter, not a number.


The import fails or shows unexpected columns

This is usually caused by stray rows or columns. Remove any empty rows at the top of the file, make sure every row has the same number of columns, and delete any leftover delimiters at the end of your lines.


Pre-Import Checklist

Before importing, verify:

  • File encoding is UTF-8 (or appropriate for your language)
  • Delimiter matches configuration (semicolon for Europe, comma for US)
  • Headers start with letters (if using headers)
  • No empty rows at the top
  • Consistent column count across all rows
  • Decimal separator matches your number format
  • Special characters (ä, ö, ü, é) display correctly in a text editor
  • No trailing spaces or delimiters
  • File size is reasonable (< 25 MB recommended)