Billing & Licenses
How PetroBench licenses and seats work with app roles, how Guest seats differ from paid seats, and how to manage subscription allocation and invoices from the Admin Panel.
The Billing section in the Admin Panel covers your subscription plan, license (seat) allocation, and payment history. HQ Admin users manage billing; Division Admin users may distribute seats within their division depending on plan settings.
Open Admin Panel > Subscription & Licenses for the current plan. Use Invoice History for past charges.
How licenses relate to app roles
A license in PetroBench is a seat on an installed app (for example, Well Management or RodSim). Seats are not a separate “user type”-they are consumed when you assign someone an app role on that app.
| App role | Seat type | Counts against |
|---|---|---|
| Admin | Paid | App paid seats |
| Engineer | Paid | App paid seats |
| Advisor | Paid | App paid seats |
| Guest | Free guest | App guest seats - not paid seats |
Think of it this way:
- Platform role (on Users) decides where the person sits in the org.
- App role (on Assign Roles) decides what they can do in each app.
- That app role decides which seat pool is used for that app.
One person can use a paid seat on RodSim (Engineer) and a Guest seat on another app, depending on how you assign each column.
Paid seats vs guest seats
- Paid seats - Working users who create or edit (Admin, Engineer, Advisor). These are the seats you purchase with the plan / app entitlement.
- Guest seats - Read-only Guest app role only. Included as a separate free pool on team plans (for example, SME and Enterprise include a default guest pool per app). Guests never reduce your paid seat count.
When the guest pool for an app is full, you must free a Guest assignment, raise guest capacity (if your plan allows), or give that person a paid app role instead.
Guest users are still members of your organization. They sign in, inherit division/region data scope, and appear on the Users list. “Guest” here means the app role, not an anonymous visitor.
Subscription & Licenses
The Subscription & Licenses page shows plan and seat usage, usually broken down per app:
| Item | Description |
|---|---|
| Plan | Current PetroBench plan (for example, SME or Enterprise) |
| Status | Active, trial, or expired state |
| Paid seats | Purchased seats for an app; used by Admin / Engineer / Advisor |
| Assigned (paid) | Paid seats currently consumed by those app roles |
| Available (paid) | Paid seats left to assign |
| Guest seats | Free read-only pool for the Guest app role |
| Used guest seats | How many Guests are assigned on that app |
Allocate licenses
On organizations with divisions, paid seats are often allocated per division before users consume them.
- Go to Admin Panel > Subscription & Licenses
- Review Available paid seats at the organization level
- Assign seats to a Division (or directly to users, depending on your layout)
- Click Save or confirm the allocation
Allocate division pools before a large invite batch so new Engineers and Advisors receive paid seats when they accept. Invite view-only people as Guest when you want to avoid spending paid seats.
Division Admin users may see a subset of this page limited to their division's pool. They assign seats to users in their division from the same interface or from user records.
If a user sees a trial or license expired message, check seat allocation and plan status here first. See Trial or License Expired for troubleshooting steps.
Invoice History
Open Admin Panel > Invoice History to review past invoices and payment status. Each row typically includes the billing period, amount, status, and a link to download or view the invoice PDF. Use date filters or search when available to find a specific charge.
License and user lifecycle
| Event | Billing impact |
|---|---|
| Invite as Engineer / Advisor / Admin | Needs an available paid seat on each assigned app |
| Invite or assign as Guest | Needs an available guest seat; does not use a paid seat |
| Change Guest → Engineer | Frees a guest seat; consumes a paid seat (if available) |
| Change Engineer → Guest | Frees a paid seat; consumes a guest seat |
| Deactivate user | May free paid and guest seats for reuse (depends on plan rules) |
| Remove user | Seats typically return to the available pools |
| Add division | May require reallocating the division license pool |
Coordinate with Users and Roles & Permissions when changing headcount so allocations stay in sync.
Who can access billing
| Page | HQ Admin | Division Admin | Region Admin |
|---|---|---|---|
| Subscription & Licenses (org) | — | — | |
| Subscription & Licenses (division pool) | Own division | — | |
| Invoice History | — | — |
Billing changes affect all users on the plan. Confirm purchase orders or approval workflows with your finance team before upgrading or adding seats.
Next steps
- Invite users after allocating seats: Users
- Understand Guest vs paid app roles: Roles & Permissions
- Distribute division pools: Divisions
- Troubleshoot access errors: Trial or License Expired