Create Pricing Plans
Set up job posting prices and create different pricing tiers for employers.
A
JPricing plans define what employers pay to post jobs on your board. You need a connected Stripe account before creating paid plans.
Prerequisites
Complete Stripe onboarding for paid plans. Decide what the employer receives—active-job slots, duration, featured slots, and billing interval—before entering a price. Keep a new plan hidden until its checkout and entitlements have been tested.
Access pricing plans
- Go to Settings > Payments tab
- The Pricing Plans section shows your existing plans
Create a plan
- Click Add Plan
- Fill in the plan details:
- Name: what employers see (e.g. "Standard Job Post"), max 100 characters
- Kind: Free, One-time, Bundle, or Subscription
- Currency: any currency your Stripe account supports
- Price: the amount to charge (minimum 1 for paid plans)
- Description: what's included, max 500 characters
- Billing interval: Monthly or Yearly (subscriptions only)
- Public: whether the plan appears on your pricing page
- Configure plan features (see below)
- Save the plan
Plan types
Free: lets employers post without payment. Useful for launch promotions or community boards.
One-time: a flat fee for a single job posting. Each purchase gives the employer one active job slot.
Bundle: a discounted package for multiple posts. Set the number of active job slots included. Bundles work well for companies hiring for several roles at once.
Subscription: recurring monthly or yearly billing for a set number of active job slots. When a job expires, the slot frees up for a new posting. Subscriptions suit staffing agencies and fast-growing companies with ongoing hiring needs.
One-time and bundle plans can be set to invoice billing, so employers receive an emailed Stripe invoice on net terms instead of paying by card at checkout.
Plan features
Each plan has four configurable features that control what employers get:
- Max Active Jobs: the number of jobs an employer can have published at the same time. Default is 1. For bundles and subscriptions, increase this to match the plan's value.
- Job Duration (Days): how many days each job stays active before expiring. Default is 30. Common values are 30, 45, or 60 days.
- Featured Slots: the number of jobs that get featured placement. Default is 0. Set this equal to or less than Max Active Jobs.
- Feature Selection Mode: Automatic (jobs are featured on submission as long as slots are available) or Manual (employers choose which jobs to feature). Default is automatic.
Manage plans
To edit a plan, click on it and update the fields you want to change. To mark a plan as recommended (highlighted on your pricing page), use the action menu and select Set as Recommended.
Plans can be toggled between public and hidden. Hidden plans don't appear on your pricing page but remain active for existing subscribers. You cannot delete a plan while employers have active subscriptions using it.
Pricing guidance
The right price depends on employer demand, audience relevance, measured results, included service, and alternatives in your niche. Document a pricing hypothesis, test it with real employers, and review conversion and repeat purchase after enough comparable sales. Use example prices only as your own test inputs, not as an industry benchmark.
Verify the plan
Open the public employer posting flow and confirm the plan appears only when Public is enabled. Complete a test-mode checkout for each paid plan, then verify the order, job-slot limit, duration, featured behavior, and subscription interval match the values you saved.
If a plan is missing or cannot be saved
Confirm Stripe onboarding is complete, every required field has a valid value, and featured slots do not exceed active-job slots. A hidden plan is intentionally absent from the public page. If a plan has active subscribers, preserve it for those customers instead of deleting it.
Next steps
After the test passes, make the plan public and read Posting a job to verify the full employer journey. Add a discount code only when a specific campaign needs one.