User Account and Company Management
User registration, profile management, organisation setup, role management, and a company dashboard aggregating key activity metrics across the platform.
Overview
The account and organisation layer that underpins access to the platform. Covers user registration and profile setup, organisation creation and domain-based membership, role management within an organisation, user preferences that persist across tools, and a company dashboard showing at-a-glance activity across the platform.
This is foundational infrastructure. Most features in the platform depend on the organisation model defined here and in the product database PRD. The two should be read together: the product database PRD defines the product record structure and org-level access, while this PRD defines the user and company layer that governs who can access what.
User Stories
- As a new user registering with a corporate email, I want to be automatically prompted to join my company’s existing organisation so my account is connected to my team from the start.
- As an organisation admin, I want to invite team members and set their roles so I control who can do what within our organisation.
- As a user, I want to set my default climate zone, tariff rates, and company details once and have them pre-populate across all tools so I don’t repeat myself.
- As a manufacturer, I want to see a dashboard showing all my products, their compliance status, and recent platform activity so I have a current overview of our work.
- As an EnergyAE admin, I want to manage all organisations and users in the system so I can resolve access issues and maintain data integrity.
Registration and Onboarding
Registration flow
- User enters email, name, and password
- System checks email domain against existing organisations
- If domain matches an existing organisation with domain-sharing active: user is shown a prompt to join the organisation — they must accept or decline
- If no match: user completes standalone registration; invited later by an admin if appropriate
- Personal email domains (gmail, outlook, hotmail, yahoo, and similar) are blocked from domain-sharing. Developer to maintain a blocklist; Alastair to review before launch.
First-time setup (user profile)
After registration, user is prompted to complete their profile:
- Full name (pre-filled from registration)
- Job title (optional)
- User type: manufacturer / importer / installer-plumber / consultant / regulator / other
- Company name (pre-filled if joining an organisation)
- Default climate zone (drives defaults across simulation and recommendation tools)
- Default electricity tariff ($/kWh) — pre-populated with a state average if postcode is known
- Default gas tariff ($/MJ) — optional, for users working with gas comparisons
- Preferred market: AU / NZ / both
Profile can be updated at any time from account settings.
Organisation Model
Organisation definition and structure are covered in the product database PRD. This section covers the management UI.
Organisation creation
- First user from a corporate domain who creates an organisation becomes the admin
- Organisation profile: name, domain, type (manufacturer / consultant / installer / other), logo upload
- Domain sharing: admin can activate or deactivate domain-based auto-joining at any time
Member management
Admin UI for the organisation:
- Member list: name, email, role, last active, date joined
- Invite member by email (sends an invitation email with a registration/join link)
- Change member role: admin / editor / viewer
- Remove member: removes access immediately, archives their contribution history (not deleted)
- Transfer admin role to another member
Roles
Full role definitions are in the product database PRD. In summary:
- Admin: full access including user management and organisation settings
- Editor: can create and edit product records and run all tools; cannot manage users
- Viewer: read-only access to products and tool outputs; cannot modify records
EnergyAE consultant access
EnergyAE operates as a consultant managing products for multiple clients. The platform needs to support this model:
- EnergyAE staff have a separate internal organisation with access to all client product records (governed by the client portal feature)
- EnergyAE staff can be explicitly granted access to a client organisation’s records by the client’s admin
- This cross-organisation access is granted per-organisation, not platform-wide
User Preferences
The following preferences are stored per user and used as defaults across all tools:
- Default climate zone
- Default electricity tariff ($/kWh)
- Default gas tariff ($/MJ)
- Preferred market (AU / NZ / both)
- Certificate price defaults (STC, VEEC, ESC $/certificate — for calculator tools)
- Preferred unit system (metric, used everywhere, not configurable — but confirm with developer if there are any imperial edge cases in the simulation inputs)
- Notification preferences: email notifications for (in v2) expiring documents, scheme updates, and new product registrations
Company Dashboard
The dashboard is the default landing page after login for organisation members. It is a read-only overview, not a data entry interface.
Dashboard sections
Products overview:
- Total products in the database
- Products by compliance status (number fully compliant / gaps / expired items)
- Products expiring within 90 days (list with product name, scheme, expiry date)
- Shortcut to open the compliance dashboard in the product compliance tracker
Recent activity:
- Last 10 activity events across the organisation (new product added, document uploaded, simulation run, compliance status change) — user name and timestamp for each event
Tool usage summary:
- Number of simulations run (this month)
- Number of 5125.1 reports processed (this month)
- Number of eligibility checks run (this month)
Notifications panel:
- Any system notifications (scheme update alerts, platform news — added by EnergyAE admin)
- Any product-level alerts for this organisation (expired documents, registrations expiring within 90 days)
Quick links:
- Add new product
- Run eligibility checker
- Upload 5125.1 report
- Run performance simulation
Platform Administration (EnergyAE internal)
An admin panel accessible only to EnergyAE staff for platform-wide management:
- All organisations: list, status, member count, last active
- All users: search, view profile, reset password, deactivate account
- System notifications: create, schedule, and publish platform-wide notifications shown in all users’ dashboards
- Certificate price reference updates: update the reference prices shown in the certificate estimator
- Rebate config: update the state rebate values shown in the sizing tool
- Scoring config: update product assessment tool dimensions and weights
Out of Scope (v1)
- SSO / SAML integration with company identity providers
- Two-factor authentication (considered for v2)
- Audit log export (all activity is logged but export UI is v2)
- Per-user billing (billing is per organisation tier in v1)
- API access tokens for external integrations
Data Model (indicative)
users
user_id
email
name
job_title (nullable)
user_type
password_hash
created_at
last_active_at
email_verified (boolean)
user_preferences
user_id (foreign key)
default_climate_zone
default_electricity_tariff
default_gas_tariff
preferred_market
certificate_price_defaults (JSON)
organisations
org_id
name
domain
org_type
logo_url (nullable)
domain_sharing_active (boolean)
created_at
created_by
org_members
member_id
org_id
user_id
role
invited_by
joined_at
activity_log
event_id
org_id
user_id
event_type
entity_type (product / document / simulation / etc.)
entity_id
description
created_at
Acceptance Criteria
- Registration flow correctly prompts domain-matched users to join an existing organisation
- Personal email domain blocklist prevents domain-sharing for common personal email providers
- User profile setup collects all specified preferences and stores them correctly
- User preferences pre-populate correctly in simulation and calculator tools
- Admin can invite team members by email; invitation link works correctly
- Role permissions are correctly enforced: viewer cannot edit, editor cannot manage users
- Admin can change member roles and remove members; removal takes effect immediately
- Company dashboard shows correct product count and compliance status summary
- Products expiring within 90 days appear in the dashboard alerts
- Recent activity feed shows last 10 organisation events with correct user and timestamp
- EnergyAE admin panel is accessible only to EnergyAE staff
- Certificate price reference update in admin panel is reflected in calculator tools immediately
- Rebate config updates in admin panel are reflected in the sizing tool immediately
Open Questions
- Should the platform support multiple organisations per user (e.g. a consultant who is admin of their own EnergyAE sub-account and also a member of a client’s organisation)? This is likely needed for EnergyAE staff but adds access model complexity.
- Pricing tiers: the concept overview mentions Free, Entry, and Premium tiers with company licensing validated by email domain. The full pricing model and what each tier unlocks needs to be defined by Alastair before the developer builds the access control logic. This is a dependency for almost every other feature (each feature PRD references access tiers).
- Should the dashboard activity feed be organisation-wide (all members’ activity) or filterable to show only my own activity?
- Should there be a mobile app, or is the platform desktop-web only in v1? Most tool use cases (simulation, compliance planning) are desktop workflows, but the sizing tool is a candidate for mobile-first.