Agent Wranglers

ECM-53Required EU law

Check each seller's packaging registration before they sell

Before a seller sells packaged goods to consumers in an EU country through your marketplace, store their packaging registration number for that country. Store their written confirmation that they comply too, and block offers for countries without both.

Region

European Union (EU). The duty comes from the law there. The rule applies only when the project serves people there, and its Applies when also holds.

Review by

2027-08-12

How to do it

The Packaging and Packaging Waste Regulation (EU) 2025/40 has applied since 12 August 2026. It makes every producer of packaging register for extended producer responsibility in each member state where the packaging reaches consumers. A seller outside the country often needs an authorised representative there. Online marketplaces must collect the registration and a self-certification before letting the seller offer to consumers in that country. Germany's packaging law already required this check of marketplaces before. There is no single EU number yet, so store one registration per seller and country. Recheck the numbers against the national registers where they offer a lookup, and record each check. Seller verification for payments is in Let sellers sell only while the provider has verified them.

Examples

SQL example

SELECT o.id, o.seller_id, o.country
FROM offers o
LEFT JOIN seller_packaging_registrations r
  ON r.seller_id = o.seller_id AND r.country = o.country AND r.self_certified_at IS NOT NULL
WHERE o.live AND o.country = ANY ($1) AND r.registration_number IS NULL;

TypeScript example

export function mayOfferIn(seller: Seller, country: string): boolean {
  const registration = seller.packagingRegistrations.find(r => r.country === country);
  return Boolean(registration?.registrationNumber && registration.selfCertifiedAt);
}

Python example

def may_offer_in(seller, country: str) -> bool:
    registration = next((r for r in seller.packaging_registrations if r.country == country), None)
    return bool(registration and registration.registration_number and registration.self_certified_at)

How to check

A query finds no live offer to consumers in an EU country from a seller without a stored registration number and self-certification for that country. A test seller without one cannot publish an offer for Germany.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/ecommerce/marketplace-sellers/seller-packaging-registration">Agent Wranglers e-commerce and fulfilment playbook</a>. In code you write, add a comment next to it with the same link.