Compensations > Concept

Creates a Concept

Changed on

Creates a new custom compensation concept

post/api/2026-10-01/resources/compensations/concepts

Request

  • Base URL
    https://api.factorialhr.com
  • URL
    https://api.factorialhr.com/api/2026-10-01/resources/compensations/concepts
  • Auth
    • OAuth 2
      Authorization code: https://id.factorialhr.com/oauth/authorize
      Token URL: https://id.factorialhr.com/api/oauth/token scopes: payroll
    • or API key in header x-api-key

Request body

category'earnings_fixed_salary' | 'earnings_variable' | 'earnings_benefits_in_kind' | 'earnings_others' | 'deductions' | 'company_contribution' | 'summarized_values' required

Concept category

company_idstring required

Company id that owns the concept

descriptionstring

Concept description

labelstring required

Display label

unit_type'distance' | 'money' | 'time' | 'unit'

Unit type

Example request

{
  "category": "earnings_fixed_salary",
  "company_id": "1",
  "description": "Fixed Comission",
  "label": "Fixed comission",
  "unit_type": "money"
}

Response

CREATED

idstring required

The identifier of the concept

category'earnings_fixed_salary' | 'earnings_variable' | 'earnings_benefits_in_kind' | 'earnings_others' | 'deductions' | 'company_contribution' | 'summarized_values'

The accounting category of the concept (e.g. earnings_fixed_salary, deductions)

company_idstring required

The company identifier of the concept

defaultboolean required

Whether the concept is a default or a custom concept

descriptionstring required

The description of the concept

labelstring required

The label of the concept

namestring required

The name of the concept

translated_namestring required

The translated name of the concept if it is a default concept.

unit_namestring

The name of the unit of the concept

unit_type'distance' | 'money' | 'time' | 'unit'

What the concept's amount is measured in (e.g. money, a quantity of units)

enabledboolean required

Whether the concept is enabled for the company

created_atstring

Timestamp when the concept was created

updated_atstring

Timestamp when the concept was last updated

Example response

{
  "id": "1",
  "category": "earnings_fixed_salary",
  "company_id": "1",
  "description": "Fixed Comission",
  "label": "Fixed comission",
  "name": "fixed_comission",
  "translated_name": "Fixed comission",
  "unit_name": "EUR",
  "unit_type": "money",
  "enabled": true,
  "created_at": "2026-01-01T08:00:00.000+00:00",
  "updated_at": "2026-01-01T08:00:00.000+00:00"
}

Changes