Skip to content
Law & compliance

Hazardous Substances in the B2B Shop: Labelling and SDS

Pictograms, hazard and precautionary statements, safety data sheets per language and version, supply blocks: how to map hazardous substance data in a B2B shop.

15 min read ComplianceChemieProduktdaten

Anyone selling chemicals through a B2B shop ships a document package with every item: classification, pictograms, signal word, hazard and precautionary statements, the safety data sheet in the right version and language, plus proof that the buyer is allowed to receive the goods at all. The size of the underlying data space shows in the classification and labelling inventory of the European Chemicals Agency: it holds around 7 million (European Commission) notified classifications and more than 4,400 (European Commission) harmonised entries agreed across the EU. The market behind it is no niche. Germany's chemical and pharmaceutical industry reported 240 billion euros (VCI) in sales for 2024 and more than 560,000 (VCI) employees. At the same time the legal frame is moving: the distance selling duties adopted with the CLP reform apply from 1 January 2028 (Regulation EU 2025/2439) - a date that many trade articles still quote at an older status. This article sorts out what a product page has to show today, what is added in 2028, and how to model both as data instead of a pile of loose attachments.

Key takeaways

  • Advertising that lets a buyer conclude a purchase without first seeing the label must state the hazards - Article 48(2) (CLP Regulation) already applies wherever a private end user can conclude without prior sight of the label.
  • The explicit duty to display the full labelling elements in a distance selling offer sits in Article 48a (Regulation EU 2024/2865) and applies from 1 January 2028 (Regulation EU 2025/2439).
  • A safety data sheet has 16 sections (Regulation EU 2020/878) in a fixed order and is supplied free of charge (REACH Regulation) by the day of the first delivery at the latest.
  • Many substances fall under a mail order ban set by Section 10(1) (ChemVerbotsV); each supply is recorded and the record kept for at least five years (ChemVerbotsV).
  • The new hazard classes have applied to substances since 1 May 2025 (Regulation EU 2023/707), to mixtures from 1 May 2026 (Regulation EU 2023/707) and to existing mixtures until 1 May 2028 (Regulation EU 2023/707).

Three layers interlock. At European level the CLP Regulation governs classification, labelling and packaging, while the REACH Regulation governs the safety data sheet. Nationally, German rules on handling hazardous substances at work and on the supply of chemicals are added. For the shop this means: classification decides pictograms and signal word, the safety data sheet decides the document duty, the supply rules decide the ordering route. Under law already in force, advertising for a mixture classified as hazardous that lets a private end user conclude a purchase without prior sight of the label must state the hazards. That is Article 48(2) (CLP Regulation). The provision therefore bites where a private end user can conclude without having seen the label first - in a pure B2B channel usually not, in mixed shops and on open marketplaces it does. Setting the frame up once in an ordered way, rather than retrofitting rule by rule, saves the second round; how we approach this for merchants with a hazardous goods range is described on the page about B2B e-commerce for chemicals and plastics.

The second layer is time. Chemicals law changes continuously, and each change brings its own deadlines. The CLP reform under Regulation (EU) 2024/2865 fixed minimum label dimensions, a minimum font size and a minimum line spacing; delegated Regulation (EU) 2023/707 introduced new hazard classes for endocrine disruptors and for persistent, mobile and bioaccumulative substances. A catalogue of a few thousand items does not pass through those deadlines in one go but item by item. That is exactly why every classification in the shop needs a date and a processing status. Without that field neither can maintenance be planned, nor can it later be shown which version applied when.

A cut-off date that trade articles often quote out of date

Regulation (EU) 2024/2865 first set the distance selling duties to 1 July 2026; Regulation (EU) 2025/2439 moved them to 1 January 2028 (Regulation EU 2025/2439). Trade articles quoting the earlier date were reporting law in force, not a draft - they are out of date all the same. Planning the switch around the older date creates pressure that does not exist - and postponing the whole thing because of it costs the time the data work needs. The middle road: create and fill the fields today, then simply switch the display on in 2028.

The distance selling offer: what must be on the page by 2028

With Article 48a (Regulation EU 2024/2865) distance selling gets its own provision. It requires an offer to display the labelling elements set out in Article 17 of the CLP Regulation - in other words, the information printed on the label, visible on the offer page. That goes beyond the existing duty to state the hazards. In practice it means: pictograms as images, signal word as text, hazard statements in full wording, precautionary statements in full wording, product identifiers and supplier details. Not as a link to a document, but inside the offer itself. A shop that keeps those elements only as a PDF attachment has no display problem but a data problem: the elements live in the document, not in the record.

  • Hazard pictograms in the shape in which they also appear on the label, not replaced by generic icons
  • The signal word, danger or warning, as a field of its own rather than buried in running text
  • Hazard statements with code and wording, for example H314 together with its sentence
  • Precautionary statements with code and wording; a label normally carries no more than six (CLP Regulation)
  • Product identifiers, and for mixtures the components relevant to labelling
  • Name, address and telephone number of the supplier plus supplemental elements such as EUH statements

Technically this is a question of field structure, not of design. Pictograms are held as a code list and mapped to stored graphics in the front end. Hazard and precautionary statements are stored as codes, with the wording pulled from a language-dependent lookup table - so a reworded statement changes exactly one place rather than every item. How to arrange such a data sheet area on a product page without blocking the purchase is covered in product detail pages and data sheet downloads; the groundwork is a clean attribute structure, see product data and data quality in the PIM.

Label and offer: dimensions, type size, statement count

The CLP reform wrote down formalities that used to be guidance. For small packages up to 0.5 litres (Regulation EU 2024/2865) the new version prescribes a minimum x-height of 1.2 millimetres (Regulation EU 2024/2865), and for all labels a line spacing of at least 120 percent (Regulation EU 2024/2865) of the font size. The version in force today sets, for packaging up to 3 litres (CLP Regulation), a label format of at least 52 by 74 millimetres and pictograms of at least 16 by 16 millimetres, in no case smaller than 10 by 10 millimetres. At the upper end, packaging above 500 litres (Regulation EU 2024/2865) already carries today a label of at least 148 by 210 millimetres with pictograms of at least 46 by 46 millimetres; new in that row is only the minimum x-height of 2.0 millimetres.

CapacityLabel (mm)Pictogram (mm)x-height (mm)Version
up to 3 litresat least 52 × 74 where possibleat least 16 × 16 where possible, not below 10 × 10not specifiedversion in force today
up to 0.5 litresat least 52 × 74 where possibleat least 16 × 16 where possible1.2version after the CLP reform
above 500 litresat least 148 × 210at least 46 × 462.0in force today, x-height new

Further size brackets sit between those anchors; the table deliberately shows only the values that can be quoted verbatim. Two points matter for the shop. First, label dimensions belong on the item as a field, because they determine how much text fits on the pack - and therefore, indirectly, which precautionary statements get printed. Second, the CLP Regulation normally limits the label to no more than six (CLP Regulation) precautionary statements. For very small packages up to 125 millilitres (CLP Regulation) certain relaxations apply under defined conditions. Showing more statements in the offer than on the pack is not an infringement, but it is a discrepancy that has to be explained when a complaint arrives.

Label and offer are not the same surface

A label is terse because space is scarce. An offer has no such constraint. Even so, both should come from one source: one record, two output paths. As soon as label printing and shop are maintained separately they drift - and the discrepancy only surfaces when somebody holds the pack next to the screen.

Safety data sheet: 16 sections, versions, languages

A safety data sheet is not a leaflet but a standardised document. It has 16 sections (Regulation EU 2020/878) in a fixed order and numbering, from the identification of the substance through first aid measures to disposal considerations and regulatory information. The older format could only be supplied until 31 December 2022 (Regulation EU 2020/878); a document in the old format sitting in a download area today delivers a superseded state. From this follows the first hard requirement on the data model: a safety data sheet is not a file attached to an item but an object with language, version, format state and validity date.

The second requirement comes from the REACH Regulation. The safety data sheet is supplied free of charge (REACH Regulation) and no later than the day of the first delivery. A download area behind a registration does not reliably discharge that duty, because it ties the supply to an action by the customer. The robust route is both: a freely accessible download on the product page and automatic dispatch with the order confirmation or delivery note. On top of that comes the case that a safety data sheet must be provided on request even for mixtures not classified as hazardous, once certain components are present at 1 percent by weight (REACH Regulation) or, for gases, at 0.2 percent by volume. Shops routinely overlook this case because the hazard flag is missing.

Fixed structure

16 sections (Regulation EU 2020/878) in a fixed order. The section number works as a jump target in the document viewer and as a check when a sheet is parsed.

One version per language

Every language version is its own object with its own version number. The EU has 24 official languages (European Union); delivery is made in the official language of the receiving country.

Free and without a hurdle

Supply is free of charge (REACH Regulation) and happens by the day of the first delivery at the latest. Download plus automatic dispatch covers both routes.

Also without a classification

From 1 percent by weight (REACH Regulation) of certain components the duty on request also applies to mixtures not classified as hazardous.

Trigger, not schedule

Updates follow new information, a changed classification or a new restriction. The trigger belongs on the version as a field, not in a side note.

Archive, not folder

Classification records must be kept for at least ten years (CLP Regulation) after the last supply. Old versions stay retrievable but clearly marked as superseded.

Languages are where many catalogues fall apart. The European Union has 24 official languages (European Union), and the duty follows the country being delivered to. A shop shipping to France, Poland and Spain while maintaining only German and English versions either has a gap or a delivery restriction. Both are decisions that should be visible in the data model: if the version for a destination country is missing, the item is blocked for that country rather than quietly shipped without a document. Separating countries, languages and catalogue cuts in a shop is closely related to permission handling, see customer groups, roles and permissions.

item-a-4471.json
{
  "article": "A-4471",
  "name": "Alkaline industrial cleaner, 1 litre bottle",
  "classification": {
    "signal_word": "Danger",
    "pictograms": [
      "GHS05",
      "GHS07"
    ],
    "h_statements": [
      "H314",
      "H318",
      "H335",
      "H412"
    ],
    "p_statements": [
      "P280",
      "P305+P351+P338",
      "P310"
    ],
    "supplemental": [
      "EUH208"
    ],
    "as_of": "2026-08-12"
  },
  "safety_data_sheet": [
    {
      "language": "de",
      "version": "4.2",
      "format": "2020/878",
      "valid_from": "2026-03-11",
      "sections": 16
    },
    {
      "language": "en",
      "version": "4.2",
      "format": "2020/878",
      "valid_from": "2026-03-11",
      "sections": 16
    },
    {
      "language": "fr",
      "version": "4.1",
      "format": "2020/878",
      "valid_from": "2025-09-02",
      "sections": 16
    }
  ],
  "supply": {
    "mail_order_ban": true,
    "legal_basis": "ChemVerbotsV 10",
    "eligible_recipients": [
      "reseller",
      "professional_user",
      "research_institution"
    ],
    "required_proof": [
      "permit",
      "expertise"
    ],
    "supply_register": true,
    "retention_years": 5
  }
}

The record shows the principle: everything the label carries sits as a field on the item; every safety data sheet version is its own entry with language, version, format state and validity date; the supply rules hang off it as a separate block. That makes it possible to generate the offer display entirely from data and to check the ordering route against the same data. The path there normally runs through the leading system: classification and documents come from ERP or PIM, the shop receives them. We have described the handover routes and their pitfalls under integrations and PIM integration.

Supply restrictions: who is allowed to order at all

German chemicals supply law defines to whom certain substances and mixtures may be supplied. The central provision for a shop is Section 10(1) (ChemVerbotsV): for the substances it covers, the dispatch route is closed outside the group of recipients defined in Section 5(2) - resellers, professional users and public research, testing and teaching institutions belong to that group. The self-service ban sits in a different provision: Section 8(4) ChemVerbotsV prohibits supply through vending machines and other forms of self-service in retail. That is not a labelling matter but an ordering matter. A shop may carry those items, but the route to the order must be a different one - enquiry instead of cart, collection with identity check instead of parcel dispatch, or release only for a vetted group of recipients. Pulling the block only in the dispatch process means the infringement was arguably already built into the checkout.

  • The buyer is recorded in the account as a reseller, a professional user or a research institution
  • The customer group decides whether the item is visible in the catalogue in the first place
  • Permit and proof of expertise are held in the account with issue and expiry dates
  • The dispatch route for these items is blocked separately from the rest of the range
  • Every supply creates a record with recipient, quantity, intended use and date
  • That record stays retrievable for at least five years (ChemVerbotsV)

Further conditions apply on the supplier's side. Whoever supplies substances subject to a permit must, among other things, be at least 18 years (ChemVerbotsV) old, hold the required expertise and be reliable. That expertise is not permanent: where it was acquired more than six years ago, training has to be shown - a one-day course from the last six years (ChemVerbotsV) or a half-day course from the last three years (ChemVerbotsV). For the shop this means an expiry date on a person's role, not on an item. And it means the check runs both ways: the buyer may receive, and the supplier may supply. Anyone who already sets up customer accounts with vetted evidence has done half the work - see onboarding and registration of business customers.

The supply register is a record, not a binder

Records of the supply and the associated receipts have to be kept for at least five years (ChemVerbotsV). When that record is created inside the shop, it is created completely and machine-readable - with order number, customer number, item, quantity, stated purpose and timestamp. A log reconstructed after the fact from invoices is the most expensive route when an inspection arrives. The same logic carries over to supplier evidence, see supplier portal for purchasing and goods receipt.

Explosives precursors: a chain of its own

A small but sensitive group of substances falls under a separate European regulation. It sets concentration limits above which supply to members of the public is restricted - 12 percent by weight (Regulation EU 2019/1148) for hydrogen peroxide and 3 percent by weight (Regulation EU 2019/1148) for nitric acid. In a shop this calls for a rule at formulation level, not at product name level: the same trade name may be carried in two concentrations, only one of which is restricted. Fixing the block to the product name blocks either too much or too little.

Reporting duties come on top. Suspicious transactions as well as disappearances and thefts must be reported to the national contact point within 24 hours (Regulation EU 2019/1148). Evidence about the checks on buyers has to be kept for 18 months (Regulation EU 2019/1148) from the date of the transaction. Operationally this means: there has to be an anomaly rule inside the ordering process and a way to start a report from an order - including the question of who does that on a Friday evening. Anyone already running list checks during checkout can reuse that route; the approach is described in sanctions screening and export control.

New hazard classes and reworking the existing range

Since 1 May 2025 (Regulation EU 2023/707) substances have to be classified under the new hazard classes, and since 1 May 2026 (Regulation EU 2023/707) the same applies to mixtures. For mixtures placed on the market before that date a transition period runs until 1 May 2028 (Regulation EU 2023/707). This is why a catalogue carries two classification states side by side for years. Without a status field on the item, remaining stock cannot be told apart from new production - and precisely that distinction decides which label and which safety data sheet are correct.

RuleSubjectCut-off dateLegal basis
New hazard classes, substancesClassification under the new criteria1 May 2025Regulation EU 2023/707
New hazard classes, mixturesClassification under the new criteria1 May 2026Regulation EU 2023/707
Existing mixturesTransition period for goods placed on the market earlier1 May 2028Regulation EU 2023/707
Distance selling offerDisplay labelling elements in the offer1 January 2028Regulation EU 2025/2439
Notification of industrial mixturesInformation to poison centres, UFI1 January 2024Regulation EU 2017/542
Safety data sheetOld format no longer supplied31 December 2022Regulation EU 2020/878

When a classification changes, a deadline starts for the label. Where the classification becomes stricter, the labelling has to be adjusted within six months (Regulation EU 2024/2865) of the review result; for all other changes a deadline of 18 months (Regulation EU 2024/2865) applies. In parallel, classification and labelling records must be kept for at least ten years (CLP Regulation) after the last supply. Three deadlines on one item, moving independently of each other: that is not a job for a spreadsheet but for a dated field and a report listing the items that fall due. The logic is close to that of traceability, see batches, serial numbers and traceability.

UFI, poison centres and the dispatch route

Hazardous mixtures carry notification duties towards poison centres, complemented by the unique formula identifier UFI on the label. For mixtures intended for industrial use the harmonised notification has applied since 1 January 2024 (Regulation EU 2017/542). The UFI matters to a shop because it hangs off the formulation, not off the trade item: two pack sizes of the same mixture share a UFI, two formulations under one trade name do not. Maintaining the UFI as an item attribute produces duplicates and gaps.

The dispatch route itself brings a third regulatory layer. A dangerous goods safety adviser is, among other conditions, not required where a business carries no more than 50 tonnes net (GbV) per calendar year for its own needs in the performance of its operational tasks. Anyone dispatching goods to customers is not carrying for their own needs and can therefore rarely rely on that threshold; Section 2(1) GbV holds further exemptions. For the shop that does not mean dangerous goods rules fall away - packaging, marking of the package, transport documents and the limits of the exemptions apply regardless. It only means one organisational duty depends on volume. Delivery pricing follows the same logic: dangerous goods, oversized items and freight shipments calculate differently from parcels, see calculating shipping and freight costs.

What this means for the data model

All of the above converges on one structure. The item carries the classification with its status and date. The labelling elements hang off it as code lists, with wording from language-dependent lookup tables. The safety data sheets form a list of objects with language, version, format state and validity date. The supply rules form their own block with dispatch ban, eligible recipients, required evidence and logging duty. Fields for UFI and dangerous goods come on top. Such a structure costs more time to set up than a single attachment field - and gives that time back at every deadline change.

attribute-schema-hazardous.yaml
article:
  hazardous: true
  classification_as_of: 2026-08-12
  pictograms: [GHS05, GHS07]
  signal_word: Danger
  h_statements: [H314, H318, H335, H412]
  p_statements: [P280, P305+P351+P338, P310]
  label_format_mm: 52x74
  sds:
    - {language: de, version: 4.2, format: 2020/878, valid_from: 2026-03-11}
    - {language: en, version: 4.2, format: 2020/878, valid_from: 2026-03-11}
  supply:
    mail_order_ban: true
    eligible_recipient_required: true
    proofs: [permit, expertise]
    register_years: 5
  ufi: XXXX-XXXX-XXXX-XXXX
  dangerous_goods:
    un_number: UN1824
    packing_group: II

The second building block is provenance. Each of these fields needs a leading system, and as a rule that is not the shop. Classification and safety data sheet come from wherever the formulation is maintained; dangerous goods data hang off the logistics master record; the evidence on the customer account is created by sales. The shop receives and displays, but it is also the place where a gap becomes visible immediately. That is why a blocking mechanism beats a silent display: if a mandatory field is missing, the item is not shown without the information but blocked for the affected route. The same thinking carries over to other data duties, for instance the digital product passport - and in both cases it starts with data quality in the PIM.

Fines, liability and record keeping

Infringements of German chemicals law carry fines. The Chemicals Act tiers the range: up to 200,000 euros (ChemG) for the most serious cases, with further tiers of up to 50,000 euros and up to 10,000 euros. Where life or health is endangered intentionally, the act provides for imprisonment of up to five years (ChemG) or a fine. These figures are not an argument for fear but for ownership: whoever decides internally that an item stays orderable without a current safety data sheet should make that decision consciously and be able to document it. A shop that detects the missing version itself and blocks the item takes that decision out of the realm of chance.

The operational side comes from the German hazardous substances ordinance. Employees handling hazardous substances must be instructed before starting the activity and at least once a year (GefStoffV) thereafter, verbally and specific to the task. That touches the shop indirectly but noticeably: whoever organises picking, packing and dispatch of hazardous goods needs the training records as part of the same evidence apparatus that holds the proofs of expertise. A register of evidence with expiry dates - for expertise, training, permits and customer proofs - is in the end what makes an inspection fast. How such evidence can be bundled in a portal is shown in the article on B2B portals.

An order of work that can be sustained

A hazardous goods range cannot be converted in one pass. What works is a sequence that shows effect early and makes the rest plannable. It starts with the items that generate the most queries and complaints today and works towards the rare cases. What matters is that every stage leaves a visible state - a list that gets shorter, rather than a project that runs.

  1. Survey the range: which items are classified, which have a safety data sheet, which carry a supply restriction. The result is a list with three columns, not an impression.
  2. Create the fields: classification with status, labelling elements as code lists, safety data sheet as a list of objects, supply rules as a separate block.
  3. Settle the leading system: where each field comes from, who changes it, how often it is transferred. Without that decision a second maintenance point appears.
  4. Switch on the blocking logic: if a mandatory field is missing, the item is blocked for the affected route - per country, per customer group, per shipping method.
  5. Build the display: pictograms, signal word, hazard and precautionary statements in the offer, downloads per language, notice of the supply restriction before the cart.
  6. Records and deadlines: supply register as a data record, deadline report for label updates, evidence register with expiry dates.

Whether the effort pays off is partly decided by the state of the industry. Germany's chemical and pharmaceutical sector last worked at a plant utilisation of around 70 percent (VCI), a historic low, spread across the roughly 2,300 companies (VCI) the industry association counts as members. In such an environment, cutting administrative work is not a side issue. The European Commission puts the relief from simplified font size requirements alone at at least 333 million euros (European Commission) and the narrowing of advertising duties at at least 30 million euros (European Commission) per year - both so far proposals, not law in force. For planning that means: build on the deadlines in force, watch the proposals. Where we support that work is set out under services; for a range containing hazardous goods the direct route is the page on chemicals and plastics. Adjacent ranges follow the same logic, for instance equipment hire in a B2B shop.

Sources and studies

This article is based on data from: Regulation (EC) No 1272/2008 (CLP) in its consolidated version, Regulation (EU) 2024/2865, Regulation (EU) 2025/2439, delegated Regulation (EU) 2023/707, Regulation (EU) 2020/878, Regulation (EC) No 1907/2006 (REACH), Regulation (EU) 2017/542, Regulation (EU) 2019/1148, the German chemicals supply ordinance, the German hazardous substances ordinance, the German Chemicals Act, the German ordinance on dangerous goods safety advisers, COM(2025) 531 final, European Commission (EU Chemicals Platform), European Union (language portal) and the VCI annual report 2025. As of September 2026.

Related Articles

Law & compliance

Cyber Resilience Act: B2B Shop Duties From September

From 11 September 2026 the CRA reporting duty in Article 14 applies. Which duty starts when, who is a manufacturer and what must be visible in a B2B shop.

14 min read
Law & compliance

VAT in the B2B shop: validating VAT IDs correctly

Checking VAT IDs in the B2B shop: simple and qualified confirmation, 26 status messages of the interface, reverse charge wording and the evidence to retain.

15 min read
Integration & processes

Print Catalogue and Price List From Shop Data

Print catalogue and price list from the same source as your shop: data model, released version, layout automation and the path to the finished PDF/X print file.

15 min read