Annual Site Licence — Multi-Establishment Operators

Enterprise Licence & Inventory API

For groups running several establishments, the per-report model becomes administrative overhead. The annual licence removes the per-report fee, exposes the generator over a REST API so your existing HSE or ERP system can produce inventories directly, and can be deployed inside your own network where substance data must not leave the site.

Annual Licence — from €4.900 per year

Priced per establishment band. Includes both integration routes.

  • Unlimited reports and dossiers across every establishment in the licence — no per-report charge, no seat licences.
  • REST inventory API — post your establishment and substance register, receive the stored record identifier and the Seveso III Σ(q/Q) result, then pull the full dossier.
  • On-premise generator — the same validation and document builders packaged to run inside your network, so substance quantities never leave your infrastructure.
  • Metered API keys — issue and revoke per-integration keys; every call is logged with route, status and resulting record.
  • Group-level change registers — year-over-year revision comparison retained across every site in the licence.
  • Named support contact and advance notice when Annex I qualifying quantities or CLP notation change.

Integration Route A — REST Inventory API

POST /api/public/v1/inventory-report — bearer-authenticated, schema-validated.

Requests are validated against exactly the same schemas as the wizard, including CAS and EC check-digit arithmetic. Invalid identifiers return HTTP 422 with the failing field — bad data cannot enter the register through the API either.

curl -X POST https://chempac.uk/api/public/v1/inventory-report \
  -H "Authorization: Bearer chk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "facility": {
      "facility_name": "Rotterdam Terminal 4",
      "street": "Havenweg 22", "city": "Rotterdam",
      "state": "Zuid-Holland", "postal_code": "3089 JR",
      "country": "Netherlands",
      "competent_authority": "DCMR Milieudienst Rijnmond",
      "contact_person": "A. Visser", "contact_title": "HSE Manager",
      "contact_phone": "+31 10 555 0100",
      "contact_email": "hse@example.com",
      "emergency_phone": "+31 10 555 0199",
      "reporting_year": 2025
    },
    "chemicals": [{
      "chemical_name": "Toluene", "cas_number": "108-88-3",
      "ec_number": "203-625-9",
      "clp_hazard_classes": ["Flam. Liq. 2"],
      "seveso_category": "P5c",
      "physical_state": "Liquid",
      "max_amount": 4200, "max_unit": "t",
      "avg_daily_amount": 3100,
      "storage_location": "Tank Farm B",
      "storage_type": "Aboveground Tank"
    }]
  }'
AuthenticationBearer key (chk_live_…), hashed at rest, revocable
Success response201 — report_id, substance_entries, Seveso summation
Validation failure422 — per-field issue list
MeteringEvery call logged: route, status, resulting record

Integration Route B — On-Premise Generator

Runs inside your network. No substance data leaves your infrastructure.

DeploymentContainer image, runs on your own host or private cloud
Data residencySubstance data and generated dossiers stay on your systems
IdentityConnects to your identity provider; roles map to your HSE groups
UpdatesVersioned releases when Annex I quantities or CLP notation change
Licence termAnnual, per establishment band

On-premise deployment is scoped per group during onboarding — tell us your establishment count and identity provider in the enquiry form and we will confirm the licence band and rollout sequence.

Enterprise Enquiry

We respond to the address you supply.

Deployment codes — api: hosted REST integration · onprem: in-network generator · both · undecided.

Mandatory Legal Notice — ECHA / SEVESO III / REACH

LEGAL NOTICE: CHEMPAC INVENTORY SYSTEM formats operator-provided data into a standardised European hazardous substance inventory layout for informational and internal record-keeping purposes. It does not constitute legal, environmental, or regulatory certification, and it does not file anything on your behalf. Quantities, CLP classifications, and Seveso III (Directive 2012/18/EU) qualifying quantities must be verified against ECHA guidance, Regulation (EC) No 1907/2006 (REACH), Regulation (EC) No 1272/2008 (CLP), and the applicable national implementing legislation. The operator is solely responsible for submitting this inventory to its national competent authority.