Skip to main content

What Are Seats?

In Recruitier, a seat represents one active team member slot in your agency. Each recruiter who uses the platform requires their own seat. Seats are the unit by which your agency subscription is billed — the more seats you have, the more recruiters can work simultaneously on the platform. But seats are more than just access tokens. Each seat carries its own credit allocation (5,000 credits per 30-day cycle) and its own credit refresh timer. This means credits belong to the seat, not to the person sitting in it. This distinction has important implications for how credits work when team members join, leave, or swap positions. Think of seats like desks in an office: each recruiter needs their own desk to work. The desk has a budget (credits) attached to it. When someone leaves, the desk stays with its budget — the next person who sits down inherits whatever is there.

Understanding Seat Counts

Your agency tracks three seat numbers at all times:
MetricDescription
Total SeatsThe total number of seats in your agency subscription. This is the maximum number of active recruiters you can have at any given time.
Active SeatsThe number of seats currently occupied by team members (those with a user assigned). Each assigned seat contributes to this count.
Unassigned SeatsThe number of seats available for new team members. Calculated as Total Seats minus Active Seats. These seats are ready to be assigned when new members accept invitations.
For example, if your agency has 10 total seats and 7 are occupied by active members, you have 3 unassigned seats available for new recruiter invitations.
An “unassigned” seat is not the same as a “deleted” seat. Unassigned seats are active and available — they just do not have a user currently assigned to them. They still have a credit balance and a credit refresh timer. This is important for understanding credit management.

Seat States

Each seat in your agency can be in one of three states:
Stateuser_idis_activeDescription
AssignedSet (has a user)trueAn active member is using this seat. Contributes to active_seats count.
UnassignednulltrueAvailable for a new member. Has a credit balance and refresh timer.
InactiveN/AfalseDeactivated through a subscription downgrade. Not counted in totals.
Understanding these states is key to managing your seats effectively. Most day-to-day management involves assigned and unassigned seats. Inactive seats only appear when you reduce your total seat count through billing changes.

The Seat Management Card

The seat management card is visible on the Members page of the agency admin panel. It provides a quick visual summary:
  • A progress bar showing seat utilization with a percentage badge
  • Three counts displayed side by side: Active Seats, Unassigned, and Total Seats
  • Buttons to Add Seats or Remove Seats (remove is disabled when all seats are assigned)
This card updates in real time as you add members, remove members, or adjust your seat count.

Adding Seats

When your team grows and you need more capacity, you can add seats to your agency:
1

Navigate to the Members page

Go to the Agency section and select Members (or Seat Management).
2

Click Add Seats

Click the Add Seats button on the seat management card.
3

Enter the quantity

Specify how many additional seats you want to add. Each seat increases your total capacity by one and adds the per-seat cost to your subscription.
4

Confirm and pay

Review the updated seat count and the pro-rated cost. The additional seats are added immediately upon confirmation, and your billing is adjusted for the remainder of the current billing period.
New seats are added as unassigned seats. They become assigned when a team member is invited and accepts, or when an admin activates their own seat.
Adding seats will adjust your subscription billing. The cost is pro-rated for the remainder of your current billing period. For example, if you add a seat halfway through a monthly billing cycle, you pay half the monthly per-seat rate for that first partial month. Full billing starts at the next cycle.

Removing Seats

If your team contracts or you have more seats than you need, you can remove unused seats:
1

Navigate to the Members page

Go to the Agency section and select Members.
2

Click Remove Seats

Click the Remove Seats button on the seat management card.
3

Enter the quantity

Specify how many seats you want to remove. You can only remove seats that are currently unassigned — you cannot remove a seat that is occupied by an active member.
4

Confirm

Review the updated seat count and confirm the removal. The removed seats become inactive, and a billing credit is applied to your account for the unused portion.
You cannot remove seats that are currently occupied by active team members. To free up a seat, you must first remove the member who is using it (which unassigns the seat), then remove the now-unassigned seat. This two-step process prevents accidentally removing active users.

Seat Activation for Admins

Agency admins have a unique capability: they can choose whether to occupy a seat or not. This is managed through the seat activation feature.

Activating Your Admin Seat

If you are an agency admin and want to also work as a recruiter (running searches, managing candidates, sending outreach), you can activate your seat:
  1. Look for the Activate Seat banner on your admin dashboard or the Members page.
  2. Click Activate Seat.
  3. Your role changes from Admin to Admin Member.
  4. One of your unassigned seats is now occupied by you.
  5. You gain access to the full recruiter workspace alongside your admin tools.
  6. You receive the seat’s credit allocation (with a refresh if the seat is eligible).

Deactivating Your Admin Seat

If you want to stop using a recruiter seat and return to admin-only mode:
  1. Navigate to the Members page or your profile settings.
  2. Click Deactivate Seat.
  3. Your role changes from Admin Member back to Admin.
  4. The seat you were using becomes unassigned and available for another team member.
  5. You retain full admin access but lose the recruiter workspace.
Deactivating your seat is useful if you are primarily a team manager and do not need to run searches or manage candidates yourself. It frees up a seat (and its credit allocation) for a recruiter who needs it more. You can always reactivate later if you need to jump back into recruiting.

Seat Activation Banners

Throughout the admin interface, you may see banners prompting you to activate or manage seats:
  • “Activate your seat” — Appears when you are an admin without an active seat, reminding you that you can activate one if you want recruiter access.
  • “No seats available” — Appears when all seats are occupied and you try to invite a new member. You will need to add more seats before proceeding.
  • “Seats available” — Shows the number of unassigned seats, indicating capacity for new team members.

How Seats Relate to Credits

The relationship between seats and credits is fundamental to understanding agency billing:
  • Each seat receives 5,000 credits per 30-day cycle
  • Credits belong to the seat, not to the user assigned to it
  • Each seat has its own independent last_credit_refresh_at timestamp
  • When 30+ days have elapsed since the last refresh, the seat is eligible for a new 5,000 credits
  • Unassigned seats retain their credit refresh timer — it does not pause or reset
This seat-based credit model means:
ScenarioWhat Happens to Credits
New member joins and is assigned a seatMember gets the seat’s current credit balance, plus a refresh if eligible
Member leaves and seat is unassignedSeat retains its credits and timer. Credits are not lost.
Different member is assigned to the seat laterNew member inherits the seat’s current credit balance and timer
Seat’s 30-day timer expires while unassignedTimer continues running. Next assigned user gets the refresh.
The credit refresh timer is deliberately preserved when a seat is unassigned. This prevents an exploitation pattern where an admin could unassign and reassign a seat to trigger extra credit refreshes. The timer runs continuously regardless of seat assignment status.

How Seats Relate to Billing

Seats are the primary billing unit for agency subscriptions:
Billing AspectHow It Works
Base costEach seat has a per-month cost based on your plan (monthly: 225,quarterly:225, quarterly: 191/mo, yearly: $157/mo)
Adding seatsPro-rated charge for the remainder of the current billing cycle
Removing seatsBilling credit applied for the unused portion of the current cycle
Credit allocationEach active seat receives 5,000 credits per 30-day refresh cycle
For complete details on how seat-based billing works, including prorated charges and plan comparisons, see Team Billing.

Best Practices

  • Right-size your seats — Do not buy more seats than you need. You can add more instantly at any time with pro-rated billing, so there is no benefit to over-provisioning. Excess seats cost money even if no one is using them.
  • Remove members before removing seats — If a team member leaves, first remove them from the agency (which unassigns their seat), then remove the seat if you do not plan to replace them. This two-step process keeps things clean.
  • Monitor utilization — Check the seat management card regularly. If you have seats that are paid for but unassigned for more than a billing cycle, consider removing them to save costs.
  • Plan for growth — If you know you will be hiring soon, add seats a day or two before you send invitations. This makes the invitation process seamless.
  • Use admin seat activation strategically — If you only recruit part-time, activate your seat during busy periods and deactivate during management-heavy periods. This flexibility is unique to the Admin role.

Advanced

How Seats Work Under the Hood

Each seat is stored as its own entity with the following key fields:
FieldDescription
idUnique identifier for the seat
agency_idThe agency this seat belongs to
user_idThe user assigned to this seat (null if unassigned)
is_activeWhether the seat is active (true) or deactivated (false)
creditsThe current credit balance on this seat
last_credit_refresh_atWhen credits were last refreshed on this seat

Seats Are Never Deleted

A critical implementation detail: seats are never deleted from the database. When you “remove” a seat through the UI, it is marked as inactive (is_active = false). The seat record persists with its history. This approach preserves audit trails and prevents data integrity issues. When seats are “added,” new seat records are created (during subscription purchase or upgrade). Seats are only created through the billing flow, never through the member management flow. This ensures that every seat corresponds to a paid subscription unit.

Seat Creation vs. Assignment

There is an important distinction between seat creation and seat assignment:
  • Seat creation only happens during subscription purchase or when adding seats through billing. This is the moment a new seat entity is created in the database.
  • Seat assignment happens when a member accepts an invitation or when an admin activates their seat. This updates the seat’s user_id field but does not create a new seat.
This separation means that member management (invite, remove) operates on existing seats, while billing management (add seats, remove seats) creates or deactivates seat entities.

Credit Refresh Mechanics

The credit refresh follows these exact rules:
  1. Check if current_date - last_credit_refresh_at >= 30 days
  2. If yes, add 5,000 credits to the seat’s balance
  3. Update last_credit_refresh_at to the current date
  4. The refresh happens when a user performs a credit-consuming action (not on a schedule)
The refresh is triggered lazily — there is no background job that refreshes credits. When a seated user performs an action that consumes credits, the system first checks if a refresh is due and applies it before deducting the action cost.

Connection to Member Removal

When a member is removed from the agency:
  1. The seat’s user_id is set to null (seat becomes unassigned)
  2. The seat’s is_active remains true (seat is available)
  3. The seat’s credits balance is preserved
  4. The seat’s last_credit_refresh_at is preserved
  5. The agency’s active_seats counter is decremented
The preserved credit and timer state means the next person assigned to this seat inherits the exact credit situation. This prevents gaming the system through rapid member cycling.

Connection to Billing (Stripe)

Seat additions and removals trigger Stripe subscription updates:
  • Adding seats: Creates a pro-rated invoice line item for the additional seats
  • Removing seats: Applies a credit to the customer’s Stripe balance
  • Plan changes: When switching between monthly/quarterly/yearly, all seats are recalculated at the new rate
The Stripe webhook handler processes these changes and updates the agency’s seat count accordingly.

Edge Cases

  • All seats occupied, admin wants to activate: The admin must add a new seat first or remove an existing member to free a seat before activating their own.
  • Single-seat agency: An agency can have as few as one seat. If the admin is the only user and they deactivate their seat, the agency has one total seat and zero active seats.
  • Rapid assignment cycling: If a seat is unassigned and reassigned within the same 30-day window, no extra credit refresh occurs because the timer was never reset.

Power-User Tips

  • Track credit refresh dates. Know when each seat’s credits refresh so you can plan high-credit-usage activities (like bulk searches or outreach campaigns) to start just after a refresh.
  • Use unassigned seats strategically. If you know a new hire is starting next month, keep a seat unassigned rather than removing it. The seat accumulates time toward its next credit refresh, and the new hire may receive fresh credits on day one.
  • Monitor seat utilization ratio. If your active-to-total seat ratio is below 80% for more than a month, you are paying for unused capacity. Consider removing excess seats.