User Manual
A guided tour of Carbon Zero for sustainability teams, reporting analysts, and operators — from registering a workspace to capturing ESG data, scoring entities, calculating emissions, and publishing disclosures. Use it for day-to-day reference and for training new team members.
1. Introduction
Carbon Zero is a multi-tenant ESG (Environmental, Social, Governance) reporting & compliance platform. Each organisation gets an isolated workspace (tenant) with its own users, roles, reporting entities, frameworks, and data. The platform takes you from raw activity data all the way to an auditable, published disclosure.
The heart of the product is a single repeatable core loop:
entities] --> F[Frameworks
& metrics] F --> P[Reporting
periods] P --> S[Metric
submissions] S --> D[Disclosures] S --> SC[ESG scoring] S --> T[Targets] S --> EM[Emissions
engine] D --> PUB[(Published
report)]
- Reporting entities — the subjects you report on: the holding company, its subsidiaries, facilities, suppliers, and individual vessels.
- Frameworks & metrics — the standards you report against (GRI, SASB, CSRD-ESRS, TCFD, GHG Protocol, plus UAE and maritime standards), each defining a catalogue of data points to collect.
- Periods & submissions — a collection cycle (e.g. FY2025) into which values are entered per entity and metric, then reviewed and verified.
- Disclosures — the compiled, reviewed, and published ESG report, with an immutable snapshot of the underlying data.
- Scoring, targets & emissions — an ESG scoring engine, progress tracking against goals, and a Scope 1–3 greenhouse-gas calculator.
2. Getting started
Registering a workspace
The first user to sign up at /register creates the workspace and becomes its
Owner — the role with full access to every feature. Registration captures your
name, email, a password, and the workspace name. A starter set of frameworks, units, sectors, and
reference data is seeded automatically so you can begin immediately.
Signing in
Returning users sign in with their email and password on the split-screen sign-in page. Invited teammates set their password when they accept their invitation (see Team, roles & branches).
Two-factor authentication (2FA)
For extra protection you can require a second factor at sign-in. Enrol under Settings → Security and choose how you'll verify:
- Authenticator app — time-based codes from Google Authenticator, Authy, 1Password, etc. (scan the QR code to enrol).
- Email code — a one-time code (OTP) emailed to you at each sign-in.
- Authenticator + email — authenticator as primary, email as a backup.
On enrolling you're shown a set of one-time recovery codes — save them somewhere safe; each lets you sign in once if you lose your device. With 2FA on, signing in becomes a two-step flow: email + password, then your verification code.
The dashboard
After signing in you land on the Overview dashboard. It renders live KPIs drawn from your real data: entity counts by type, framework and period counts, submission completeness, the disclosure pipeline, the average ESG score with its tier distribution, and the number of active targets — all scoped to what you're allowed to see. CSS bar charts summarise the pipeline at a glance. See Reports & analytics for the full breakdown.
Plans & free trial
New workspaces start on a 14-day free trial of the full feature set. Pick a plan any time under Settings → Billing & Plan. The plans are free, starter, growth, and enterprise; each sets limits (such as the number of team members) and which add-on features are included. Nothing is gated during the trial; when it ends you'll be prompted to choose a plan to keep working.
3. Navigating the workspace
The left sidebar groups features by what you're trying to do:
| Section | Contains | Use it to… |
|---|---|---|
| ESG | Reporting Entities, Frameworks, Periods, Submissions, Disclosures, Scoring, Targets, Scope 3 Calculator | Capture, score, and publish ESG data. |
| Reporting & analytics | Overview, Report Builder, Automation | Analyse the portfolio and build self-running workflows. |
| Customer care | Entity-360 search, Support Tickets | See everything about one entity and manage support requests. |
| Admin | Team, Roles, Branches, Settings, Custom Fields, Reference Data, API Keys, Webhooks, Billing | Govern who can do what and tailor the workspace. |
Two conveniences sit in the chrome:
- Light / dark mode toggle — in the sidebar footer (and on the auth pages). Choose Light, Dark, or System; the default follows your operating system.
- Mobile navigation — below large screens the sidebar collapses into an off-canvas drawer opened from a hamburger button in the header. Dense data tables switch to a stacked card layout on small screens so nothing is cut off.
4. Reporting entities
A reporting entity is the subject of reporting — whatever you collect data
about. Entities form a hierarchy via a parent_id link, so you can model an
entire corporate group. Carbon Zero supports five entity types:
| Type | What it represents | Typical example |
|---|---|---|
| organization | The top-level reporting organisation or holding company | Gulf Maritime Holding |
| subsidiary | A legal entity beneath the parent | A container line or tanker line |
| facility | A physical site or operation | Jebel Ali container terminal |
| supplier | An upstream value-chain partner | A bunker fuel supplier |
| vessel | An individual ship — the unit of maritime Scope 1/3 reporting | A 9,000-TEU container vessel |
A typical maritime group looks like this:
organization] --> C[Container Line
subsidiary] H --> TKR[Tanker Line
subsidiary] H --> TERM[Jebel Ali Terminal
facility] C --> V1[MV Falcon
vessel] C --> V2[MV Gazelle
vessel] TKR --> V3[MT Oryx
vessel] H --> SUP[Bunker Supplier
supplier]
Ownership & branch scoping
Two scoping mechanisms control who can see which entities:
- Owner — the user who created the entity. Depending on configuration, agents may be restricted to entities they own.
- Branch — entities can be scoped to a branch, so a multi-branch organisation keeps each branch's portfolio separate.
Together these determine each user's accessible entity set; every list, submission grid, score, and report respects it. The one deliberate exception is the customer-care 360 view, which ignores owner/branch scoping for support staff.
Custom fields
Beyond the built-in attributes, you can attach custom fields to entities (text, number, date, select, and so on) configured under Settings → Custom Fields. Use them to capture anything specific to your business — fleet segment, flag state, classification society, parent ownership percentage — without code changes.
5. Frameworks & metrics
A framework is the standard you report against. Each framework owns a metric catalogue — the specific data points it requires. Carbon Zero seeds a reference list covering the major international standards plus the UAE and maritime standards that matter for shipping:
| Family | Frameworks |
|---|---|
| International | GRI, SASB, CSRD-ESRS, TCFD, GHG Protocol |
| UAE regulatory | UAE Climate Law (Federal Decree-Law 11 of 2024), ADX / DFM / SCA / ADGM listing & disclosure rules |
| Maritime / IMO | IMO DCS (Data Collection System), IMO CII & EEXI, Poseidon Principles |
The metric catalogue
Within a framework you define each metric (data point) with:
- Pillar — Environmental, Social, or Governance (E / S / G).
- Value type — numeric, text, boolean, etc., which drives how the value is entered and validated.
- Unit — e.g. tCO2e, MWh, %, count — drawn from the reference units list.
An inline metric editor on the framework page lets you add, reorder, and edit metrics without leaving the framework.
Lifecycle & versioning
Frameworks move through a draft → active lifecycle. You build and refine the metric catalogue while the framework is in draft, then publish it to active so it can be used for submissions. Publishing a new version lets the catalogue evolve over time while historical data stays pinned to the version it was collected under.
6. Reporting periods / campaigns
A reporting period (or campaign) is a collection cycle — for example FY2025, a calendar quarter, or an ad-hoc data drive. It bounds the window that submissions belong to and has a simple open → closed state.
- Open — data can be entered, edited, and verified for the period.
- Closed — the period is locked for collection; its data is frozen for reporting and disclosure.
7. Metric submissions
Metric submissions are the heart of the data ledger: the actual values collected for a given period × entity × metric. Data entry happens on a grid that lays out the metrics for a chosen period and entity so a team can fill them in efficiently.
The data-entry grid
Pick a period and an entity, and the grid shows every metric in the relevant framework with a cell for its value, its unit, and its current status. On small screens the grid becomes a stacked card list so it stays usable on a phone or tablet during a site visit.
Lifecycle & verification
Each submission moves through a four-state lifecycle:
- draft — being entered; not yet asserted as final.
- submitted — asserted by the data owner, awaiting QA.
- verified — checked and accepted by a reviewer (QA). Verified values are the ones that feed scoring, targets, and disclosures.
- rejected — sent back with a reason; correct and resubmit.
You can attach evidence to support a value — the supporting document or note a reviewer needs to trust the figure.
submissions only to your QA / assurance reviewers, so the person who enters a value
isn't the same person who signs it off. See roles and
maker-checker.8. Disclosures / ESG reports
A disclosure (ESG report) is compiled per entity × framework × period. It pulls together the verified submissions into a reviewable, approvable, and ultimately publishable report.
Lifecycle
- draft — assembled and edited.
- in_review — under review by an approver.
- approved — signed off, ready to publish.
- published — final and locked.
The immutable snapshot
This snapshot is what makes a published disclosure auditable: an assurer can always reconstruct precisely what figures supported a given report, regardless of how the live data has moved on.
9. ESG scoring
The ESG scoring engine turns metric data into a comparable score and tier for each entity. A scoring model is a set of weighted criteria, each evaluated against an entity's metrics, producing a 0–100 weighted-average score that maps to a tier.
How a model is built
- Criteria — each criterion has a weight and is scored one of
two ways:
- Numeric bands — thresholds that map a metric value to a sub-score (e.g. emissions intensity below X → 100, between X and Y → 60, above Y → 20).
- Expression — a safe formula over the entity's metrics context, for criteria that combine several data points.
- Weighted average — the criteria sub-scores combine by weight into a single 0–100 score.
- Tiers — the model defines score bands that name a tier (for example A / B / C), so the final number lands in a grade.
Running a model
You run a model for a chosen model × entity × period. The result is an ESG score record with the overall score, the resulting tier, and a per-criterion breakdown showing how each criterion contributed — so a score is never a black box. Re-running upserts the score for that combination.
10. Targets & progress
Targets set a goal for a specific entity × metric and track live progress toward it. A target records a baseline and a target value, and Carbon Zero computes a progress percentage automatically from the latest submission of that metric.
- Direction-aware — progress is measured correctly whether the goal is to reduce a metric (e.g. emissions intensity) or to increase it (e.g. share of low-carbon fuel).
- Live — as new submissions land, the progress bar moves without manual recalculation.
11. Scope 3 emissions calculator
The Scope 3 emissions calculator converts activity and spend data into greenhouse-gas emissions in tCO2e, with a full Well-to-Tank / Tank-to-Wake split. It's reached from the Scope 3 Calculator page in the ESG group.
Two methods
| Method | Based on | When to use |
|---|---|---|
| Activity-based (primary) | Physical activity — fuel burned (per tonne) or freight moved (per tonne-km) | Whenever you have real activity data; the most accurate and the preferred method. |
| Spend-based (fallback) | Money spent in a category (per unit of currency) | When activity data isn't available — a reasonable estimate from financial records. |
WTT + TTW split
Every calculation breaks emissions into two lifecycle stages, then totals them:
- Well-to-Tank (WTT) — the upstream emissions of producing and delivering the fuel before it is burned.
- Tank-to-Wake (TTW) — the emissions from actually burning the fuel in the vessel.
- Total — WTT + TTW, the full well-to-wake figure.
Results roll up by Scope 3 category and method, so you can see where your value-chain emissions concentrate.
The emission-factor catalogue
Each factor carries a WTT and a TTW coefficient. The catalogue is seeded per workspace and covers the maritime essentials:
| Factor group | Basis | Examples |
|---|---|---|
| Maritime fuels | per tonne | HFO, VLSFO, MGO, LNG, methanol, biofuel, ammonia |
| Transport modes | per tonne-km | Road, rail, sea, air freight |
| Spend categories | per unit of currency | Purchased goods & services, etc. |
Entering an activity record
The activity entry form walks you through three choices: pick the method (activity- or spend-based), choose the factor (e.g. VLSFO per tonne), and enter the inputs (e.g. tonnes of fuel). Carbon Zero computes WTT, TTW, and total tCO2e for the record and folds it into the by-category summary.
12. Vessel fuel feeds (Scope 1 evidence)
For maritime Scope 1 (a vessel's own fuel combustion), accuracy hinges on one number: the fuel mass actually burned. The emission factor is essentially fixed by the IMO, so the entire uncertainty lives in the fuel figure. The vessel fuel feeds layer exists to make that figure auditable by ingesting granular fuel observations per vessel and reconciling them against delivered fuel.
Fuel observations by source
Each fuel observation is tagged with its source, which determines the IMO DCS / EU-MRV method (A–D) it maps to and its data-quality tag:
| Source | What it is | Method | Data quality |
|---|---|---|---|
| mfm | Mass flow meter reading | A | primary |
| ams_feed | Automated monitoring system feed | A / B | primary |
| tank_sounding | Bunker tank monitoring / sounding | C | primary |
| bdn | From Bunker Delivery Notes | D | primary |
| noon_report | Daily noon report figures | — | estimated |
| manual | Manually keyed | per source | per source |
The flow: observations → reconcile → rollup
mfm / ams / sounding
noon / manual] --> I[Ingest
idempotent] BDN[(Bunker Delivery
Notes)] --> R I --> R[Reconcile
Σfeed vs ΣBDN] R -->|within 5%| RU[Rollup to
ActivityRecord] R -->|variance > 5%| FL[Flag for
review] RU --> SUM[Emissions summary] SUM --> SC[Scoring] SUM --> DIS[Disclosures]
- Idempotent ingest — observations are keyed by
tenant + entity + source + source_ref, so re-posting the same observation updates it in place. This makes at-least-once delivery from shipboard or shore systems safe. - Bunker Delivery Notes (BDN) — the auditable "fuel uplifted" anchor: how much fuel was actually delivered to the vessel.
- Reconciliation — for a given vessel × period, Carbon Zero compares the sum of fuel observations against the sum of BDNs, computes a per-fuel variance %, and flags anything beyond the 5% tolerance. Reconciled records are marked as such.
- Rollup — the reconciled feed collapses into a single emissions ActivityRecord per (vessel × period × fuel), tagged to its Scope 3 rollup category. The rollup is idempotent and refreshes in place, so the existing emissions summary, scoring, and disclosure pipeline consume it unchanged. TTW becomes the vessel's Scope 1; WTT becomes Scope 3 category 3.
cz_live_ API key for shore-side machine ingestion. See the
Developer Docs for the endpoints under
/api/v1/emissions/fuel-feed (ingest, BDN, reconcile, rollup). Everything else in this
manual — entities, periods, scoring, disclosures — works against the rolled-up result as normal.13. Customer care (entity-360) & support tickets
The entity-360 view
Customer care lets support staff search any entity and open a single 360 overview that pulls together everything about it across tabs: submissions, disclosures, scores, targets, tickets, and notes. It's the one place to answer "what's the full picture for this entity?"
customer_care:access permission — grant it only to your support team.Support tickets
Tickets track support requests and can be linked to an entity. Each ticket has:
- A human-readable number of the form TKT-{year}-{n}.
- Status, priority, and an assignee.
- A comment thread, including automatic system comments that record status changes and other events.
An inbox lists tickets; opening one shows its detail and the full conversation. Tickets are also a target of automation — a rule can open a ticket automatically when something noteworthy happens.
14. Reports & analytics
The Overview dashboard
The Overview page renders live KPIs for your accessible portfolio:
- Entity counts by type.
- Framework and period counts.
- Submission completeness — how much of the expected data is in.
- Disclosure pipeline — how many disclosures sit at each lifecycle stage.
- Score average & tier distribution.
- Active targets.
The figures are branch- and owner-scoped to what you're allowed to see, and the pipeline is drawn with simple CSS bar charts.
The Report Builder
The Report Builder is a compose-over-catalogue engine. You build a report without writing any query:
- Pick a source — entities, submissions, disclosures, scores, or targets.
- Choose the fields you want from that source's whitelisted columns.
- Run the report to see results, respecting your entity scope.
- Export to CSV, and optionally save the definition to re-run later.
15. Automation
Automation is an event-driven rules engine: when something happens in the platform, a rule can react. A rule has three parts:
- Trigger — a platform event, e.g.
disclosure.publishedor a submission review event. - Condition (optional) — a safe expression over the event payload, so a rule only fires when it matters.
- Action — create a ticket, add a note, or emit an event.
Every firing is recorded in a run log so you can see what ran, when, and whether it succeeded. Automation runs alongside the webhook dispatch at the same points — disclosure transitions, submission review, and scoring — and is best-effort and isolated, so a misbehaving rule never blocks the underlying action.
disclosure.published can automatically open a follow-up ticket
(e.g. "file with the regulator") and log the run — exactly the behaviour verified in the seeded
demo.16. Team, roles & branches
Inviting teammates
Invite colleagues by email under Team. They receive an invitation, set their own password, and join your workspace with the role you assign.
Roles & permissions (RBAC)
Access is governed by role-based access control. A role is a bundle of permissions, each a (resource, action) pair. Permission checks are exact-match — there are no wildcards — so a role only grants exactly what's listed. The main ESG and platform resources are:
| Group | Resources |
|---|---|
| ESG domain | reporting_entities, frameworks, metrics, periods, submissions, disclosures, scoring, targets |
| Platform | users, roles, branches, tenant_settings, custom_fields, reference_data, api_keys, webhooks, reports, customer_care, tickets, processes |
The Owner role is created with full grants when the workspace is registered. Built-in admin and analyst roles give you sensible starting points; you can create and tailor your own.
Maker-checker
For sensitive changes, maker-checker requires a second person to approve what the first person proposes (two-person sign-off). It's a pluggable approval layer over the actions you choose to govern.
Branches
Branches partition a larger organisation. Scoping entities (and their data) to a branch keeps each branch's portfolio separate, while owners and admins retain a cross-branch view. A head-office branch is seeded by default.
Signing in as a teammate (impersonation)
An authorised admin can temporarily impersonate a teammate to see exactly what they see — useful for support and troubleshooting. Impersonation issues a scoped session and is ended explicitly to return to your own account.
17. Settings
The Settings area tailors your workspace. The most-used pages:
- Workspace settings — currency, timezone, date format, and branding. New workspaces default to AED / Asia/Dubai / dd/mm/yyyy; change them here.
- Custom Fields — define extra fields on entities (and other objects) to capture data specific to your business, with no code change.
- Reference Data — the seeded menus the app draws on: frameworks, units, sectors, countries. Extend them to fit your context.
- API Keys — mint
cz_live_keys for machine-to-machine access (e.g. shore-side fuel-feed ingestion). Scope each key to least privilege. - Webhooks — subscribe an external system to ESG events (e.g.
disclosure.published); deliveries are signed with HMAC.
18. Platform administration
Platform administration is a cross-tenant operator console, intended for the people who run the Carbon Zero platform — not for normal workspace users. It is separate from per-tenant RBAC: access is gated by a dedicated platform-admin flag on a user, not by any workspace role.
/admin console reachable from the user menu.The cross-tenant console
- Overview — platform-wide stats across all workspaces.
- Tenant list & detail — browse every workspace and drill into one.
- Set plan — change a workspace's plan.
- Suspend / reactivate — suspending a workspace locks its billing and returns a payment-required response on business endpoints until it's reactivated.
- Owner impersonation — sign in as a workspace owner for support, then return to the operator account.
The SQL console
A read-only SQL console lets operators query the platform database for support and investigation. Safety is enforced at the database level, not just by convention:
- Every query runs inside a read-only, rolled-back transaction.
- A statement timeout and a row cap bound each query.
- A table/column schema browser helps you find what to query.
The editable plans catalogue
The plan catalogue is editable and persisted. An operator can edit a plan's name, price, limits, and features; the override is stored and overlaid onto the defaults so the change applies to every workspace on that plan immediately. A plan can also be reset back to its default.
19. Glossary
| ESG | Environmental, Social, and Governance — the three pillars of sustainability reporting. |
| Scope 1 | Direct emissions from sources you own or control — for a ship, the fuel it burns. |
| Scope 2 | Indirect emissions from purchased energy (electricity, heat, steam). |
| Scope 3 | All other indirect value-chain emissions, upstream and downstream — usually the largest and hardest to measure. |
| tCO2e | Tonnes of carbon-dioxide equivalent — the common unit for greenhouse-gas emissions. |
| WTT (Well-to-Tank) | Upstream emissions of producing and delivering a fuel, before it is burned. |
| TTW (Tank-to-Wake) | Emissions from burning the fuel on board. WTT + TTW = well-to-wake total. |
| Framework | A reporting standard (GRI, CSRD-ESRS, IMO DCS…) defining what to disclose; owns a metric catalogue. |
| Metric | A single data point in a framework, with a pillar (E/S/G), value type, and unit. |
| Reporting period | A collection cycle (e.g. FY2025); open or closed. |
| Submission | A value collected for one (period × entity × metric); draft → submitted → verified → rejected. |
| Disclosure | A compiled ESG report per (entity × framework × period); published with an immutable data snapshot. |
| Materiality | Whether a topic is significant enough to warrant disclosure — the lens used to decide what to report. |
| ESG score & tier | A 0–100 weighted score from a scoring model, mapped to a named tier (e.g. A/B/C). |
| Target | A goal for an (entity × metric) with a baseline and target value, tracked by live progress %. |
| BDN (Bunker Delivery Note) | The auditable record of fuel uplifted to a vessel — the anchor for fuel reconciliation. |
| IMO DCS | IMO Data Collection System — mandatory fuel-oil consumption reporting for ships. |
| EU-MRV | EU Monitoring, Reporting and Verification regulation for shipping CO2 emissions. |
| CII | Carbon Intensity Indicator — IMO's operational efficiency rating for ships. |
| EEXI | Energy Efficiency Existing Ship Index — a technical efficiency standard for existing ships. |
| Poseidon Principles | A framework for integrating climate considerations into ship-finance decisions. |
| Reporting entity | The subject of reporting: organization, subsidiary, facility, supplier, or vessel, in a parent hierarchy. |
| Vessel / IMO number | A ship modelled as a reporting entity; its IMO number is the permanent, unique vessel identifier. |
| Workspace / tenant | Your isolated organisation account. |
| 2FA / MFA | Two-/multi-factor authentication — a second sign-in step (authenticator or email code). |