A suite of Home Assistant custom integrations that track your parcels across carriers and countries — every one speaking the same canonical parcel contract, so your automations and dashboards work the same no matter who delivers.
📖 Read the docs — carrier list, the parcel contract, and copy-paste automations and dashboard cards.
| Integration | Latest | Tracks | |
|---|---|---|---|
| ha-an-post | An Post — Ireland's national postal operator, with a watchlist for parcels not yet linked to your account; account-based. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-budbee | Budbee home deliveries and Budbee Box lockers, without the e-mail address their tracking page asks for (Nordics and Benelux); account-less, tracking or order number only, incoming & outgoing parcels. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-cainiao | Alibaba's tracking layer for AliExpress, Temu, Shein and similar shops (Cross-border); account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-correos | Spain's national postal operator; account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-delhivery | Delhivery — India's e-commerce delivery network, tracked by AWB number without an account; account-less, AWB (waybill) number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-dhl-nl | DHL eCommerce, tracked through your DHL account (Netherlands); account-based, incoming & outgoing parcels. | ||
| ha-dpd | DPD shipments, tracked through your myDPD account (Netherlands and 14 more countries on DPD's shared myDPD network); account-based, incoming & outgoing parcels. | ||
| ha-dragonfly | Dragonfly Shipping — no account and not even a postal code needed (Netherlands); account-less, Track & Trace code only. | ||
| ha-dynalogic | Dynalogic last-mile deliveries, including those sold as MediaMarkt, Samsung, Nespresso and Menken (Netherlands & Belgium); account-less, order number + postal code. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-gls | GLS parcels, just like the gls-info.nl website (Netherlands & Germany); account-less, tracking number + postal code. | ||
| ha-helthjem | Helthjem — Norwegian home delivery (Norway); account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-hermes | Hermes Paket (Germany); account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-nova-post | Nova Post (Nova Poshta) — Ukraine's largest parcel-locker and courier network, with cross-border delivery across Europe and the US (Ukraine, Europe and the US); account-less, tracking number only. | ||
| ha-oesterreichische-post | Österreichische Post — Austria's national postal operator; account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-packeta | Packeta (Zásilkovna) — Central-European pickup-point and locker network; account-less, "Z" tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-planzer | Planzer — the carrier behind IKEA Switzerland home deliveries; account-less, shipment number or IKEA order number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-postnl | PostNL parcels plus announced MyMail letters (Netherlands & Belgium); account-based, incoming & outgoing parcels. | ||
| ha-postnord | PostNord — the Nordic postal operator (Nordics); account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-quickpac | Quickpac — the delivery arm for Galaxus/Digitec and other Swiss e-commerce (Switzerland); account-less, shipment number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-sameday | Sameday — the easybox locker network (South-East Europe); account-less, AWB number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-sunyou | SunYou (SYPost) — cross-border tracking for Asia-to-Europe e-commerce parcels, ahead of the local carrier that delivers them; account-less, tracking number only. | ||
| ha-swiss-post | Swiss Post — Switzerland's national postal operator; account-less, tracking number only. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-trunkrs | Trunkrs — same-day and next-day delivery (Netherlands); account-less, Trunkrs number + postal code. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-vinted-go | Vinted Go (formerly Homerr) — passwordless e-mail login, locker and parcel-shop network (Netherlands, Belgium, France, Spain & Portugal); account-based, incoming & outgoing parcels. Early release: the status mapping is still being confirmed against real parcels, help wanted | ||
| ha-parcel-aggregator | Rolls every carrier above into one unified set of sensors, a combined deliveries calendar, and a single event stream |
📦 Missing your carrier, or want one of these in another country? Request it — the code is rarely the blocker, real tracking data is, so a request from someone who receives those parcels helps most.
Each carrier integration is standalone and normalises its data to a shared ParcelStatus enum and a common parcel shape, firing canonical events (<carrier>_parcel_registered / _status_changed / _delivered / _delivery_time_changed). Install just the carriers that deliver to you — nothing else is required.
Running several? The optional Parcel Aggregator subscribes to all of them and re-emits a unified stream, so you write one automation like "when any parcel is out for delivery" instead of one per carrier.
The full contract is documented at ha-parcel-integrations.github.io.
All integrations are distributed via HACS. See Getting started for the walkthrough, or each repository's README for its own options.
Every integration here is free and MIT-licensed, and stays that way. Sponsoring buys no features and no priority — it just says the work is worth continuing. See the ways to help, including ones that cost nothing.
💬 Questions or feedback? Join the discussion on the Home Assistant community.
🐛 Found a bug, or does a parcel report an unknown status? That belongs in
the issue tracker of the integration itself.