Skip to content

Human resource management

A module about people and the money they receive. It answers two different questions, and confusing them is expensive: who works here (cards, contracts, leave) and how much to pay them (tax rates, calculation, postings).

The line between them runs through the contract. The employee card says who this person is: name, contacts, personal details. The contract says on what terms they work: position, salary, currency, leave scheme. That is why a pay rise does not rewrite the person's card — it is entered as a separate document, and the history stays in the database.

The route: from a card to a paid salary

Employee (who) → Contract (terms) → Contract changes (history)
        ↓
Calendar: work days · holidays · leave scheme → Leave applications
        ↓
Payroll taxes + payroll setting (which record is PIT, which the levy, which the employer's contribution)
        ↓
Payroll calculation: what is earned, what is withheld, what is left to pay
        ↓
Postings: 921/661 the charge · 661/6413 PIT · 661/642 the levy · 921/651 the employer's contribution
        ↓
Payment through the till or the bank
  1. Employees — the person's card.
  2. Contract with a class — the terms of work; the class answers the accounting question of which account this person's cost belongs to.
  3. Employee Contract Changes — a separate document for every change of terms, so the record of "since when and why it became different" survives.
  4. The calendar: work days say which weekdays are days off, holidays which dates are non-working, and the leave scheme how many days a year are due. Leave applications are calculated from them.
  5. Payroll tax rates with their effective dates, and the payroll calculation setting, which states which record of the reference plays the part of income tax, which of the military levy and which of the employer's contribution.
  6. Payroll calculation — the document that turns contract terms into amounts and produces the postings.

What is worth understanding

Terms are changed by a document, not by editing. A salary went up — enter a contract change. An overwritten contract erases the past, and last month's calculation can no longer be reproduced.

A tax rate is looked up by the calculation date. Every record of the rates reference has an effective date; the calculation takes the one that was valid on the document's date. So a change in the law does not break last year's figures.

The rates reference is mute on its own. The system cannot guess which of a dozen records is income tax and which is the employer's contribution: that is stated in the payroll setting. A mistake here is the commonest reason a calculation fails or computes the wrong thing.

The contract class spreads wages across accounts. Office staff go to administrative expenses, production staff into the cost of goods. Without a class the payroll lands in the books as one lump, and the product cost comes out untrue.

The payroll postings read in pairs. The charge goes to expenses, the withholdings reduce the debt to the employee, the employer's contribution is an expense again:

Dr Cr What it is
921 661 wages charged
661 6413 income tax withheld
661 642 military levy withheld
921 651 employer's contribution charged

The tax accounts come from the rates. In a new company personal income tax sits on 6413 "Settlements on personal income tax": the Balance sheet report shows account 6411 as corporate income tax. Databases set up earlier often keep it on 6411 — whatever their rate record says.

A cash out document pays the money, not the calculation. The calculation creates the debt to the employee. "Create payout" in the calculation's menu prepares a cash out for the amounts to pay, "Create tax payments" — for income tax, the military levy and the employer's contribution. Their items come from the items tab of the payroll setting; a new company already has ЗАРПЛАТА, ПДФО, ВЗ and ЄСВ there. Do not confuse it with a personnel payment from the expenses module — that one settles an advance, not wages.

The module has no reports of its own. The totals are read in the nominal ledger: the trial balance per account for 661 broken down by objects is the payroll settlement statement. 661 is the "Payroll account" in Account Usage; if a different account is set there, look at that one. A payroll calculation copies this account into its own "Payroll account" field, and the posting goes to the account in the document: if it was changed in the calculation, look at that one too.

Where to start in a new database

  1. Work days and holidays — the calendar everything rests on.
  2. Leave schemes — per category of staff.
  3. Employee class (contract classes) — the expense accounts for personnel.
  4. Payroll tax rates and the Payroll Calculation Setting — without them no calculation will run.
  5. Employees and their employees contracts — then the first payroll run.

Common tasks

You need Where to go
hire someone Employees + Employees Contracts
raise a salary or transfer someone Employee Contract Changes
record a holiday Leave application
set how many leave days are due Leave scheme
enter non-working dates Holidays · work days
update the tax rates Payroll tax
calculate the monthly payroll Payroll calculation
split personnel costs across accounts Employee class
remember a birthday Birthday actions
see what is owed to the staff Trial balance per account for the payroll account (usually 661)

Everything in the module

Documents: employees contracts · employee contract changes · leave applications · payroll calculations

References: employees · employee class · leave scheme · holidays · work days · payroll tax

Settings: payroll calculation setting

Maintenance: birthday actions

Where to look next

  • Cash book — where wages are paid out.
  • Nominal ledger — accounts 661, 651 and the reports on them.
  • Expenses — the advances people confuse with wages.
  • CRM — leave approval tasks and birthday reminders.