TL;DRPZN stands for Pharmazentralnummer, the nationally uniform identification key for medicines and other pharmacy goods in Germany. It is an eight-digit number including a check digit, assigned by the IFA GmbH, and it works as the agreed key to trade name, manufacturer, pharmaceutical form, strength and pack size.
That definition is not a convention that grew up informally. It is contractual. The framework agreement under section 131 SGB V, concluded between the GKV-Spitzenverband and the federal associations of pharmaceutical companies, states in its section 2 that the nationally uniform identifier required by section 300 paragraph 3 sentence 1 no. 1 SGB V is the Pharmazentralnummer, and it defines that identifier as the unique key to trade name, manufacturer, pharmaceutical form, strength, pack size and further price and product information.
The PZN is deliberately non-speaking. No digit encodes a manufacturer, a substance class or a pack size. It is a neutral pointer, and everything a professional actually wants to know sits in the databases the number points into. That is the whole design: one short number, agreed by every market side, that resolves to the same product for the pharmaceutical company, the wholesaler, the pharmacy and the health insurer. The IFA GmbH assigns it on application by the pharmaceutical company, on the basis of a supplier contract concluded between the two.
Since 1 January 2013 PZN are issued with eight digits. PZN that carried seven digits up to 31 December 2012 were extended to eight with a leading zero and remain valid. Leading zeros are therefore part of the code and must never be trimmed, which is the single most common integration bug when PZN are moved through spreadsheets or loosely typed database columns.
The last of the eight digits is a check digit, calculated from the seven preceding digits using a modulo 11 procedure. The calculation is short enough to implement in any language in a few lines:
The worked example published by IFA uses the information digits 2758089:
| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | Check digit |
|---|---|---|---|---|---|---|---|---|
| PZN digit | 2 | 7 | 5 | 8 | 0 | 8 | 9 | 9 |
| Weighting | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| Product | 2 | 14 | 15 | 32 | 0 | 48 | 63 |
The seven products add up to 174. Dividing 174 by 11 gives 15 remainder 9, so the check digit is 9 and the complete PZN is 27580899. The purpose of the check digit is narrow and practical: it catches mistyped and misscanned numbers at the point of order entry, before a wrong pack is picked or a wrong article is billed.
This is the distinction that costs integration teams the most time, because all four identifiers can appear on the same carton and three of them contain the PZN. They are not competing schemes. They are wrappers at different scopes.
| Identifier | Stands for | Issued by | Structure | Scope |
|---|---|---|---|---|
| PZN | Pharmazentralnummer | IFA GmbH | 8 digits, last digit a modulo 11 check digit | Germany |
| PPN | Pharmacy Product Number | IFA GmbH, acting as Issuing Agency | PRA code prefix, then the national product number, then a two-digit modulo 97 check digit | International |
| NTIN | National Trade Item Number | GS1 Germany | The PZN embedded in a GTIN structure | National, despite the GTIN format |
| GTIN | Global Trade Item Number | GS1 | GS1 numbering, allocated to the brand owner | Global |
The PPN mechanism is worth understanding, because it is what makes a purely German number usable abroad without changing it. IFA assigns, as an Issuing Agency, a Product Registration Agency code (PRA code) to each national pharmaceutical numbering system. Putting that PRA code in front of any national product number makes the result globally unambiguous. For the German market the PRA code is 11, so a PZN of 03752864 becomes the PPN 110375286414: the prefix 11, the eight PZN digits, and the two-digit check digit 14 calculated with modulo 97 over the ASCII values of the string. The PZN is not replaced. It is carried inside.
The NTIN does the same job through the GS1 system instead: it embeds the PZN in a GTIN structure. Because the resulting number is only valid nationally, it is called a National Trade Item Number rather than a GTIN, even though it is formatted like one.
The PZN is not named in any statute. The statutes require a nationally uniform identifier and delegate the choice of it to the framework agreement, which then names the PZN. Knowing this two-step is what lets you answer the question "where is this actually written down" correctly.
| Instrument | What it requires |
|---|---|
| Section 300 para. 3 sentence 1 no. 1 SGB V | The GKV-Spitzenverband and the pharmacists' association shall agree on the use of a nationally uniform identifier for the prescribed finished medicinal product, as the key to trade name, manufacturer, pharmaceutical form, strength and pack size. |
| Section 300 para. 1 no. 1 SGB V | Pharmacies must transfer that identifier in machine-readable form onto the prescription form or into the electronic prescription data record when dispensing to insured persons. |
| Section 131 para. 6 SGB V | Pharmaceutical companies must state the medicine identifier under section 300 para. 1 no. 1 on the outer packaging, in a nationally uniform form that pharmacies can capture by machine. |
| Framework agreement under section 131 SGB V, section 2 | Names the Pharmazentralnummer as that identifier, fixes eight digits from 1 January 2013, fixes the modulo 11 check digit, and records that IFA GmbH assigns the PZN on application. |
| Delegated Regulation (EU) 2016/161, Art. 4 | Sets out the data elements of the unique identifier: product code, serial number, a national reimbursement or identification number where the member state requires one, batch number and expiry date. Under Art. 4(e), the national number need not be repeated where it is already contained in the product code. |
That last row explains a question German integrators ask constantly. Because the PZN already sits inside the product code, whether that code is a PPN or an NTIN, Germany does not require the PZN again as a separate fifth element in the Data Matrix. IFA notes one exception: multi market packs, where the PZN is not contained in the product code, must carry it as a fifth element.
Here the common answer is out of date, and it is worth being precise. For decades the PZN travelled in a Code 39 barcode. The framework agreement specifies that encoding in line with ISO/IEC 16388, with the asterisk as start and stop character and a hyphen in front of the digits as the PZN identifier under ISO/IEC 15418, giving the familiar pattern of an asterisk, a hyphen, eight digits and a closing asterisk.
What changed is the obligation. Under Delegated Regulation (EU) 2016/161 the Data Matrix code became binding for all verification-relevant medicines on 9 February 2019. The framework agreement had required the Code 39 barcode additionally only until that date. Since then, IFA states that the PZN is applied in plain text with the short prefix "PZN:" and without the Code 39 barcode, while the machine-readable path runs through the Data Matrix, where the PZN is carried inside the PPN or the NTIN alongside serial number, batch and expiry date.
So a pack produced today will usually still show a PZN you can read with your eyes, but the barcode your scanner reads is a Data Matrix, and the PZN comes out of it wrapped. Systems that only know how to parse a Code 39 PZN are reading a carrier that is no longer required to be there.
On pharmazie.com the PZN is not one field among many. It is the primary key across all connected databases, which is what makes a single search resolve an article, its prices, its legal status, its supply shortage record and its documents at once. The neighbouring identifiers sit directly beside it in the article base data.
One honest limitation: pharmazie.com is not the assigning body and not an IFA data outlet. A PZN exists because IFA issued it, and if what you need is the IFA information service itself, in its original delivery format and on its own publication rhythm, that is a licence you take out at the source. What an aggregator adds is not the number. It is everything the number resolves to.
PZN stands for Pharmazentralnummer, the nationally uniform identification key for medicines and other pharmacy goods in Germany. It is an eight-digit number including a check digit, assigned by the IFA GmbH in Frankfurt am Main, and it serves as the agreed key to trade name, manufacturer, pharmaceutical form, strength and pack size.
Eight, including the check digit. PZN have been issued with eight digits since 1 January 2013. PZN that carried seven digits up to 31 December 2012 were extended to eight with a leading zero and remain valid. Leading zeros are part of the code and must never be removed.
With modulo 11. Weight the seven information digits with the factors 1 to 7, add the products, divide the sum by 11, and take the integer remainder as the check digit. For 2758089 the sum is 174, and 174 divided by 11 leaves remainder 9, giving the PZN 27580899. If the remainder is 10, the sequence is not issued.
The IFA GmbH, the Informationsstelle für Arzneispezialitäten in Frankfurt am Main. It assigns the PZN on application by the pharmaceutical company, on the basis of a supplier contract concluded between the two. IFA also maintains the database behind the assigned PZN and makes the price and product information available to market participants.
They do not compete, they nest. The PZN is the German eight-digit key. The PPN wraps it for international use by putting IFA's PRA code, 11 for Germany, in front and adding a modulo 97 check digit. The NTIN wraps the same PZN in a GS1 GTIN structure. Both carry the PZN inside.
Not as a requirement. Under Delegated Regulation (EU) 2016/161 the Data Matrix code became binding for verification-relevant medicines on 9 February 2019, and the additional Code 39 barcode was required only until that date. Since then IFA states the PZN is applied in plain text with the prefix PZN: and without Code 39.