DocType Overview
ION Career introduces three custom DocTypes that work together to create a flexible job screening questionnaire system. These DocTypes integrate with ERPNext’s existing Job Opening and Job Applicant DocTypes.Job Question Set
The Job Question Set is a container DocType that groups related screening questions together.Structure
Fields
Unique title for the question set
Child table containing Job Question records
Usage Example
Create a question set for software engineering roles:Job Question
Job Question is a child DocType (table) that defines individual screening questions within a question set.Structure
The
istable: 1 property marks this as a child DocType that can only exist within a parent document.Fields
The question text displayed to applicants
Unique identifier for the question (auto-generated, hidden from user)
Type of input control (Checkbox or Select)
Whether the question must be answered
Display order of the question
Field Configuration
Notice that several fields are marked ashidden and read_only:
job_question.json
Job Applicant Question Answer
This child DocType stores individual answers from applicants, creating a structured record of their responses.Structure
Fields
The question text (copied from Job Question)
The question’s fieldname identifier
The applicant’s answer (typically “Yes” or “No”)
Reference to the job opening being applied for
Answer Processing
Answers are created automatically by theprocess_job_questions() handler:
handlers.py
Relationship with ERPNext DocTypes
Job Opening Extension
ION Career adds a custom field to link question sets:custom_field.json
The
reqd: 1 setting makes it mandatory to select a question set when creating a job opening.Job Applicant Extension
Multiple custom fields are added to Job Applicant:custom_score (Data)
custom_score (Data)
Read-only field displaying the calculated score (0-10).
custom_job_question_answers (Text)
custom_job_question_answers (Text)
Hidden field storing raw JSON answers from the web form.
custom_question_answers (Table)
custom_question_answers (Table)
Table field displaying structured answer records.
custom_questions (Tab Break)
custom_questions (Tab Break)
UI element creating a dedicated tab for viewing questions and answers.
Data Flow Between DocTypes
Permissions
Job Question Set
Only System Manager role has full CRUD permissions
Job Question
Inherits permissions from parent (Job Question Set)
Job Applicant Question Answer
Inherits permissions from parent (Job Applicant)
API Methods
Theapi.py module provides whitelisted methods for web form integration:
api.py