HR Payroll 💸
TSync HR Payroll works out everyone's salary for you — the gross, the taxes, the contributions, the exemptions, the net in hand — following the Romanian 2026 rules, and then drops the result neatly into your accounting. No more spreadsheets full of formulas you're afraid to touch.
You set things up once, then each month it's a clear sequence: create a run, compute it, check it, approve it, and (when you're ready) post it to your accounts.
💡 Payroll reads your employees from HR Records. Set your people up there first — payroll only pays employees who have an active contract there.
Where it lives
Look for HR Payroll in the left sidebar. Clicking it opens a submenu:
- Dashboard — the overview, with the month's numbers and shortcuts.
- Pay runs — create and open monthly payroll runs.
- Payslips — every payslip, per employee and per month.
- Payroll components — the month's variable pay: attendance, commissions, KPI bonuses, insurance and project costs.
- D112 — prepare the monthly Romanian salary declaration.
- Tax rates — the Romanian rates with their effective dates.
- Settings — company defaults and the accounts payroll posts to.
The dashboard
The Dashboard is a tidy board of tiles. At a glance you see, for the current month, how many payslips were produced, the total gross, the total net, and the taxes & contributions — plus how many runs are still waiting (a "pending" count). A list of your recent pay runs shows each one's period, status and total. The big shortcut row jumps you straight to Pay runs, Payslips, D112, Tax rates or Settings.
What would you like to do?
⚙️ Set it up once
Open HR Payroll → Settings (admin only). Here you tell TSync which accounts payroll should post to — there are seven boxes: the salary expense account, the salary payable account (what you owe staff), and the payable accounts for the employee pension (CAS), employee health (CASS), the income tax (IMP), and the employer work-insurance contribution (CAM expense + CAM payable). Sensible Romanian defaults are filled in (6411 / 421 / 4315 / 4316 / 444 / 6451 / 436), so most companies just confirm them. There's also an auto-post to GL switch and a default country — leave auto-post off if you'd rather post each run by hand. Settings is also where you turn the payroll components (below) on or off and set their defaults — whether attendance prorates the salary and the standard number of working days, the sales-commission percentage, and the switches for KPI bonuses, insurance and project costing.
Then open Tax rates: this is where the Romanian rates live — pension (CAS, employee), health (CASS, employee), income tax (IMP), and the employer work-insurance contribution (CAM) — each with the date it takes effect, plus the minimum gross salary and the personal-deduction cap used in the calculation. A standard Romanian 2026 set comes ready, so most companies just check it and move on. Use New tax rate to add a line. If a rate changes next year, you add a new line with the new start date — the old runs keep their old rate, history stays correct. (Editing and deleting rate lines is for admins/managers.)
▶️ Create a month's payroll
Open Pay runs and use the small form at the top: pick the year, the month, and the country (RO, or MD). Click Create run. TSync makes an empty draft run for that period — one run per period and country. (You can't pay anyone yet; this is just the container.)
📥 Add the month's variable pay (payroll components)
Salaries are rarely just the base. Open HR Payroll → Payroll components, pick the year and month at the top, and record everything that changes from month to month. Whatever you enter here is picked up automatically the next time you Compute that period — so add it before you compute. Five kinds of component live here, each with its own on/off switch in Settings:
- Attendance (timekeeping / pontaj). For each employee, record the month's standard working days, the days they actually worked, and any paid and unpaid leave. If someone worked fewer days than the standard month, their gross is prorated (days worked ÷ standard days) and the whole tax calculation follows the smaller gross — so you never overpay (overtime is handled separately). Prefer to always pay the full contract salary? Turn proration off in Settings, where you also set the default number of standard workdays.
- Commissions. Add a commission line by hand (employee + amount + a note), or click Sync from sales to bring them in automatically: TSync looks at the month's paid invoices, reads the sales agent on each, matches that agent to their HR employee, and books a commission worth the percentage you set (Settings → sales-commission %; 0 means off) of what they sold. Commissions are taxable earnings — added to the gross, taxed like salary, and shown as an addition on the payslip. Re-running the sync is safe: it refreshes only the automatic rows and never touches the ones you typed by hand.
- KPI / performance bonus. A performance bonus per employee (an amount, with an optional KPI reference). Like commissions, it's a taxable earning that goes into the gross and appears on the payslip.
- Insurance. First define your insurance types — each with a code and either a percentage of gross or a fixed amount — then assign a type to an employee with a start (and optional end) date. Every pay run then applies it as a deduction taken from the net pay, so it does not reduce the tax base (the safe default). This is a per-employee insurance — a private health or life policy and the like — and it is different from CAM: CAM (the employer work-insurance contribution) is a company-side cost that payroll already computes automatically on every run, whereas this insurance component is an individual deduction (or benefit) you set up and assign to specific people.
- Project costing. Record how many hours an employee spent on a project and their hourly rate (plus an optional bonus). TSync works out the labour cost per project — what the work really cost in wages, and how profitable a project is. This is a costing and reporting figure only; it does not change what the person is paid.
Add and remove component lines freely; removing a line asks you to confirm. Managing components needs the payroll Manage right.
🧮 Compute the payslips
Open the run and click Compute. TSync builds a payslip for every active employee who has an active contract overlapping that month. The calculation follows the run's country. For a Romanian (RO) run it works out the gross, the CAS (pension) and CASS (health) withheld, the personal deduction, the income tax (IMP), the net, and the employer's total cost (gross + CAM); exemptions (IT, construction, agriculture, disability) apply automatically. For a Moldovan (MD) run it computes the Moldovan contributions instead — CNAM 9 % (employee health) and income tax 12 % withheld from the salary, the personal and per-dependent exemption applied to the taxable base, and CNAS 24 % as the employer's contribution on top — and the payslip column headers change to match (CNAM / income tax / CNAS). Any standing deductions set up for an employee are pulled in too. The run's status becomes computed.
Moldova rates: the MD contribution rates and exemptions are editable under HR Payroll → Tax rates (choose country MD). They ship with the 2024 Moldovan values as a starting point — have a qualified accountant confirm the current-year rates before your first real MD run.
Compute is safe to re-run while a run is still a draft or computed — it simply rebuilds the payslips with the latest figures. Nothing is locked until you approve.
✅ Check it, then approve
On the run page you'll see the totals for the month (gross, CAS, CASS, IMP, CAM, net) and a table of every payslip — per employee, with the breakdown and any exemption shown. Numbers look right? Click Approve. Approving locks the run so the figures can't drift, and makes the payslips final. (Nothing is ever recomputed behind your back — once a run is approved, those are the numbers.)
🧾 Hand out payslips
Open Payslips to see every payslip across all runs — by period and per employee, with the gross, the net, and the exemption at a glance. Each line is the clean record of what that person was paid that month.
📒 Post it to your accounts
When a run is computed or approved you can Post to GL in one step. The salary expense and the amounts you owe — to staff (account 421), and to the state for CAS, CASS, income tax and CAM — land in your accounting automatically, through Accounting, as one balanced journal entry. The run's status becomes posted. No double entry, no copying numbers between systems. (Posting is idempotent — posting the same run twice won't double it.)
🗑️ Remove a draft run
Made a run by mistake? On Pay runs, a draft/computed/approved run has a Delete button (it asks first, and it clears the run's payslips with it). A run that's already been posted or closed can't be deleted — reverse the posting first — so your accounts and a run never disagree. Creating a run also asks for confirmation, so a stray click can't make a stray run.
📑 The monthly declaration (D112 / IPC18)
Open D112, pick a run (any run that's been computed, approved, posted or closed), and TSync writes the monthly salary declaration for the run's country as an XML skeleton carrying your company details, the run's totals and a separate line for every employee. A Romanian run produces the D112; a Moldovan run produces the IPC18 (Darea de seamă) with the MD figures (CNAM, income tax, CNAS). You take that file into the official tool — so the monthly reporting starts from your real payroll, right down to each person, not a blank form.
📊 Pull the payroll reports
The operational figures you enter under Payroll components are also available as proper reports in TSync Reports (under the HR category): a Payroll register (every employee and period, gross → contributions → net → employer cost), a Contributions summary (the per-period filing totals), an Attendance register, Commissions, an Insurance summary and Project salary costs. Open Reports, choose one, and you can filter it, view it as a chart (commissions and project costs), and export to Excel, CSV or PDF — the same export and scheduling tools as every other report, so payroll figures drop straight into your own spreadsheets or BI.
Good to know
- Nothing is invented and nothing is silently recomputed. A draft run is empty until you compute it; computing shows you the figures; approving freezes them. If a tax rate or an employee changes later, you make a new run — the past stays exactly as it was paid.
- Payroll only touches active employees with an active contract in HR Records, so keeping that tidy keeps payroll tidy.
- The accounts payroll posts to are configured once (in Settings), so every month posts consistently.
- A pay run moves through clear states: draft → computed → approved → posted (and finally closed). The buttons available on the run page change with the state.
- The Romanian rates and thresholds are a working starting point — have a qualified accountant confirm the current-year rates before your first real run.
Who can do what
Payroll is sensitive, so it has its own permissions: who can view, who can manage (edit tax rates, approve a run), who can run payroll (create and compute runs), who can post to GL, who can export D112, and who can see payslips. Give each person only what they need. Settings and deleting tax-rate lines are admin-only.
Where to go next
- 👥 Set up your people first → HR Records guide
- 📒 See where the salary cost lands → Accounting guide
- 🏠 Lost? Head back to Getting started with TSync