---
title: "Salary tables, salary grades and salary steps"
manual: "Job board"
version: "main"
permalink: "https://docs.typo3.org/permalink/jweiland/jobboard:editor-salary@main"
source: "Editor/Salary.rst"
rendered: "2026-10-22T13:15:25+00:00"
---

# Salary tables, salary grades and salary steps {#editor-salary}

Every job must have salary information, otherwise it is not shown. A job
either refers to one or more **salary grades** or contains a free
**minimum and maximum salary**, see [Salary (palette "Remuneration")](https://docs.typo3.org/permalink/jweiland/jobboard:editor-job-salary@main).

**How the salary records belong together**

```text
Salary table (optional, e.g. "Sample pay scale 2026")
 └── Salary grade (e.g. "A 9")
      ├── has steps:   Salary steps (step label + amount)
      └── no steps:    Fixed amount

Job, salary mode "Salary grade (tariff-based)" → one or more salary grades
Job, salary mode "Free salary entry"           → minimum / maximum salary
```

The frontend shows the lowest and the highest amount of all steps or fixed
amounts of all salary grades selected in a job, for example
"3,480.07 € - 4,342.82 €". If there is only one amount, only this amount is
shown.

## Salary grade {#editor-salary-grade}

![Salary grade A 9 with two salary steps](../Images/Editor/salarygrade-with-steps.png)

-   ****Grade** (Gruppe)**

    Name of the salary grade, for example "A 9", "R 3" or "B 3". Required,
    maximum 60 characters. Salary grades are sorted by this name.

-   ****Has steps?** (Hat Stufen?)**

    Enabled by default. Disable it for grades without seniority steps.
    Changing it reloads the form, because the visible fields differ.

-   ****Steps** (Stufen)**

    Only for grades with steps. At least one step is required. Not every
    step has to exist, gaps are allowed.

-   ****Fixed amount** (Fester Betrag)**

    Only for grades without steps.

![Salary grade R 3 without steps and with a fixed amount](../Images/Editor/salarygrade-fixed-amount.png)

In select boxes, for example in the job, a salary grade of a salary table
is shown with the title of the table: "A 9, Sample pay scale 2026".

## Salary step {#editor-salary-step}

Salary steps are created inside their salary grade.

-   ****Step** (Stufe)**

    Free text, for example "3", "3a" or "Entry step". Required, maximum 30
    characters.

-   ****Amount** (Betrag)**

    Monthly amount. Required. You can enter the amount with a thousands
    separator and a decimal comma, for example `3.842,17`. It is
    normalized when you leave the field.

A hidden or expired step is ignored. If all steps of a grade are hidden or
expired, the grade has no amount any more.

## Validity of salary grades {#editor-salary-validity}

![Tab Access of a salary grade with publish and expiration date](../Images/Editor/salarygrade-access.png)

> [!WARNING]
> **Attention**
>
> The publish date and expiration date of a **salary grade** control the
> visibility of **every job that uses this grade**. When the period of a
> grade has expired (or not started yet), the grade is ignored. Jobs
> without another valid grade then have no salary information: they
> disappear from the list and their detail page returns "Page not found".
>
> Maintain the salary grades of a new pay scale in time, before the old
> ones expire.

## Salary table {#editor-salary-table}

![Salary table with a list of salary grades](../Images/Editor/salarytable.png)

A salary table groups salary grades, for example all grades of one pay
scale. It is optional.

-   ****Title** (Titel)**

    Required.

-   ****Description** (Beschreibung)**

    Optional plain text.

-   ****Salary grades** (Besoldungsgruppen)**

    Salary grades of this table. Grades created here belong to this table.

The publish and expiration date of a salary table are for your own
documentation only. They do not hide the table or its grades. The
validity that counts is maintained in each salary grade.
