Frappe HR recruitment: how staffing plans become hires
Frappe HR recruitment is the set of documents in the open-source Frappe HR app that moves approved headcount from a plan to a signed offer and then to an employee record. A team needs it when approved roles, open requisitions and candidate details are spread across email threads and spreadsheets, so nobody can see which roles are funded, which candidates are at which stage, or who approved the offer. Frappe HR runs on top of ERPNext, so the work is recorded in the same system that holds your employee and company data.
The chain starts with a staffing plan, which sets the approved number of positions for a designation in a department and period. A job requisition then draws on that plan, and a job opening is published from the requisition, optionally to the job portal. Applicants are recorded against the opening. Interview rounds, interviewers and feedback are tracked against each applicant, and a job offer is created once an applicant is selected. When the offer is accepted, the record is carried into an employee record. The Frappe HR documentation covers each of these as separate pages: Frappe HR: Recruitment, Frappe HR: Interview Management and Frappe HR: Job Offer.
Before the build starts, confirm with the HR lead who approves a requisition, how many positions each plan allows, and whether offers need a second approver outside HR. Check which designations, departments and companies exist in ERPNext, because openings and offers link to them. Decide whether candidates will apply through the public job portal or only through internal entry, and which personal data your policy allows to be stored on applicant records. Agree the handover from an accepted offer to the employee record and to onboarding, since that step decides whether payroll and leave start cleanly.
What each recruitment record is for
A staffing plan records how many positions the business expects to fill for a designation within a company and period. A job requisition is the internal request to hire into a specific role, raised by a manager and checked against that plan before any advertising starts. Together they decide whether a vacancy is funded and approved.
- Staffing plan purpose: holds approved headcount by designation, so later requisitions have a budget to draw on.
- Requisition purpose: captures the request for a specific role and the reason for the hire.
- Owners: HR or workforce planning owns the plan, with finance and department heads signing off. Hiring managers raise requisitions.
- Links to: designations and the company on the plan, and the job opening a requisition becomes once approved.
- Control point: a requisition with no matching plan line is where unplanned hiring is caught.
Confirm the approval steps your organization needs, and whether your Frappe HR version routes requisitions through a workflow before an opening is created.
A job opening is the published vacancy: the role description candidates see, tied to a designation and a company. It controls whether applications are accepted, so its content, status and closing point affect both candidate experience and how your hiring policy is applied. The opening is also the anchor for every applicant that follows.
- Purpose: defines the advertised role and whether it is open to applications.
- Owners: recruiters write and publish the opening, and hiring managers review the description.
- Links to: the designation, the requisition it came from, and each applicant who applies to it.
- Publishing: whether openings appear on a public job portal depends on how your website is set up, so confirm the publishing path in your own environment.
- Notifications: decide who receives application alerts for each opening before it goes live.
Test the opening as an external candidate would see it, and confirm the portal and notification behavior in your version before you publish.
A job applicant record holds one candidate's application for one job opening, including their details, resume and current status. It is the unit that moves through interviews and, if selected, becomes a job offer. Because it stores personal data, its design affects privacy obligations as well as hiring workflow.
- Purpose: stores each candidate's application against a specific opening and tracks its status.
- Owners: recruiters maintain the record, while interviewers and hiring managers read it.
- Links to: the job opening applied for, and the interview rounds and job offer recorded against it.
- Data care: decide who can view applicant records, how attachments are handled, and how long records are kept under your own retention policy.
- Duplicates: agree how the same candidate applying to several openings is recorded, so their history stays in one place.
Confirm which applicant fields are required in your version and how your team will handle candidates who withdraw or are rejected.
Interview management organizes the rounds an applicant goes through and records the feedback each interviewer submits. It turns scattered notes into a comparable record that the hiring decision can rest on. The quality of this record depends on how consistently your interviewers use it.
- Purpose: structures interview rounds and stores each interviewer's feedback against the applicant.
- Owners: recruiters set up the rounds and coordinate schedules, and interviewers submit their feedback.
- Links to: the applicant and job opening, and the selection decision that leads to a job offer.
- Consistency: agree on rating criteria for each round so feedback can be compared across interviewers.
- Visibility: decide which interviewers can see one another's feedback, to limit bias and protect candidate data.
Read the Frappe HR interview management documentation for your version, and confirm how rounds are assigned and who can view feedback.
A job offer records the terms proposed to a selected applicant and tracks their response. When an offer is accepted, the applicant can be turned into an employee record, which is where HR, payroll and onboarding begin. The terms captured here flow into systems that are harder to correct later.
- Purpose: records the proposed terms and the candidate's acceptance or decline.
- Owners: HR prepares the offer, and approvers follow your internal delegation of authority.
- Links to: the applicant and job opening, and the employee record created when the offer is accepted.
- Downstream effects: salary and start-date details in the offer need to match the salary structure and onboarding tasks set up for the role.
- Approvals: confirm who must approve an offer before it is sent, in writing, under your policies.
Read the Frappe HR job offer documentation, then confirm how an accepted offer converts to an employee in your version and which terms it copies into payroll.
Which recruitment configuration fits which hiring model
This table compares the four recruitment configuration choices in Frappe HR: staffing plans versus ad hoc requisitions, public versus internal postings, single or multi-round interviews, and manual versus template offers. Read each row for the hiring model it suits and the admin time it adds. The main takeaway is that the more structure you add, the more upfront setup and upkeep you own.
| Configuration | Best fit | Admin time and trade-off |
|---|---|---|
| Staffing plan with job requisitions | Teams with approved annual or quarterly headcount that finance tracks against budget | Higher setup: plans and designations must be maintained each cycle, but openings trace back to approved headcount |
| Ad hoc job requisitions | Backfills and one-off roles where no headcount plan exists yet | Lower setup, but less visibility of planned versus filled positions and more manual checking by HR |
| Public job openings on the job portal | Roles where external candidates are expected and the company website is the main source | Needs descriptions, status and closing dates kept current; applications arrive in volume and need triage |
| Internal-only job openings | Mobility, succession or confidential roles that should not appear publicly | Less inbound volume, but you must still define who can view the opening and how internal applicants are tracked |
| Single-round interview with feedback | High-volume or entry-level roles with a standard screen and one panel | Quick to run, but fewer checkpoints; feedback still needs a defined format so decisions are comparable |
| Multi-round interviews with structured feedback | Senior, technical or regulated roles needing separate screens, technical tests and sign-offs | More interview rounds and feedback records to set up and chase; the cost rises with each round and interviewer |
| Manual job offer letters | Low hiring volume or highly individual offers that need bespoke wording | Little setup, but each letter is drafted by hand, which raises error and consistency risk |
| Job offer templates | Repeated roles with stable terms, such as standard grades or graduate intakes | Upfront effort to design and approve templates; afterward each offer needs only the variable terms checked |
Setting up recruitment in Frappe HR
This sequence takes a Frappe HR instance from an installed app to a tested path where an applicant accepts an offer and becomes an employee draft. Each step closes with a check so the team knows the configuration works before real candidates enter the system.
Confirm the Frappe HR app and ERPNext version
An HR administrator confirms that the Frappe HR app is installed on the same bench or site as the ERPNext version in use, and that the version is one listed as supported on Frappe's supported versions page. Recruitment depends on the Employee, Designation and Department records that ERPNext and Frappe HR share, so a version mismatch will surface later as missing fields or failed links. Check the installed apps list in the site and record the versions. The step is done when the Frappe HR workspace and the Recruitment menu open for a user with the HR Manager role.
Define designations and departments
HR and the hiring managers agree the designations and departments that open roles will use, since every job opening, staffing plan and employee record points to them. Create or review Designation and Department records, and confirm that titles match the wording used in job ads and offer letters. Changing these later affects historical reporting, so settle the list before any requisitions are raised. The check is a sample Designation selection in a new Job Opening form showing the department and designation filled without errors.
Create staffing plans for each department
Finance or HR leadership creates Staffing Plan records for each department and company for the period being planned, with the number of positions approved per designation. The staffing plan is the approved headcount ceiling that requisitions and openings are checked against, so it should reflect budget decisions rather than wish lists. Confirm with your finance team how approved positions map to the budget before entering numbers. The check is a staffing plan that shows the approved vacancy count for one designation, and an attempt to open more positions than the plan allows is blocked or flagged.
Raise job requisitions against the plan
Hiring managers submit job requisitions tied to a staffing plan line, giving the reason for the hire, the designation and the expected start. HR reviews each requisition and approves or returns it, so the approval trail is kept with the request. Confirm who approves requisitions in your organization and whether the approval chain needs to be configured before go-live. The check is an approved requisition linked to a staffing plan line, with the remaining vacancy count reduced accordingly.
Publish job openings to the job portal
HR creates a Job Opening from an approved requisition, adds the description, qualifications and location, and publishes it to the website job portal if the organization uses one. Confirm that the Website settings, the portal route and the published flag behave as expected on your site, and review the job text with legal or policy owners where pay ranges or equal-opportunity wording apply. Closing the opening once the position is filled keeps the portal accurate. The check is a published opening visible in a logged-out browser session, and an unpublished draft that does not appear there.
Configure applicant statuses and interview rounds
HR sets up the applicant status values, the interview rounds for each opening or designation, and the interviewers who score each round. Interview feedback is captured against the round, so the interview template and the rating scale should match how your panels decide. Confirm the interview process with hiring managers before building templates, and agree who can see feedback. The check is a test interview scheduled for a sample applicant, with a feedback entry saved against the round and visible to the expected reviewers only.
Process a test applicant through to a job offer
HR creates a test Job Applicant linked to an opening, moves it through the applicant statuses, records interview feedback, and then creates a Job Offer with the agreed designation, salary and start date. Use a test record or a dummy candidate so no real personal data enters the system during testing. Submitting and accepting the offer is the step that makes the handover to employee creation possible. The check is an accepted Job Offer that shows the applicant as hired in the workflow.
Wire job offers to employee creation and verify the draft
HR confirms that an accepted Job Offer creates an Employee draft with the designation, department and company copied across, and that the staffing plan and opening counts update afterwards. Review which fields HR must complete before the employee is activated, such as contact and bank details, and confirm that payroll setup follows as a separate step. Delete or cancel the test records once verified, and document the sequence for the people who will run live hiring. The check is an employee draft created from the test offer, with the linked opening and staffing plan showing the correct remaining vacancies.
Protecting applicant data during hiring
Applicant records hold personal data, such as contact details, CVs, cover letters and sometimes identity or eligibility documents, and they also hold interviewer feedback about candidates. Before go-live, decide who can see applicant records, who can see feedback written by other interviewers, and how long rejected applicants stay in the system. These are business and legal decisions as much as configuration tasks, so agree them with HR, the hiring managers and your data protection or legal contact before the first job opening is published.
In ERPNext, record and report access is controlled through roles, role permissions on each DocType, and user permissions that restrict a user to specific records such as a company or department. Map your hiring roles (recruiter, hiring manager, interviewer, HR approver) to the Job Applicant, Interview and Job Offer DocTypes, and test with a non-admin user for each role. Confirm in your version whether field-level permissions, the controls that limit who can export or print records, and any data masking options cover the fields you consider sensitive. Do not assume a role that can open an applicant can also not download the full list.
Plan retention as a written rule rather than a one-off clean-up. Define how long applicant data is kept after a rejection or a withdrawal, who approves deletion, and how a deletion request from a candidate is handled across applicants, interviews and attached files. Check how your chosen version handles deletion of linked documents and attachments, and test that a deletion leaves no copies in exports or email notifications. Ask your legal or compliance adviser to confirm the retention period for your jurisdiction, since DeployOpen prepares the system and evidence but does not set the policy.
Security and operational risks in hiring workflows
Recruitment records hold personal data, candid assessments and offer terms that feed directly into payroll. The cards below name the risks that connect these records and the controls to confirm in your own Frappe HR setup before applicants and recruiters start using it.
Applicant personal data exposure
Job applicant records hold CVs, contact details, identity documents and sometimes salary history. Confirm which roles can open the Job Applicant list and the attached files, and whether those roles are limited by company or by department. Test with a user who holds only the recruiter role, and check that file attachments follow the same restrictions as the record they belong to.
Interview feedback visibility
Interview ratings and written feedback are often candid and can be sensitive. Confirm which interviewers can read feedback submitted by other panelists, and whether hiring managers see feedback before their own round is complete. Check the rules on the Interview and Interview Feedback records with a non-panel test user before go-live.
Public job portal exposure and spam
A published job opening is reachable by anyone on the internet, and the application form can attract bots and fake submissions. Confirm which fields are published with each opening, that no internal notes or salary bands appear on the public page, and how you will filter spam before applicants reach the recruitment queue. Review the web form settings with your security team.
Offer data accuracy on conversion
When a job offer is accepted, its salary, designation, company and start date move into the employee record and later into payroll. Errors at this step can flow into every salary slip. Confirm that the offer approver checks these fields against the approved staffing plan, and that the conversion to employee is reviewed before payroll components are assigned.
External recruiter and agency access
Agencies often need to see applicants for a single requisition only. Confirm whether your Frappe HR version lets you limit an external user to specific job openings through user permissions, and whether that user can export records. Create a separate user for each agency and test that it cannot open other openings, the employee list or salary data.
Backups and audit of changed records
Recruitment records change often, and candidate status changes must be traceable when a hiring decision is questioned. Confirm that backups include the recruitment tables and attached files, that restore has been tested, and that version tracking is enabled for Job Applicant, Job Offer and Interview. Ask who can delete records and how deletions are logged.
Questions buyers ask before setting up Frappe HR recruitment
How much effort does Frappe HR recruitment setup take?
Effort depends mainly on how many hiring structures you need to model before the first requisition is raised. A small team with one approval chain and a few standard job titles needs far less configuration than a group with several companies, departments and designations that each hire differently. The main drivers are the number of staffing plans, whether job openings must appear on a public careers page, how many interview rounds each role uses, and how job offers feed into employee records. Ask any partner to list each of these items in the written scope so the estimate reflects your structure rather than a generic template. The Frappe HR recruitment documentation at Frappe HR: Recruitment describes each document type, which helps your team count the setup items.
Can an internal HR administrator configure recruitment alone?
An HR administrator who knows the hiring process can usually configure the core documents alone, including staffing plans, job openings, applicant statuses and interview rounds. The work becomes harder when configuration touches shared ERPNext settings, user roles, designations and employee records, because mistakes there affect other modules. Plan for a second person with ERPNext administration skills to review role permissions and naming series before go-live. If your team has no one who has run ERPNext in production, a fixed-scope engagement can cover the setup and hand over a written runbook. Confirm internally who will own changes after go-live, since recruitment settings tend to drift once several managers start using them.
What does recruitment setup need from HR, IT and legal teams?
HR supplies the hiring process itself: who approves a requisition, which interview stages each role follows, what feedback each interviewer records, and which offer letter templates apply. IT supplies the environment, user accounts, email sending for applicant and offer messages, and access to any careers page or job portal the company publishes. Legal and compliance review the data kept about applicants, retention periods, consent wording on application forms and the content of offer letters. Each group should sign off its part in writing before build, because changes to approval chains or offer terms after testing are the most common reasons recruitment setups are reworked.
How is a fixed-scope recruitment engagement agreed?
Most engagements are fixed-scope, which means the scope, deliverables and timeline are agreed in writing before work starts. A written scope for recruitment should list the staffing plans and job openings in scope, the interview and feedback design, the job offer flow, the data to be migrated from any existing applicant tracker, and the testing and training included. DeployOpen does not publish a price list, so a quote follows from that written scope. Ask for a scope document that names exclusions, such as custom careers page design or integrations with external job boards, and that states how change requests are priced once work has started.
Does the free self-hosted Frappe HR app carry licensing or support costs?
The software itself is free to self-host. ERPNext is licensed under GPL-3.0 and the Frappe Framework under MIT, according to the license metadata in their GitHub repositories. The recurring costs come from infrastructure you run, staff time to administer the system, and any external support you buy. Frappe Cloud is a separate hosted option, and its pricing starts at 5 US dollars per month for shared site hosting, according to the ERPNext pricing page at ERPNext pricing. Warranty coverage from Frappe depends on running a listed version with a matching Frappe Cloud support plan, so check that condition before assuming vendor support applies to your self-hosted install.
What changes when the team upgrades ERPNext later?
Recruitment documents are stored in the same database as the rest of ERPNext, so a major version upgrade touches them along with accounting and payroll. Check the release notes for the Frappe HR app version that matches your ERPNext version, because the HR app is installed separately and must be compatible. Custom fields, client scripts and any server scripts on applicant or job offer documents need retesting, and server scripts are disabled by default from version 15 and must be enabled deliberately. Frappe's supported versions page lists which versions are currently supported and their end-of-life dates, which should drive your upgrade plan. Ask any partner to include a regression test list for recruitment in the upgrade scope.
Which access rules should guard applicant and offer data?
Applicant records contain personal data, and job offers contain salary terms, so access should be limited by role and, where needed, by company or department. Interviewers should see the applicants they are assigned to and record feedback, while only HR and the hiring manager should see offer details. Review who can export applicant lists, because exports leave the system's audit context. Confirm your retention rules for rejected applicants before go-live so the system does not hold them longer than your policy allows. An access review at the end of setup, with a test user for each role, is a practical way to confirm these rules work as designed.
Will recruitment data move into payroll automatically?
A job offer that is accepted can create an employee record, but the salary structure, tax settings and bank details still need to be set up before the first payroll run. The handover from recruitment to payroll is a common source of errors, because offer amounts may not match the components configured for the designation. Map each offer template to its salary structure in a test environment and run one sample payroll before live use. Confirm with your payroll owner which fields the offer must carry, so that onboarding does not leave new hires without the data the first salary slip needs.
How DeployOpen scopes and delivers Frappe HR recruitment
DeployOpen plans, implements, customizes, documents and supports Frappe HR recruitment inside your own infrastructure, from the staffing plan through to the employee record created when an offer is accepted. Every engagement starts with a written scope so that the requisition workflow, approvals, interview process and data handling are agreed before any configuration begins.
How we scope
- Map how staffing plans, job requisitions and openings are approved today across departments and budget owners.
- Agree which job portal pages, applicant fields and interview rounds Frappe HR will carry, in writing.
- Confirm who may see applicant records, feedback and offer details, and how long those records are kept.
How we build
- Configure staffing plans, job openings and designations in a test site before any live hiring starts.
- Set up interview rounds and feedback forms, then test them with sample applicants and the hiring panel.
- Check job offer templates, the offer-to-employee handoff and the data that carries across into payroll.
How we hand over
- Deliver a written configuration record covering roles, approval steps, templates and open decisions.
- Document the recruiter and hiring manager steps so teams can run an opening without vendor help.
- Walk through test results with your HR and IT owners and record each sign-off before go-live.
How we support
- Engagements are fixed-scope, so changes to recruitment rules are priced against the written scope.
- Ongoing support, upgrades and continuous testing are available as a retainer for your Frappe HR site.
- Confirm with us which Frappe and ERPNext versions your site runs and how minor releases will be applied.

