Carta Hmrc Limits

by carta6ab81016389cNo license14 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated today

Report a UK company's HMRC EMI/CSOP limit usage. Use when asked how much EMI allowance is left, whether the company is near the £6m EMI limit, who is close to or over their £250k individual limit, CSOP headroom, or whether a planned grant fits.

Instructions onlyBusiness & Finance
AI-generated overview

Reports a UK company's HMRC EMI and CSOP share-scheme limit usage at company and per-holder level.

What it does
Queries Carta's UK compliance tools for a company's HMRC EMI/CSOP allowance usage and returns company-level figures plus a per-holder breakdown. It reports statutory limits, used and available amounts, and a limit status such as within, approaching or exceeded limit. It also flags missing valuations, non-GBP grants and holders near or over their individual limit.
When to use it
Use it for UK companies when asked how much EMI allowance remains, whether the company is near the £6m EMI limit, who is close to or over the £250k individual limit, CSOP headroom, or whether a planned grant fits.
Requirements
Requires the Carta MCP tools (call_tool, list_contexts, set_context, list_accounts) and a corporation_id obtained from list_accounts. The company must have the HMRC limits feature enabled and the user needs company tax data permission. No scripts are shipped.
<!-- carta:plugin-version -->

<carta-plugin>carta-cap-table:6.89.2</carta-plugin>

<!-- Part of the official Carta AI Agent Plugin -->

HMRC EMI/CSOP Limits

Report how much of a UK company's HMRC share-scheme allowances its outstanding grants use — at company level and per option holder.

When to Use

  • "How much of our EMI limit have we used?"
  • "How much EMI allowance is left?"
  • "Are we close to the £6 million EMI limit?"
  • "Who is near their individual limit?"
  • "Is anyone over the £250k EMI/CSOP limit?"
  • "How much CSOP headroom does Priya have?"
  • "Can we grant another £50k of EMI options?"

UK companies only. A company without UK share schemes has nothing to report here.

Prerequisites

You need the corporation_id. Get it from list_accounts if you do not have it.

Data Retrieval

Company-level allowance:

call_tool({"name": "uk_compliance__get__hmrc_limits",           "arguments": {"corporation_id": corporation_id}})

Per-holder breakdown:

call_tool({"name": "uk_compliance__list__hmrc_stakeholder_limits",           "arguments": {"corporation_id": corporation_id}})

Both are read-only, so issue them in a single response when the question needs both.

Filters on the per-holder call

  • status — comma-separated: WITHIN_LIMIT, APPROACHING_LIMIT, EXCEEDED_LIMIT, MISSING_UMV_VALUATION
  • search — holder name
  • ordering — name, or -name to reverse
  • page, page_size — page_size defaults to 25

Reading the response

Company level returns scheme_type (EMI_ONLY, CSOP_ONLY, EMI_AND_CSOP), statutory_limits, company_limit_usage and an optional warnings list.

Per holder returns count (rows on this page), total_count (the company total) and stakeholder_limits[], each with name, scheme_type, limit_status, individual_limit_usage and option_grants_count.

limit_status and the company status share four values: WITHIN_LIMIT, APPROACHING_LIMIT (at or above 80%), EXCEEDED_LIMIT, MISSING_UMV_VALUATION.

Rules

Never state a limit from memory. Read statutory_limits. The EMI company limit rose from £3m to £6m on 6 April 2026, and the service returns the figure that applies. Quoting a remembered number will eventually be wrong, and wrong by millions.

MISSING_UMV_VALUATION is not zero. It means at least one grant has no unrestricted market value valuation covering its grant date, so that grant could not be priced. The used and available figures are absent on this status. Say the total is unavailable and that a valuation is needed — never report £0 used or a full allowance remaining. Treating it as zero tells a company it has room it may not have.

Read total_count before summarising the roster. count is only this page. With more holders than one page, filter with status=EXCEEDED_LIMIT,APPROACHING_LIMIT rather than paging the whole company — the holders who matter are the ones near or over.

A warnings entry about non-GBP grants means the totals are incomplete. Only GBP-denominated grants count toward the figures, so a company holding grants in other currencies has usage the numbers do not show. Pass the warning on.

The £250k individual limit is combined EMI and CSOP, with a £60k CSOP sub-limit. When individual_limit_usage.breakdown is present, emi_available and csop_available show headroom per scheme. A holder can have combined room left while their CSOP room is spent, so quote the relevant one for the scheme being asked about.

Presenting

Lead with the answer, then the figures. For "how much is left", give available and the limit it is measured against, and say the status in words.

For roster questions, a short table — holder, status, used, available — and name the count you are showing against total_count. Put anyone EXCEEDED_LIMIT first; that is the actionable group.

Round to whole pounds. These are statutory thresholds, so do not present a figure as more precise than the source.

If the call fails

  • 403 — the company does not have the HMRC limits feature enabled, or this user lacks the company tax data permission. Both are expected for non-UK companies and for users without tax access. Say which company was refused and suggest they check with an administrator; do not retry.
  • 400 on status — an invalid status value. The four valid ones are listed above.

Related Skills

  • carta-valuation-history — the EMI and CSOP valuations these figures are priced from
  • carta-reporting — the underlying option grants and other cap table data

Source and attribution

Source:carta/pluginsinplugins/carta-cap-table/skills/carta-hmrc-limitsat commit6ab8101

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from carta/plugins

Carta Fund Admin Requests

carta

Send work to your Carta Fund Admin team and track it. Opens a request the team reads, acts on, and replies to — the off-ramp for anything no other Carta skill or command can do. TRIGGER: "ask Carta to", "have Carta do", "send this to my fund admin", "ask my fund admin team", "can Carta do this for me", "check on my request", "did Carta reply", "what requests do I have open", "reply to Carta", "follow up on my request", plus ANY action request (create/change/send/restate/reconcile/split/fix) that no other skill or Carta command covers. NOT FOR: reporting a bug or feature request about this plugin (call fa:create:feedback directly); questions answerable from Carta data (use carta-explore-data); capital call reminders to LPs (that is a Carta command, not a Fund Admin request).

Awaiting classification14updated today

Carta Explore Data

carta

Answers Carta Web / Fund Admin investor data questions by querying the Carta data warehouse and formatting results.

Data & Analytics14updated today

Carta Download Tearsheet

carta

Downloads Carta tear sheets for portfolio companies and funds via the Carta MCP server.

Documents & Office14updated today

Update Note

carta

Searches for notes in the Carta CRM and helps the user update deal comments. Use this skill when the user says things like "update a note", "edit note", "update note content", "change a note", or "/update-note". Note: standalone note editing is not available via MCP — notes/comments are attached to deals and updated via the update-deal skill.

Awaiting classification14updated today

Update Investor

carta

Partially updates an existing investor record in the Carta CRM by ID or name.

Business & Finance14updated today

Update Fundraising

carta

Updates an existing fundraising record in the Carta CRM. Use this skill when the user says things like "update a fundraising", "edit fundraising", "update fundraising details", "change fundraising stage", "update fundraising fields", or "/update-fundraising". Accepts a fundraising ID or name (will search if no ID provided). Only the fields explicitly provided are changed — all other fields are left untouched.

Awaiting classification14updated today