A German address is a street address with the house number after the street name, a five digit post code, and a locality name that frequently carries an addition without which it does not identify a place. Germany also issues three different kinds of post code for three different kinds of delivery, and they are not interchangeable.
This article describes the German address format, how CDQ represents it in the CDQ address model, and which reference data CDQ maintains for Germany. It is the reference for anyone mapping German business partner data into CDQ, or consuming curated German addresses from CDQ.
In this article, you will understand:
- How a German address is structured, and why the locality addition is part of the name
- How each German level maps to a concept in the CDQ address model, and which SAP field it reaches
- Why the federal state is not part of a German address, and what still needs it
- Why a German address has three possible kinds of post code and how each is delivered
- Which reference data CDQ maintains for Germany, and what the published values look like
- Where the current CDQ coverage for Germany is incomplete
Available in:
- CDQ Wiki: business partner metadata for Germany: browse the published German metadata
A German address has the ordinary European shape: a street, a house number, a post code and a place. Most of it needs no special handling, and this article does not pretend otherwise.
What is specific to Germany is narrower than the shape, and it is where integrations actually go wrong:
| Specific to Germany | Why it matters |
|---|---|
| The street type is joined onto the street name as a suffix | a German street value cannot be split on whitespace to find its type, and Bahnhofstrasse and Bahnhofstr. are the same street |
| The locality name carries an addition that is part of the official name | removing the addition does not shorten the name, it renames the place |
| Germany issues three different kinds of post code | they are not interchangeable, and each one reaches a different output field |
| The federal state is not part of a postal address | a German address without a state is complete as an address, and incomplete for everything else that needs it |
| The house number follows the street | a presentation rule, and the only part of the German street line that differs from the French or the United States one |
Germany has five levels below the country. One of them is used to deliver mail.
| Level | German | What it is | Used to address mail | Example |
|---|---|---|---|---|
| 1 | Bundesland | federal state, 16 of them | no | Bayern |
| 2 | Regierungsbezirk | administrative district, present in four states only | no | Oberbayern |
| 3 | Landkreis or kreisfreie Stadt | district, or a city that is its own district | no | Landkreis Muenchen |
| 4 | Gemeinde | municipality | yes | Muenchen |
| 5 | Ortsteil or Stadtteil | part of a municipality | only where a street name repeats inside the municipality | Schwabing |
The four levels that are not used to address mail are still business data. The district is the level a German company register entry is filed against, and the federal state is needed for the reasons set out below.
Muster GmbH
Abteilung Einkauf
Bahnhofstrasse 12a
80331 MuenchenThe street and the house number share one line, in that order. The post code precedes the locality on the last line, and it is always five digits.
German joins the street type to the name: Bahnhofstrasse, not Bahnhof Strasse. It is written in full or abbreviated to str., and both forms are common in master data. The same applies to -weg, -platz, -allee, -gasse, -ring and -damm. Where the name is a person or a place that would otherwise run together, a hyphen is used instead: Konrad-Adenauer-Allee.
This is why a German street value cannot be split on whitespace to find its type, and why a comparison that treats Bahnhofstrasse and Bahnhofstr. as different values will report differences that are not there.
Germany has many municipalities sharing a name, and they are distinguished by an addition:
| Form | Example | What it distinguishes |
|---|---|---|
| Preposition and river or mountain | Frankfurt am Main, Frankfurt (Oder) | two cities 500 kilometres apart, in different states |
| Preposition and a nearby city | Altdorf bei Nuernberg | from the other Altdorf municipalities |
| Region in brackets | Rotenburg (Wuemme), Neustadt (Wied) | from the other places of that name |
| Compass or descriptive word | Neustadt an der Weinstrasse | from more than thirty other places called Neustadt |
Frankfurt am Main shortened to Frankfurt is no longer an address: it could equally be Frankfurt (Oder). The same applies to every Neustadt, Kirchheim, Neukirchen and Zell. An abbreviation of the addition is fine, so Frankfurt a. M. is still unambiguous; removing it is not.
A complete German postal address is a street, a house number, a post code and a place. The Bundesland is not written on it and is not used to route anything. It is carried for purposes that have nothing to do with delivery:
| Use | Why it needs the state |
|---|---|
| Tax number normalisation | the German Steuernummer is issued per state and formatted per state, so the nationwide thirteen digit form can only be derived once the state is known |
| Output to SAP | an SAP region field is keyed on the state, so the state has to be known before that field can be filled at all |
| Reporting and territory assignment | statistical reporting, sales territories and tax jurisdictions are commonly cut by state |
The consequence for an integration is the reverse of what the address suggests. A German record with no state is complete as an address and incomplete for everything else, and the business partner has no reason to supply a value that never appears on its own letterhead. The state therefore belongs with the data that is derived, from the post code and the place, rather than with the data that is requested.
Umlauts have two written forms, and both are correct. Muenchen and München, Strasse and Straße. A German source may supply either, and the transliterated form is not a spelling mistake.
House numbers are not integers. 12a, 12-14, 12 1/2 and 12/1 all occur. A range means the building spans several numbers, not that two buildings are meant.
3-11 opened in a spreadsheet becomes 11 March and is then exported as a date. 12a becomes a time. Both are recognisable and reversible, and CDQ reverses them, but the safer fix is upstream: export the house number as text.
A German post code can have a leading zero. Post codes in Saxony, Thuringia and eastern Saxony-Anhalt begin with zero. Handled as a number anywhere in the chain, 01067 becomes 1067. Always carry a post code as text.
Care of and attention lines are not address data. c/o, z. Hd., Herr and Frau introduce a person, not a place. They belong in the care of field, and CDQ removes them from the address levels.
Post office box addresses have their own post code. A Postfach is not delivered to the street address, and its post code is a different code from the street post code of the same building.
Germany issues post codes for three purposes, and an address can carry more than one of them.
| Kind | German | Issued for | CDQ post code type | SAP field |
|---|---|---|---|---|
| Street post code | Hausanschrift | a street or a group of streets | REGULAR | post code |
| Post office box post code | Postfach | the post office box facility | POST_BOX | PO box post code |
| Large mail user post code | Grossempfaenger | a single organisation receiving high mail volumes | LARGE_MAIL_USER | company postal code |
A large mail user code identifies the organisation rather than a location, so it does not carry a street and it must not replace the street post code. Keeping it in its own field is what allows both to be delivered, and it is the field a receiving system expects a company post code in.
The CDQ address model has two parallel hierarchies. Administrative areas represent the political containers, typed REGION and COUNTY. Localities represent the places themselves, typed CITY, DISTRICT, QUARTER or BLOCK. Streets are held as thoroughfares with the number in its own field, and buildings, floors and rooms as typed premises.
Germany maps as follows:
| German level | CDQ concept | Type | SAP field |
|---|---|---|---|
| Bundesland | administrative area, level 1 | REGION | region |
| Landkreis or kreisfreie Stadt | administrative area, level 2 | COUNTY | county |
| Gemeinde | locality, level 1 | CITY | city |
| Ortsteil or Stadtteil | locality, level 2 | DISTRICT | district |
| Industriegebiet | thoroughfare | INDUSTRIAL_ZONE | appended to district |
| street with its joined type | thoroughfare | STREET | street |
| Hausnummer | thoroughfare number | n/a | house number |
| Gebaeude | premise | BUILDING | building |
| Stockwerk, Etage | premise | LEVEL | floor |
| Raum, Zimmer | premise | ROOM | room number |
| Postfach | postal delivery point | POST_OFFICE_BOX | PO box |
| street post code | post code | REGULAR | post code |
| Grossempfaenger post code | post code | LARGE_MAIL_USER | company postal code |
Germany uses the default presentation, in which the number follows the street value. The two values remain separate in the model. Where a receiving system needs them joined into one field, that is a per customer configuration rather than the standard, and the separator is configurable.
A German street is delivered twice: the thoroughfare value carries the expanded form and the short name carries the abbreviated one.
| Field | Value |
|---|---|
| Thoroughfare value | Bahnhofstrasse |
| Thoroughfare short name | Bahnhofstr. |
The SAP street line takes the short name where one exists, because the field is narrow and the abbreviation is the conventional German written form. Both remain available on the curated address.
CDQ delivers the federal state with its ISO 3166-2 code. An SAP system does not validate against ISO: it validates the region field against its own region key table, T005S, which is part of a customer's configuration. That key exists for tax and jurisdiction purposes, which is why it follows national tax or statistical numbering rather than ISO, and why the level it sits at differs from one country to the next.
The region key is customer-specific configuration, so this standard does not define one: a T005S is specific to a customer and to a client, and no single value would be correct everywhere. What this standard fixes is the ISO 3166-2 code. The mapping from it to the key your system expects is yours to maintain.
For Germany the key your configuration holds is conventionally a two digit number following German statistical numbering, rather than the ISO letters. The two systems share no characters, so this one is a lookup rather than a transformation.
Treat the ISO code as the value CDQ guarantees and the SAP key as a mapping you own.
Bahnhofstrasse 12a, 80331 Muenchen, in the CDQ address model:
| Field | Value |
|---|---|
| Country | DE |
Administrative area 1 (REGION) | Bayern |
| Administrative area 1 short name | BY |
Locality 1 (CITY) | Muenchen |
Thoroughfare (STREET) | Bahnhofstrasse |
| Thoroughfare short name | Bahnhofstr. |
| Thoroughfare number | 12A |
| Post code | 80331 |
The examples below show the shape of each dataset, not its full contents. The complete published lists for Germany are on the CDQ Wiki page business partner metadata for Germany, which also covers legal forms, identifier types and the integrated data sources.
All 16, each with its ISO 3166-2 code and names in German, English, French and Chinese.
| Code | German | English |
|---|---|---|
DE-BW | Baden-Wuerttemberg | Baden-Wuerttemberg |
DE-BY | Bayern | Bavaria |
DE-HH | Hamburg | Hamburg |
DE-NW | Nordrhein-Westfalen | North Rhine-Westphalia |
DE-SN | Sachsen | Saxony |
This is the one German dataset that is complete: every state resolves, and every state reaches SAP with the code that system expects.
The words that identify a street type, a building or a delivery point.
| Identifies | Term | Abbreviation | Position |
|---|---|---|---|
| Street | strasse | str., also matched as str | suffix or separate word |
| Street | Weg | none | suffix or separate word |
| Post office box | Postfach | PF, also matched as Postf. and Postf | separate word |
| Industrial zone | Industriegebiet | none | separate word |
| Building | Gebaeude | Geb. | separate word |
| Level | Stockwerk, Stock, Ebene | Stockw. | separate word |
| Room | Raum, Zimmer | R- | separate word |
| Quarter | Ortsteil, Stadtteil, Quartier | none | separate word |
The German list also carries the official postal abbreviations for the additions that appear in locality names, such as Westfalen to Westf, Sachsen-Anhalt to Sachs-Anh, Kreis to Kr and bei to b. These abbreviate part of a place name rather than a street, and are typed as locality terms accordingly. They are what allows Frankfurt am Main to be shortened to Frankfurt a. M. without losing the addition that identifies the city.
Five digits, with leading zeros significant. A country prefix is removed, so D-80331 and DE-80331 both resolve to 80331.
The format is validated and the value is not rewritten, so a post code that lost its leading zero upstream is carried as supplied rather than padded back to five digits. Post code normalisation is currently available for Canada and Mexico.
A German post code written as one digit repeated is treated as a placeholder rather than a code, with the exception of the repeated digits that are genuine German post codes.
The federal state is standardised against reference data: whether it arrives as a name or an ISO code, the canonical name and the ISO code are written back.
Street terms are recognised in the street text, whether joined as a suffix or standing alone, and the expanded form and the abbreviated form are both delivered.
Post codes have their country prefix removed and are validated against the five digit format.
House numbers are normalised: ranges lose their surrounding spaces, letter suffixes are uppercased, and numbers that a spreadsheet converted into a date or a time are reconstructed.
Care of and attention words are removed from the address levels and are not left in the street or the locality.
The municipality, the district and the levels below them are preserved as submitted. Where an address provider is enabled, it can enrich and complete them.
These are the gaps worth knowing about before designing an integration.
| Limitation | What it means for an integration |
|---|---|
| The federal state is standardised, and not derived | A state that arrives is matched against reference data and completed with its ISO code. A state that is absent stays absent, because CDQ standardises a supplied value rather than deriving one from the post code. Since the state is not part of a German postal address, absent is the normal case, and this is therefore the gap most likely to affect a German batch. Where an address provider is enabled, the state can come from that provider. |
| The address vocabulary covers the common forms and not yet all of them | Where a German street type is published, the street is delivered both expanded and abbreviated, and the presence of a short name is the signal that the type was recognised. Where a term is not yet published, the value is preserved exactly as submitted. The same applies to the premises words, so a flat or a floor written in one of the less common forms stays in the field it arrived in. |
| Locality short names are optional and not yet reference data | German locality short names are available as a feature that is off unless it is enabled, and they are not yet maintained as published reference data. The standard is that a short name abbreviates the locality addition and never removes it, since removing it renames the place. Until they are published as reference data, compare a delivered short name against the locality you supplied. |
The German locality addition is the only thing distinguishing many same-named places, so where you need a narrow city field, prefer an abbreviation of the addition over its removal, and keep the value you supplied so that the two can be compared. Frankfurt am Main and Frankfurt (Oder) are the case this matters most for.
A German address is a street address with the house number after the street, a five digit post code that may begin with a zero, and a locality name whose addition is part of the name rather than an ornament. The street type is joined to the street name as a suffix, so a German street cannot be split on whitespace to find its type.
Of the five German levels below the country, only the municipality is used to deliver mail. The federal state is not written on an address at all, and is nonetheless required to normalise a German tax number, to fill an SAP region field, and to cut reporting and territories. It is data to be derived rather than requested.
CDQ places the federal state in administrative area level 1 and the district in level 2, the municipality in locality level 1 and the Ortsteil in level 2. The street and the number stay in separate fields, and the street is delivered both expanded and abbreviated. Building, floor and room are typed premises.
Germany issues three kinds of post code, and the standard keeps them apart: the street post code as the regular one, the post office box code with the box, and the large mail user code in the company post code field.
All 16 federal states are maintained as CDQ reference data with their ISO codes and their names in four languages. Below that level, districts and municipalities are preserved as submitted, the German street and premises vocabulary covers the common forms rather than all of them, and locality short names are an optional feature rather than published reference data.
- Business partner metadata for Germany
- France Address Standard
- Portugal Address Standard
- United States Address Standard
We are constantly working on providing an outstanding user experience with our products. Please share your opinion about this tutorial!