---
title: "Billing"
slug: admin/billing
url: https://projectri.com/docs/admin/billing
section: admin
audience: admin
app_route: "/[slug]/admin/billing"
permissions: [billing.view, billing.manage]
mobile: false
updated: 2026-09-08
source: Projectri documentation
---

# Billing

Your workspace's own subscription to Projectri — the plan, the seats and limits you are using, the invoices we send you, and the details we print on them.

![Billing](https://projectri.com/docs-shots/admin-billing.png)

## What it is

Billing is what **your workspace pays Projectri**: which plan you are on, how
many seats, projects and gigabytes you are using against that plan's ceilings,
the invoices we have sent you, and the address they are made out to.

> [!NOTE]
> This is the only page in the console about money going *out* to us. Money
> coming in from your own clients is on
> [Invoicing](/docs/admin/billing-runs) and
> [Receivables](/docs/admin/receivables). The two are unrelated systems that
> unfortunately share the word "billing".

## How to get there

**Money → Billing** in the admin console rail. Like every console page except
Security and the knowledge base, you need the **ADMIN** role to open it at all —
a custom role holding `billing.view` can call the API but is bounced out of the
console on arrival.

Reading the page needs `billing.view`. Everything that costs money or changes
who the invoice is addressed to needs `billing.manage`: buying a plan, opening
the payment portal, checking a discount code, and saving the billing details.
Without it the plan cards still render, with a line at the bottom saying the
permission is what is missing.

There is no plan gate. Billing is on every tier, including Free.

## How to use it

### See what you are paying and what you are using

1. Open the **Overview** tab.
2. The plan card gives four figures: what you are **Billed** per month or per
   year, **Seats** used against the seat cap, when the subscription **Renews**,
   and anything **Outstanding**. A trial in progress adds a line saying when it
   ends.
3. Below it, three meters — seats, projects and storage. A plan with no ceiling
   on one of them draws an empty bar and says "no limit" in words rather than
   drawing a full one.
4. Under the meters, a red line for any gauge you are **over** and an amber one
   for any gauge at **90% or more** of its ceiling. Over is not a warning: the
   next invite or the next upload will be refused.
5. **Recent payment activity** lists the last twelve charges, refunds and
   failures with the message the payment processor gave.

### Read your invoices

1. Open the **Invoices** tab. The most recent 24 are listed.
2. Filter by status — Draft, Open, Paid, Void, Uncollectible, Refunded.
3. **OVERDUE** is worked out from the due date, not stored as a status. An
   invoice is Open and past its due date, and both facts are shown.
4. **PDF** opens the processor's copy when there is one.
5. **Export invoices** in the page header downloads a CSV. When a status filter
   is on it becomes **Export filtered** and exports only that status.

### Check what your plan actually includes

1. Open **What you get**. This is the resolved entitlement set for your
   workspace, grouped by area — the same catalogue the API enforces its gates
   from, so it cannot drift from what you can really do.
2. Metered rows show usage against the limit. Seats, projects and storage are
   point-in-time gauges; API calls and AI tokens reset monthly, and the wording
   differs on purpose.
3. A row reading **Added to your plan** was granted outside your tier, and if it
   has an end date the row says so. That is worth reading before a renewal.

### Change plan

1. Open **Plans**.
2. Choose **Monthly** or **Yearly** first. The cycle changes the price on every
   card, and picking the plan first would show you one price and charge another.
3. Optionally type a discount code and press **Apply**. What comes back is what
   the code *is* — "20% off" — never a computed final price, because the
   arithmetic, rounding and tax are the processor's.
4. Press **Upgrade now** on the plan you want. You are taken to a hosted
   checkout page to pay by card.
5. A plan with no price on the chosen cycle shows **Request this plan** instead.
   That dialog does not send anything anywhere — there is no plan-request
   endpoint. It tells you to contact us, and that is all it does.
6. Once you have been billed at least once, **Manage payment** appears on the
   Overview tab and opens the payment processor's own portal for cards,
   receipts and cancellation.

### Change the details printed on your invoices

1. Open **Billing details**.
2. Fill in billing email, legal entity name, tax or VAT ID, PO number, and the
   address. Each field takes up to 200 characters.
3. Press **Save details**. **Reset** puts back what was there before.

## What it affects

- **Every gated feature in the product.** Your tier decides which entitlement
  keys resolve to on, and those keys gate whole screens — billing runs, the
  report builder, scenarios, single sign-on. See
  [Plans and entitlements](/docs/features/plans-and-entitlements).
- **Invites and uploads.** The seat and storage meters here are computed by the
  same helper the guards use, so the page and the refusal can never disagree.
  Being over the seat cap is what stops the next invite; being over the storage
  cap is what stops the next upload. The storage figure sums every model that
  holds bytes — task files, documents, ticket attachments, proofs and the rest
  — not just task attachments.
- **What we print.** The billing profile is copied onto the invoices we issue
  you, including the PO number if your finance team requires one.
- **After a purchase.** Your tier moves when the signed webhook from the payment
  processor arrives, not when the browser comes back. Returning to this page
  with a successful checkout drops the cached entitlement set so gated features
  stop saying "upgrade" while the payment settles.

## On mobile

This screen is web only. The phone app has an **AI spend** screen behind the
same two keys — see [AI spend](/docs/admin/ai) — but no subscription, plan or
invoice surface.

## Limits and gotchas

- Nothing on this page writes your plan directly. Paying for one does, through
  the processor's webhook. A workspace cannot put itself on a tier nobody sold
  it.
- **Manage payment** is deliberately hidden until you have a payment method on
  file. Shown earlier it would fail with "you have never been billed", which is
  a true sentence and a broken button.
- `OPEN` is the only unpaid invoice status. There is no "past due" state —
  lateness is a property of the due date.
- The plan list shows active plans only. If you are on a grandfathered plan it
  still appears as your current one, badged **CURRENT**, but is not offered to
  anyone else.
- A workspace running on tier defaults has no named plan row. The card badged
  CURRENT is then the first active plan on your tier, which is the same one the
  public pricing page leads with.

## Related

- [Invoicing](/docs/admin/billing-runs) — billing your own clients, which is a different system entirely.
- [AI spend](/docs/admin/ai) — the other line a workspace can run up without deciding to.
- [Plans and entitlements](/docs/features/plans-and-entitlements) — how a tier becomes a set of switches.
- [Workspace settings](/docs/admin/settings) — country, locale and the reporting currency.

## Related

- [Invoicing](https://projectri.com/docs/admin/billing-runs.md): Assemble a period's billing from approved time, expenses, fixed fees, milestones and retainer draws, review what it proposes per client, then issue it as invoices.
- [AI usage and models](https://projectri.com/docs/admin/ai.md): What this workspace spends on AI models, the monthly ceiling on it, the credit balance it spends past the plan, and which model each kind of work is sent to.
- [Plans and entitlements](https://projectri.com/docs/features/plans-and-entitlements.md): What each plan includes, what happens when you hit a limit, and why losing a feature never loses the data behind it.
- [Settings](https://projectri.com/docs/admin/settings.md): Branding, region, locale, the working week and storage policy — the tenant preferences that every other screen in Projectri reads.
