openapi: 3.0.0
info:
  title: Employee Salary
  description: The Employee Salary module enables you to manage and configure salary details, benefits and deductions of an employee.
  contact: {}
  version: 1.0.0
servers:
  - url: https://www.zohoapis.in/erp/v1
    description: API Endpoint
tags:
  - name: employee-salary
    description: Employee Salary Module
paths:
  /employees/{employee_id}/salary:
    x-mcp-group:
      - Employees
    parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/employee_id'
    get:
      tags:
        - employees
      operationId: get_employee_salary
      summary: Get salary details
      description: To fetch the salary details of an employee.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-salary-details-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.READ
  /employees/{employee_id}/deductions:
    x-mcp-group:
      - Employees
    parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/employee_id'
    get:
      tags:
        - employees
      operationId: list_employee_deductions
      summary: List Deductions
      description: Retrieve a list of deductions associated with an employee.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post-tax-deduction-list-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.READ
    post:
      tags:
        - employees
      operationId: associate_employee_deduction
      summary: Associate deduction
      description: Create a deduction component at organization level, which you can associate to employees.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/employee-post-tax-deduction-create-request'
      responses:
        '201':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-post-tax-deduction-create-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.CREATE
  /employees/{employee_id}/deductions/{deduction_id}:
    x-mcp-group:
      - Employees
    parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/employee_id'
      - $ref: '#/components/parameters/deduction_id'
    put:
      tags:
        - employees
      operationId: update_employee_deduction
      summary: Update deduction
      description: Update the details of a deduction associated with an employee.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-post-tax-deduction-request'
      responses:
        '201':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-post-tax-deduction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.UPDATE
    delete:
      tags:
        - employees
      operationId: delete_employee_deduction
      summary: Delete deduction
      description: To delete the deduction associated with an employee.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-post-tax-deduction-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.DELETE
  /employees/{employee_id}/benefits:
    x-mcp-group:
      - Employees
    parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/employee_id'
    post:
      tags:
        - employees
      operationId: associate_employee_benefit
      summary: Associate benefit
      description: Create a benefit component at organization level, which you can also associate to employees.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/employee-benefit-create-request'
      responses:
        '201':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-benefit-create-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.CREATE
    get:
      tags:
        - employees
      operationId: list_employee_benefits
      summary: List benefits
      description: Retrieve a list of benefits associated with an employee.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-benefit-list-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.READ
  /employees/{employee_id}/benefits/{benefit_id}:
    x-mcp-group:
      - Employees
    parameters:
      - $ref: '#/components/parameters/organization_id'
      - $ref: '#/components/parameters/employee_id'
      - $ref: '#/components/parameters/benefit_id'
    put:
      tags:
        - employees
      operationId: update_employee_benefit
      summary: Update benefit
      description: Update the details of a benefit associated with an employee.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/employee-benefit-update-request'
      responses:
        '201':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-benefit-update-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.UPDATE
    delete:
      tags:
        - employees
      operationId: delete_employee_benefit
      summary: Delete benefit
      description: To delete the benefit associated to the employee.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/employee-benefit-delete-response'
      deprecated: false
      security:
        - Zoho_Auth:
            - ERP.salary.DELETE
components:
  parameters:
    organization_id:
      name: organization_id
      description: Unique identifier for the organization.
      in: query
      required: true
      schema:
        type: string
      example: '10234695'
    employee_id:
      name: employee_id
      in: path
      description: Unique identifier for the employee.
      schema:
        $ref: '#/components/schemas/employee_id'
      required: true
    deduction_id:
      name: deduction_id
      in: path
      description: Id of deduction.
      required: true
      schema:
        type: string
        example: '49774000000257078'
    benefit_id:
      name: benefit_id
      in: path
      description: Id of benefit.
      required: true
      schema:
        type: string
        example: '49774000000095189'
    pay_date:
      name: pay_date
      in: path
      description: Pay date.
      required: true
      schema:
        $ref: '#/components/schemas/pay_date'
    type:
      name: type
      in: path
      required: true
      description: The type of item.
      schema:
        type: string
        example: cars
    reimbursement_id:
      name: reimbursement_id
      in: path
      description: Reimbursement id.
      required: true
      schema:
        $ref: '#/components/schemas/reimbursement_id'
    filter_by:
      name: filter_by
      in: path
      description: Filtering criteria.
      required: true
      schema:
        type: string
        example: PayPeriod.FiscalYear
    fiscal_year:
      name: fiscal_year
      in: path
      description: Fiscal year.
      required: true
      schema:
        type: string
        example: '2021'
    revision_id:
      name: revision_id
      in: path
      description: Unique identifier of the revision.
      required: true
      schema:
        type: string
        example: '3000000004513'
  schemas:
    gendoc-attributes-schema:
      $ref: '#/components/schemas/salary_details'
    code:
      type: integer
      example: 0
      readOnly: true
    message:
      type: string
      example: success
      readOnly: true
    employee_name:
      type: string
      example: Anand Maya
      description: The full name of the employee.
    employee_id:
      description: Unique identifier for the employee.
      type: string
      example: '36000000012849'
    first_name:
      description: First Name of the Employee.
      type: string
      example: Anand
    middle_name:
      description: Middle Name of the Employee.
      type: string
      example: ''
    last_name:
      description: Last Name of the Employee.
      type: string
      example: Maya
    employee_status:
      description: Status of the employee.<br/> Allowed values are <code>active</code>, <code>terminated</code>
      type: string
      example: active
    monthly_salary:
      type: number
      example: 50000
      description: The monthly salary amount for the employee, excluding one-time earnings.
    is_eligible_for_pf:
      type: boolean
      example: true
    is_eligible_for_esi:
      type: boolean
      example: false
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    pf_account_number:
      description: Enter PF account number, if the employee is eligible for EPF.
      type: string
      example: AA/AAA/4567890/OIU/4454545
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    esi_number:
      description: Enter ESI number, if the employee is eligible for ESI.
      type: string
      example: '1234567890'
      x-node_available_in:
        - in
      x-node_unavailable_in: []
    ctc:
      description: Yearly ctc of the employee.
      type: number
      example: 650000
    id:
      type: string
      example: '49774000000236001'
    amount:
      type: number
      example: 10000
      description: A fixed numerical value.
    is_enabled:
      type: boolean
      example: true
    is_amount_in_percentage:
      type: boolean
      example: false
      description: Indicates whether the provided amount is of percentage type.
    amount_in_percentage:
      type: number
      description: The amount provided as percentage.
    employer_amount_in_percentage:
      type: number
    employer_amount:
      type: number
      description: The amount contributed towards the benefit by the employer.
    employee_amount:
      type: number
      description: The amount contributed towards the benefit by the employee.
    type:
      type: string
      example: basic
    name:
      type: string
      example: Basic
    is_included_in_pf:
      type: boolean
      example: true
      description: Indicates whether the component is considered for EPF.
    is_included_in_esi:
      type: boolean
      example: true
      description: Indicates whether the component is considered for ESI.
    is_employee_restricted_basic_enabled:
      type: boolean
      example: false
      description: When the employee is eligible for EPF, indicates whether the employee contribution towards EPF is restricted to the amount based on the organization's configuration. (Applicable only for EPF).
    is_employer_restricted_basic_enabled:
      type: boolean
      example: true
      description: When the employee is eligible for EPF, indicates whether the employer contribution towards EPF is restricted to the amount based on the organization's configuration. (Applicable only for EPF).
    employee_restricted_basic_amount:
      type: number
      example: ''
      description: When <code>is_employee_restricted_basic_enabled</code> is true, the employee''s contribution is restricted to Rs.15,0000 of Basic Pay by default, defining the maximum wage for EPF calculation. Users can provide alternative values if organizational override is permitted. (Applicable only for EPF).
    can_override_restricted_basic_amount:
      type: boolean
      example: false
    employer_restricted_basic_amount:
      type: number
      example: 15000
      description: When <code>is_employer_restricted_basic_enabled</code> is true, the employer''s contribution is restricted to Rs.15,0000 of Basic Pay by default, defining the maximum wage for EPF calculation. Users can provide alternative values if organizational override is permitted. (Applicable only for EPF).
    max_limit:
      type: number
      example: 12000
    carry_forward_option:
      type: string
      example: monthly
      description: When it is not required to carry forward the claim amount, specify the value as <code>disabled</code>. For Reimbursements, when the claim amount can be carried forward monthly within the financial year, specify the value as <code>monthly</code>. For LTA, when the claim amount can be carried forward monthly and to the next financial year, specify the value as <code>monthly_and_yearly</code>
    is_opt_in:
      type: boolean
      example: false
      description: Set to <code>true</code> to prevent overriding the Flexible Benefit Plan amount.
    revision_id:
      type: string
      example: '49774000000241001'
      description: Unique ID for Salary revision.
    pay_date:
      type: string
      example: '2022-06-30'
    revision_status:
      type: string
      example: pending
      description: The status of the salary revision.
    deduction_id:
      type: string
      example: '49774000000257078'
    deduction_name:
      type: string
      description: Name of the deduction.
      example: Cab Deduction
    is_pro_rata:
      type: boolean
      example: true
    is_recurring:
      type: boolean
      description: Indicates if the deduction is recurring.
      example: true
    is_value_in_percent:
      type: boolean
      description: Set to <code>true</code> if the deduction is calculated as a percentage type.
      example: true
    recurrence_termination_type:
      type: string
      description: Allowed values are <code>by_month</code>, <code>by_amount</code> and <code>infinite</code>.<br/> If the deduction is intended to end after a specific month, specify the value as <code>by_month</code>.<br/> If the deduction is intended to end after a specific amount has deducted, specify the value as <code>by_amount</code>.<br/> If the deduction is never intended to end specify the value as <code>infinite</code>
      example: infinite
    recurrence_termination_month:
      type: string
      description: Enter the termination month in the format <code>YYYY-MM</code> if the termination type is <code>by_month</code>.
      example: 2024-10
    recurrence_termination_amount:
      type: number
      description: Enter the termination amount if the termination type is <code>by_amount</code>.
      example: 4000
    total_amount_deducted:
      type: number
      example: 100
    amount_to_be_deducted:
      type: number
      example: 500
    benefit_id:
      type: string
      description: Unique identifier of the benefit.
      example: '49774000000095189'
    benefit_name:
      type: string
      example: Public Provident Fund
    employee_contribution_value:
      type: number
      example: 0
      description: Provide the amount contributed by the employee towards the benefit.
    is_employee_contribution_in_percent:
      type: boolean
      description: Set to <code>true</code> if the contribution is calculated as a percentage of the sum of Basic and Dearness Allowance (if present)
      example: false
    employee_recurrence_termination_type:
      type: string
      description: Allowed values are <code>by_amount_and_reset_every_year</code>, <code>by_amount</code> and <code>infinite</code>.<br/> If the benefit is intended to end after a specific amount has been deducted and reset every year, specify the value as <code>by_amount_and_reset_every_year</code>.<br/> If the benefit is intended to end after a specific amount has deducted, specify the value as <code>by_amount</code>.<br/> If the benefit is never intended to end specify the value as <code>infinite</code>.
      example: infinite
    employer_contribution_value:
      type: number
      example: 2000
      description: Provide the amount contributed by the employer towards the benefit.
    is_employer_contribution_in_percent:
      type: boolean
      description: Set to <code>true</code> if the contribution is calculated as a percentage of the sum of Basic and Dearness Allowance (if present)
      example: false
    employer_recurrence_termination_type:
      type: string
      description: Allowed values are <code>by_amount_and_reset_every_year</code>, <code>by_amount</code> and <code>infinite</code>.<br/> If the benefit is intended to end after a specific amount has been deducted and reset every year, specify the value as <code>by_amount_and_reset_every_year</code>.<br/> If the benefit is intended to end after a specific amount has deducted, specify the value as <code>by_amount</code>.<br/> If the benefit is never intended to end specify the value as <code>infinite</code>.
      example: by_amount_and_reset_every_year
    is_included_in_ctc:
      type: boolean
      example: true
      description: Set to <code>true</code> if the employer's contribution is a part of the salary structure (CTC)
    can_allow_employer_contribution:
      type: boolean
      example: true
    employee_contribution_max_limit:
      type: number
      description: Set maximum limit, if the employee recurrence type is <code>by_amount</code> or <code>by_amount_and_reset_every_year</code>
      example: ''
    employer_contribution_max_limit:
      type: number
      description: Set maximum limit, if the employer recurrence type is <code>by_amount</code> or <code>by_amount_and_reset_every_year</code>
      example: 6000
    from_date:
      type: string
      example: '2024-04-01'
    to_date:
      type: string
      example: '2024-03-31'
    month:
      type: string
      example: April-2024
    change_in_percent:
      type: number
      example: 20
      description: The updated percentage in salary structure (CTC) of an employee.
    effective_from:
      type: string
      example: 2024-03
      description: The date from which the salary revision is effective. The arrear payment after salary revision, if any will also be calculated from the effective date. Specify the date in <code>YYYY-MM</code> format.
    payment_month:
      type: string
      example: 2024-04
      description: The month from which the revised salary is being paid. The arrear payment, if any will be calculated from the effective date. Allowed Format <code>YYYY-MM</code>
    reimbursement_type:
      type: string
      example: telephone
    reimbursement_id:
      type: string
      example: '40992000000092150'
    reimbursement_name:
      type: string
      example: Telephone Reimbursement
    eligible_amount:
      type: number
      example: 500
    total_amount:
      type: number
      example: 1000
    unclaimed_amount:
      type: number
      example: 500
    pending_for_approval_amount:
      type: number
      example: 0
    paid_amount:
      type: number
      example: 0
    approved_and_unpaid_amount:
      type: number
      example: 0
    claimed_amount:
      type: number
      example: 0
    excess_claim:
      type: number
      example: 0
    balance_amount:
      type: number
      example: 5500
    approved_amount:
      type: number
      example: 0
    carryforward_type:
      type: string
      example: disabled
    tax_year_end:
      type: string
      example: March 2019
    tax_year_start:
      type: string
      example: April 2018
    tax_exempt_section:
      type: string
      example: 80c
      description: Allowed values are <code>80c</code>, <code>80d</code>, <code>80dd</code>, <code>80ddb</code>.
    tax_exemption_sub_type:
      type: string
      example: ppf
      description: Allowed values are <code>lic</code>, <code>ppf</code>, <code>ulip</code>, <code>mutual_fund</code>,<code>mediclaim_self</code>, <code>mediclaim_self_senior</code>, <code>mediclaim_self_parents</code>, <code>mediclaim_self_parents_senior</code>, <code>preventive_health_checkup</code>, <code>preventive_health_checkup_parents</code>, <code>treat_disability</code>, <code>treat_disability_severe</code>, <code>medical_exp</code>, <code>medical_exp_senior</code>, <code>medical_exp_super_senior</code>
    benefit_plan:
      type: string
      example: other_non_taxable_benefit
      description: Allowed values are <code>other_non_taxable_benefit</code>, <code>nps</code>
    template_id:
      type: string
      example: '179695000000174001'
      description: Unique ID for Salary Template.
    template_name:
      type: string
      example: Salary Template(Sample)
      description: The name of the salary template.
    is_scheduled_earning:
      type: boolean
      example: true
    is_eligible_for_eps:
      type: boolean
      example: true
      description: Indicates whether the component is considered for EPS.
    value:
      description: Value of the Custom Field.
      type: string
      example: Developer
    is_active:
      type: boolean
      example: true
    period_start:
      type: string
      example: Jan 2023
    period_end:
      type: string
      example: Apr 2023
    earnings_details:
      type: array
      items:
        type: object
        properties:
          id:
            $ref: '#/components/schemas/id'
            example: '49774000000236001'
          is_enabled:
            $ref: '#/components/schemas/is_enabled'
          amount:
            $ref: '#/components/schemas/amount'
            example: 25000
          is_amount_in_percentage:
            $ref: '#/components/schemas/is_amount_in_percentage'
          amount_in_percentage:
            $ref: '#/components/schemas/amount_in_percentage'
            example: ''
          type:
            $ref: '#/components/schemas/type'
          name:
            $ref: '#/components/schemas/name'
          is_included_in_pf:
            $ref: '#/components/schemas/is_included_in_pf'
          is_included_in_esi:
            $ref: '#/components/schemas/is_included_in_esi'
    benefit_details:
      type: array
      items:
        type: object
        properties:
          id:
            $ref: '#/components/schemas/id'
            example: '49774000000118005'
          is_enabled:
            $ref: '#/components/schemas/is_enabled'
          is_amount_in_percentage:
            $ref: '#/components/schemas/is_amount_in_percentage'
            example: true
          employer_amount_in_percentage:
            $ref: '#/components/schemas/employer_amount_in_percentage'
            example: 12
          employer_amount:
            $ref: '#/components/schemas/employer_amount'
            example: 1200
          type:
            $ref: '#/components/schemas/type'
            example: epf_contribution
          name:
            $ref: '#/components/schemas/name'
            example: EPF - Employer Contribution
          is_eligible_for_eps:
            $ref: '#/components/schemas/is_eligible_for_eps'
          is_employee_restricted_basic_enabled:
            $ref: '#/components/schemas/is_employee_restricted_basic_enabled'
          is_employer_restricted_basic_enabled:
            $ref: '#/components/schemas/is_employer_restricted_basic_enabled'
          employee_restricted_basic_amount:
            $ref: '#/components/schemas/employee_restricted_basic_amount'
          employer_restricted_basic_amount:
            $ref: '#/components/schemas/employer_restricted_basic_amount'
    reimbursements_details:
      type: array
      x-node_available_in:
        - in
      x-node_unavailable_in: []
      items:
        type: object
        properties:
          id:
            $ref: '#/components/schemas/id'
            example: '49774000000095172'
          is_enabled:
            $ref: '#/components/schemas/is_enabled'
          amount:
            $ref: '#/components/schemas/amount'
            example: 1000
          max_limit:
            $ref: '#/components/schemas/max_limit'
            description: Maximum limit set for this component.
          carry_forward_option:
            $ref: '#/components/schemas/carry_forward_option'
          type:
            $ref: '#/components/schemas/type'
            example: fuel
          name:
            $ref: '#/components/schemas/name'
            example: Fuel Reimbursement
    eligible_amount_splitup:
      type: object
      properties:
        period_start:
          $ref: '#/components/schemas/period_start'
        period_end:
          $ref: '#/components/schemas/period_end'
        eligible_amount:
          $ref: '#/components/schemas/eligible_amount'
        total_amount:
          $ref: '#/components/schemas/total_amount'
    fbp_details:
      type: array
      x-node_available_in:
        - in
      x-node_unavailable_in: []
      items:
        type: object
        properties:
          id:
            $ref: '#/components/schemas/id'
            example: '49774000000095174'
          is_enabled:
            $ref: '#/components/schemas/is_enabled'
          max_limit:
            $ref: '#/components/schemas/max_limit'
            description: Maximum limit set for this fbp component.
          amount:
            $ref: '#/components/schemas/amount'
            example: 1200
          carry_forward_option:
            $ref: '#/components/schemas/carry_forward_option'
          is_opt_in:
            $ref: '#/components/schemas/is_opt_in'
          type:
            $ref: '#/components/schemas/type'
            example: telephone
          name:
            $ref: '#/components/schemas/name'
            example: Telephone Reimbursement
    variable_earnings_details:
      type: array
      items:
        type: object
        properties:
          id:
            $ref: '#/components/schemas/id'
            example: '49774000000095515'
          is_enabled:
            $ref: '#/components/schemas/is_enabled'
          amount:
            $ref: '#/components/schemas/amount'
            example: 5000
          type:
            $ref: '#/components/schemas/type'
            example: bonus
          name:
            $ref: '#/components/schemas/name'
            example: bonus
          is_included_in_esi:
            $ref: '#/components/schemas/is_included_in_esi'
    employee_benefit_details:
      type: object
      description: Employee benefit details.
      properties:
        employee_id:
          $ref: '#/components/schemas/employee_id'
        employee_name:
          $ref: '#/components/schemas/employee_name'
        benefit_id:
          $ref: '#/components/schemas/benefit_id'
        benefit_name:
          $ref: '#/components/schemas/benefit_name'
        benefit_plan:
          $ref: '#/components/schemas/benefit_plan'
        is_included_in_ctc:
          $ref: '#/components/schemas/is_included_in_ctc'
        can_allow_employer_contribution:
          $ref: '#/components/schemas/can_allow_employer_contribution'
        employee_contribution_value:
          $ref: '#/components/schemas/employee_contribution_value'
        is_employee_contribution_in_percent:
          $ref: '#/components/schemas/is_employee_contribution_in_percent'
        employee_recurrence_termination_type:
          $ref: '#/components/schemas/employee_recurrence_termination_type'
        employee_contribution_max_limit:
          $ref: '#/components/schemas/employee_contribution_max_limit'
        employer_contribution_value:
          $ref: '#/components/schemas/employer_contribution_value'
        is_employer_contribution_in_percent:
          $ref: '#/components/schemas/is_employer_contribution_in_percent'
        employer_recurrence_termination_type:
          $ref: '#/components/schemas/employer_recurrence_termination_type'
        employer_contribution_max_limit:
          $ref: '#/components/schemas/employer_contribution_max_limit'
    salary_details:
      description: Salary details of the employee.
      type: object
      properties:
        ctc:
          $ref: '#/components/schemas/ctc'
        first_name:
          $ref: '#/components/schemas/first_name'
        employee_name:
          $ref: '#/components/schemas/employee_name'
        employee_id:
          $ref: '#/components/schemas/employee_id'
        template_id:
          $ref: '#/components/schemas/template_id'
        template_name:
          $ref: '#/components/schemas/template_name'
        monthly_salary:
          $ref: '#/components/schemas/monthly_salary'
        employee_status:
          $ref: '#/components/schemas/employee_status'
        earnings:
          $ref: '#/components/schemas/earnings_details'
        benefits:
          $ref: '#/components/schemas/benefit_details'
        reimbursements:
          $ref: '#/components/schemas/reimbursements_details'
        fbp_components:
          $ref: '#/components/schemas/fbp_details'
        variable_earnings:
          $ref: '#/components/schemas/variable_earnings_details'
    employee-post-tax-deduction-create-request:
      type: object
      properties:
        deduction_name:
          $ref: '#/components/schemas/deduction_name'
        value:
          $ref: '#/components/schemas/value'
          type: number
          example: 500
          description: If <code>is_value_in_percent</code> set to true, specify the percentage else specify the fixed value.
        is_value_in_percent:
          $ref: '#/components/schemas/is_value_in_percent'
          example: false
          description: Set to <code>true</code> if the deduction is calculated as a percentage type and specify the percentage in <code>value</code>
        is_recurring:
          $ref: '#/components/schemas/is_recurring'
          example: true
        recurrence_termination_type:
          $ref: '#/components/schemas/recurrence_termination_type'
        recurrence_termination_month:
          $ref: '#/components/schemas/recurrence_termination_month'
          example: ''
        recurrence_termination_amount:
          $ref: '#/components/schemas/recurrence_termination_amount'
          example: ''
    employee-post-tax-deduction-create-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: A new deduction has been created.
        employee_deduction:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            deduction_id:
              $ref: '#/components/schemas/deduction_id'
            deduction_name:
              $ref: '#/components/schemas/deduction_name'
            is_value_in_percent:
              $ref: '#/components/schemas/is_value_in_percent'
              example: false
            value:
              $ref: '#/components/schemas/value'
              type: number
              example: 500
              description: If <code>is_value_in_percent</code> set to true, specify the percentage else specify the fixed value.
            recurrence_termination_type:
              $ref: '#/components/schemas/recurrence_termination_type'
            recurrence_termination_month:
              $ref: '#/components/schemas/recurrence_termination_month'
              example: ''
            recurrence_termination_amount:
              $ref: '#/components/schemas/recurrence_termination_amount'
              example: ''
    post-tax-deduction-list-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        employee_deductions:
          type: array
          items:
            type: object
            properties:
              employee_id:
                $ref: '#/components/schemas/employee_id'
              deduction_id:
                $ref: '#/components/schemas/deduction_id'
              deduction_name:
                $ref: '#/components/schemas/deduction_name'
              is_value_in_percent:
                $ref: '#/components/schemas/is_value_in_percent'
                example: false
              value:
                $ref: '#/components/schemas/value'
                type: number
                example: 500
                description: If <code>is_value_in_percent</code> set to true, specify the percentage else specify the fixed value.
              recurrence_termination_type:
                $ref: '#/components/schemas/recurrence_termination_type'
                example: by_amount
              recurrence_termination_month:
                $ref: '#/components/schemas/recurrence_termination_month'
                example: ''
              recurrence_termination_amount:
                $ref: '#/components/schemas/recurrence_termination_amount'
                example: ''
              total_amount_deducted:
                $ref: '#/components/schemas/total_amount_deducted'
                example: 100
              amount_to_be_deducted:
                $ref: '#/components/schemas/amount_to_be_deducted'
                example: 400
    update-employee-salary-details-request:
      type: object
      properties:
        ctc:
          $ref: '#/components/schemas/ctc'
        template_id:
          $ref: '#/components/schemas/template_id'
        earnings:
          type: array
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/id'
                example: '49774000000236001'
              is_enabled:
                $ref: '#/components/schemas/is_enabled'
              amount:
                $ref: '#/components/schemas/amount'
                description: If the amount is calculated as a fixed value, provide the fixed numerical value.
              amount_in_percentage:
                $ref: '#/components/schemas/amount_in_percentage'
                description: If the component is of percentage type, specify the percentage.
        benefits:
          type: array
          description: Benefits excluding statutory components. Statutory components amount will be calculated, based on employee level association.
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/id'
                example: '49774000000118005'
              is_enabled:
                $ref: '#/components/schemas/is_enabled'
              amount_in_percentage:
                $ref: '#/components/schemas/amount_in_percentage'
                example: 12
                description: If the component is of percentage type, specify the percentage.
              amount:
                $ref: '#/components/schemas/amount'
                example: ''
                description: If the component is of fixed type, specify the numerical value.
        reimbursements:
          type: array
          x-node_available_in:
            - in
          x-node_unavailable_in: []
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/id'
                example: '49774000000095172'
              is_enabled:
                $ref: '#/components/schemas/is_enabled'
              amount:
                $ref: '#/components/schemas/amount'
                example: 1000
              carry_forward_option:
                $ref: '#/components/schemas/carry_forward_option'
        fbp_components:
          type: array
          x-node_available_in:
            - in
          x-node_unavailable_in: []
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/id'
                example: '49774000000095174'
              is_enabled:
                $ref: '#/components/schemas/is_enabled'
              amount:
                $ref: '#/components/schemas/amount'
                example: 1200
              max_limit:
                $ref: '#/components/schemas/max_limit'
                description: Maximum limit set for this fbp component.
              carry_forward_option:
                $ref: '#/components/schemas/carry_forward_option'
        variable_earnings:
          type: array
          items:
            type: object
            properties:
              id:
                $ref: '#/components/schemas/id'
                example: '49774000000095515'
              is_enabled:
                $ref: '#/components/schemas/is_enabled'
              amount:
                $ref: '#/components/schemas/amount'
                example: 5000
    employee-salary-details-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        employee:
          $ref: '#/components/schemas/salary_details'
    update-employee-salary-details-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Anand Maya salary details have been saved successfully.
        employee:
          $ref: '#/components/schemas/salary_details'
    update-post-tax-deduction-request:
      type: object
      properties:
        deduction_name:
          $ref: '#/components/schemas/deduction_name'
        value:
          $ref: '#/components/schemas/value'
          type: number
          description: If <code>is_value_in_percent</code> set to true, specify the percentage else specify the fixed amount.
          example: 20
        is_value_in_percent:
          $ref: '#/components/schemas/is_value_in_percent'
          description: Set to <code>true</code> if the deduction is calculated as a percentage type and specify the percentage in <code>value</code>
        recurrence_termination_type:
          $ref: '#/components/schemas/recurrence_termination_type'
          example: by_month
        recurrence_termination_month:
          $ref: '#/components/schemas/recurrence_termination_month'
        recurrence_termination_amount:
          $ref: '#/components/schemas/recurrence_termination_amount'
          example: ''
    update-post-tax-deduction-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Deduction contribution has been updated.
        employee_deduction:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            deduction_id:
              $ref: '#/components/schemas/deduction_id'
            deduction_name:
              $ref: '#/components/schemas/deduction_name'
            value:
              $ref: '#/components/schemas/value'
              type: number
              example: 20
            is_value_in_percent:
              $ref: '#/components/schemas/is_value_in_percent'
            recurrence_termination_type:
              $ref: '#/components/schemas/recurrence_termination_type'
              example: by_month
            recurrence_termination_month:
              $ref: '#/components/schemas/recurrence_termination_month'
            recurrence_termination_amount:
              $ref: '#/components/schemas/recurrence_termination_amount'
              example: ''
    post-tax-deduction-get-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        employee_deduction:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            deduction_id:
              $ref: '#/components/schemas/deduction_id'
            deduction_name:
              $ref: '#/components/schemas/deduction_name'
            is_value_in_percent:
              $ref: '#/components/schemas/is_value_in_percent'
            value:
              $ref: '#/components/schemas/value'
              type: number
              example: 500
            recurrence_termination_type:
              $ref: '#/components/schemas/recurrence_termination_type'
              example: by_amount
            recurrence_termination_month:
              $ref: '#/components/schemas/recurrence_termination_month'
              example: ''
            recurrence_termination_amount:
              $ref: '#/components/schemas/recurrence_termination_amount'
              example: 1000
    delete-post-tax-deduction-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Deduction has been removed for employee.
    employee-benefit-create-request:
      type: object
      properties:
        employee_contribution_value:
          $ref: '#/components/schemas/employee_contribution_value'
        is_employee_contribution_in_percent:
          $ref: '#/components/schemas/is_employee_contribution_in_percent'
        employee_recurrence_termination_type:
          $ref: '#/components/schemas/employee_recurrence_termination_type'
        employee_contribution_max_limit:
          $ref: '#/components/schemas/employee_contribution_max_limit'
        employer_contribution_value:
          $ref: '#/components/schemas/employer_contribution_value'
        is_employer_contribution_in_percent:
          $ref: '#/components/schemas/is_employer_contribution_in_percent'
        employer_recurrence_termination_type:
          $ref: '#/components/schemas/employer_recurrence_termination_type'
        employer_contribution_max_limit:
          $ref: '#/components/schemas/employer_contribution_max_limit'
        benefit_id:
          $ref: '#/components/schemas/benefit_id'
    employee-benefit-update-request:
      type: object
      properties:
        benefit_id:
          $ref: '#/components/schemas/benefit_id'
        employee_contribution_value:
          $ref: '#/components/schemas/employee_contribution_value'
          example: 10
        is_employee_contribution_in_percent:
          $ref: '#/components/schemas/is_employee_contribution_in_percent'
        employee_recurrence_termination_type:
          $ref: '#/components/schemas/employee_recurrence_termination_type'
        employee_contribution_max_limit:
          $ref: '#/components/schemas/employee_contribution_max_limit'
          example: 4000
        employer_contribution_value:
          $ref: '#/components/schemas/employer_contribution_value'
        is_employer_contribution_in_percent:
          $ref: '#/components/schemas/is_employer_contribution_in_percent'
        employer_recurrence_termination_type:
          $ref: '#/components/schemas/employer_recurrence_termination_type'
        employer_contribution_max_limit:
          $ref: '#/components/schemas/employer_contribution_max_limit'
        is_employer_restricted_basic_enabled:
          $ref: '#/components/schemas/is_employer_restricted_basic_enabled'
          description: Set to <code>true</code> if the employee is eligible for EPF and employer's contribution calculation is restricted to the amount based on your organization's configuration. (Applicable only for EPF).
        employer_restricted_basic_amount:
          $ref: '#/components/schemas/employer_restricted_basic_amount'
        is_employee_restricted_basic_enabled:
          $ref: '#/components/schemas/is_employee_restricted_basic_enabled'
          description: Set to <code>true</code> if the employee is eligible for EPF and employee's contribution calculation is restricted to the amount based on your organization's configuration. (Applicable only for EPF).
        employee_restricted_basic_amount:
          $ref: '#/components/schemas/employee_restricted_basic_amount'
    employee-benefit-create-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Benefit has been added to employee.
        employee_benefit:
          $ref: '#/components/schemas/employee_benefit_details'
    employee-benefit-list-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        employee_benefits:
          type: array
          items:
            type: object
            properties:
              employee_id:
                $ref: '#/components/schemas/employee_id'
              benefit_id:
                $ref: '#/components/schemas/benefit_id'
              benefit_name:
                $ref: '#/components/schemas/benefit_name'
              benefit_plan:
                $ref: '#/components/schemas/benefit_plan'
              is_active:
                $ref: '#/components/schemas/is_active'
              is_included_in_ctc:
                $ref: '#/components/schemas/is_included_in_ctc'
              employee_contribution_value:
                $ref: '#/components/schemas/employee_contribution_value'
              is_employee_contribution_in_percent:
                $ref: '#/components/schemas/is_employee_contribution_in_percent'
              employee_recurrence_termination_type:
                $ref: '#/components/schemas/employee_recurrence_termination_type'
              employee_contribution_max_limit:
                $ref: '#/components/schemas/employee_contribution_max_limit'
              is_employee_restricted_basic_enabled:
                $ref: '#/components/schemas/is_employee_restricted_basic_enabled'
              employee_restricted_basic_amount:
                $ref: '#/components/schemas/employee_restricted_basic_amount'
              employer_contribution_value:
                $ref: '#/components/schemas/employer_contribution_value'
              is_employer_contribution_in_percent:
                $ref: '#/components/schemas/is_employer_contribution_in_percent'
              employer_recurrence_termination_type:
                $ref: '#/components/schemas/employer_recurrence_termination_type'
              employer_contribution_max_limit:
                $ref: '#/components/schemas/employer_contribution_max_limit'
              is_employer_restricted_basic_enabled:
                $ref: '#/components/schemas/is_employer_restricted_basic_enabled'
              employer_restricted_basic_amount:
                $ref: '#/components/schemas/employer_restricted_basic_amount'
              can_override_restricted_basic_amount:
                $ref: '#/components/schemas/can_override_restricted_basic_amount'
    employee-benefit-update-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Benefit contribution details have been updated.
        employee_benefit:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            employee_name:
              $ref: '#/components/schemas/employee_name'
            benefit_id:
              $ref: '#/components/schemas/benefit_id'
            benefit_name:
              $ref: '#/components/schemas/benefit_name'
            benefit_plan:
              $ref: '#/components/schemas/benefit_plan'
            is_included_in_ctc:
              $ref: '#/components/schemas/is_included_in_ctc'
            employee_contribution_value:
              $ref: '#/components/schemas/employee_contribution_value'
              example: 10
            is_employee_contribution_in_percent:
              $ref: '#/components/schemas/is_employee_contribution_in_percent'
            employee_recurrence_termination_type:
              $ref: '#/components/schemas/employee_recurrence_termination_type'
            employee_contribution_max_limit:
              $ref: '#/components/schemas/employee_contribution_max_limit'
              example: 4000
            employer_contribution_value:
              $ref: '#/components/schemas/employer_contribution_value'
            is_employer_contribution_in_percent:
              $ref: '#/components/schemas/is_employer_contribution_in_percent'
            employer_recurrence_termination_type:
              $ref: '#/components/schemas/employer_recurrence_termination_type'
            employer_contribution_max_limit:
              $ref: '#/components/schemas/employer_contribution_max_limit'
    employee-benefit-delete-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
          example: Benefit has been removed for employee.
    get-emp-reimbursement-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        employee:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            employee_name:
              $ref: '#/components/schemas/employee_name'
            tax_year_end:
              $ref: '#/components/schemas/tax_year_end'
              example: Mar 2023
            tax_year_start:
              $ref: '#/components/schemas/tax_year_end'
              example: Apr 2023
            reimbursements:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                properties:
                  reimbursement_type:
                    $ref: '#/components/schemas/reimbursement_type'
                  max_limit:
                    $ref: '#/components/schemas/max_limit'
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  reimbursement_name:
                    $ref: '#/components/schemas/reimbursement_name'
                  claimed_amount:
                    $ref: '#/components/schemas/claimed_amount'
                  excess_claim:
                    $ref: '#/components/schemas/excess_claim'
                  balance_amount:
                    $ref: '#/components/schemas/balance_amount'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  approved_amount:
                    $ref: '#/components/schemas/approved_amount'
                  reimbursement_id:
                    $ref: '#/components/schemas/reimbursement_id'
            reimbursements_ytd:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                properties:
                  reimbursement_type:
                    $ref: '#/components/schemas/reimbursement_type'
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  unclaimed_amount:
                    $ref: '#/components/schemas/unclaimed_amount'
                  reimbursement_name:
                    $ref: '#/components/schemas/reimbursement_name'
                  pending_for_approval_amount:
                    $ref: '#/components/schemas/pending_for_approval_amount'
                  carryforward_type:
                    $ref: '#/components/schemas/carryforward_type'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  approved_and_unpaid_amount:
                    $ref: '#/components/schemas/approved_and_unpaid_amount'
                  reimbursement_id:
                    $ref: '#/components/schemas/reimbursement_id'
                  eligible_amount_splitup:
                    $ref: '#/components/schemas/eligible_amount_splitup'
            reimbursements_annual:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                properties:
                  reimbursement_type:
                    $ref: '#/components/schemas/reimbursement_type'
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  unclaimed_amount:
                    $ref: '#/components/schemas/unclaimed_amount'
                  reimbursement_name:
                    $ref: '#/components/schemas/reimbursement_name'
                  pending_for_approval_amount:
                    $ref: '#/components/schemas/pending_for_approval_amount'
                  carryforward_type:
                    $ref: '#/components/schemas/carryforward_type'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  approved_and_unpaid_amount:
                    $ref: '#/components/schemas/approved_and_unpaid_amount'
                  reimbursement_id:
                    $ref: '#/components/schemas/reimbursement_id'
                  eligible_amount_splitup:
                    $ref: '#/components/schemas/eligible_amount_splitup'
    get-emp-reimbursement-detail-response:
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        employee:
          type: object
          properties:
            employee_id:
              $ref: '#/components/schemas/employee_id'
            employee_name:
              $ref: '#/components/schemas/employee_name'
            tax_year_end:
              $ref: '#/components/schemas/tax_year_end'
            tax_year_start:
              $ref: '#/components/schemas/tax_year_end'
            max_limit:
              $ref: '#/components/schemas/max_limit'
            reimbursement_name:
              $ref: '#/components/schemas/reimbursement_name'
            reimbursement_id:
              $ref: '#/components/schemas/reimbursement_id'
            reimbursement_monthly_ytd_list:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                description: Month wise ytd details will be listed for the fiscal year.
                properties:
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  unclaimed_amount:
                    $ref: '#/components/schemas/unclaimed_amount'
                  pending_for_approval_amount:
                    $ref: '#/components/schemas/pending_for_approval_amount'
                  approved_and_unpaid_amount:
                    $ref: '#/components/schemas/approved_and_unpaid_amount'
            reimbursement_list:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                properties:
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  claimed_amount:
                    $ref: '#/components/schemas/claimed_amount'
                  excess_claim:
                    $ref: '#/components/schemas/excess_claim'
                  balance_amount:
                    $ref: '#/components/schemas/balance_amount'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  approved_amount:
                    $ref: '#/components/schemas/approved_amount'
            reimbursement_monthly_projected_list:
              type: array
              x-node_available_in:
                - in
              x-node_unavailable_in: []
              items:
                type: object
                properties:
                  eligible_amount:
                    $ref: '#/components/schemas/eligible_amount'
                  paid_amount:
                    $ref: '#/components/schemas/paid_amount'
                  unclaimed_amount:
                    $ref: '#/components/schemas/unclaimed_amount'
                  pending_for_approval_amount:
                    $ref: '#/components/schemas/pending_for_approval_amount'
                  approved_and_unpaid_amount:
                    $ref: '#/components/schemas/approved_and_unpaid_amount'
  securitySchemes:
    Zoho_Auth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.zoho.in/oauth/v2/auth
          scopes:
            ERP.salary.CREATE: Create Salary
            ERP.salary.UPDATE: Update Salary
            ERP.salary.READ: Read Salary
            ERP.salary.DELETE: Delete Salary
            ERP.reimbursement.CREATE: Create Reimbursement
            ERP.reimbursement.UPDATE: Edit Reimbursement
            ERP.reimbursement.READ: Read Reimbursement
            ERP.reimbursement.DELETE: Delete Reimbursement
