People, work and Serbian payroll
Serbian payroll is the single largest gap in every foreign ERP — Odoo, Business Central and SAP all push it to a partner localization or to an export into a separate local program. NG One carries it in the core, on the same platform the rest of the company runs on. Salaries are calculated using the rules that applied on the payroll date, posted with dimensions instead of allocated afterwards, and the PPP-PD tax filing is generated from the calculation rather than retyped from it. Around that sit working time, absences, travel orders, employee records and a portal where people find their own payslip.
- Serbian payroll
- PPP-PD XML
- CROSO and sick leave
- Travel orders and per diems
- Employee self-service
- Permanent payslip retention
Why HR is an island — and what the island costs
In most companies payroll does not live in the ERP. It lives in a separate program, at an accounting firm, or in a spreadsheet — and the result is typed back in.
Every finance lead knows the consequence. Labour cost arrives in the general ledger as one summary entry, with no organizational unit, project or cost centre attached. To answer what a plant cost last quarter, somebody spreads that summary across a key in Excel. Time records sit in a third tool, absence requests live in email, travel orders live in a folder. Each of those boundaries is a place where data can be lost, and every backdated correction means the same work is done twice.
NG One puts payroll where the rest of the business truth is produced. The calculation reads time records and absences from the same system, applies statutory rules from a register that remembers the period each rate was valid for, and posts the result with dimensions — organizational unit, project, cost centre — at the moment of posting rather than through a later allocation. Absence and travel approvals run on the same workflow engine that approves a purchase order, with the same limits, delegations and record of who approved what. The PPP-PD XML is generated from the locked calculation, so the filing and the ledger cannot drift apart.
The structural advantage is not the number of features. It comes from two decisions built into the core before a line of payroll code existed: effective-dated statutory rules and dimensional posting. The first means a March recalculation performed in November uses March's tax-free allowance and rates, not today's. The second means labour cost is never allocated after the fact. Neither can be added later without rewriting the core — which is exactly why systems that lack them from day one will never have an honest backdated calculation. Everything else on this page — HR breadth, self-service, a travel order filed from a phone — stands on those two decisions.
Hire-to-Retire — an employee's path through the system
One flow from social insurance registration to an archived personnel file. Every step is a real document with a status, an approval and a trail — not a box on a slide.
- Step 1
Starting employment
An employee enters through a position in the org structure, not as a free-standing record. The contract is a document with a state machine and a version, so an amendment attaches to the original instead of replacing it.
- Organizational structure and position
- Employment contract — versioned, amendments in sequence
- CROSO social insurance registration
- Personnel file and supporting records
- Step 2
Work, time and absence
Everything that feeds payroll originates and gets approved here. An absence request runs through workflow with limits and deputies, and the leave balance is maintained by the system instead of a spreadsheet.
- Daily time records and shift schedules
- Absence request → approval → leave decision
- Overtime, night work and public holiday work
- Sick leave against an e-certificate
- Step 3
Payroll calculation
Payroll is assembled from records and rules, not typed. Before it is locked it is compared against the previous month, and every deviation needs an explanation before anyone is paid.
- Preparation from time and absence records
- Rules that were valid on the payroll date
- Deviation check against the previous month
- Locking the run against silent edits
- Step 4
Payment, filing and posting
One locked run produces three things that must agree: the tax file, the bank payment orders and the journal entry. So they are generated from the same source, not from each other.
- PPP-PD XML for the tax portal and payment orders
- Payslips with electronic delivery
- Payroll posting with dimensions
- Recapitulations and control totals
- Step 5
Employee expenses and self-service
A travel order is a full document, not an attachment to a reimbursement request: it carries an advance, a settlement on return, receipts and a posting. Employees file from a phone, managers approve from their inbox.
- Travel order: request → approval → advance → settlement
- Per diems by country and mileage
- Receipts and attachments
- Employee portal: payslips, absence, travel
- Step 6
Changes, development and exit
Employment changes more often than it starts. Each change is a new record in a sequence, so the state on any past date is reconstructed rather than guessed — the only way a recalculation can mean anything.
- Amendments, position and salary changes
- Development and performance
- CROSO deregistration and termination
- File archiving and permanent payslip retention
What this space covers
Five groups, thirty named capabilities. Anything that touches a statute carries the statute's own name — because that is how it gets checked.
Organization, employment and records
Who works here, on what basis, and since when. The foundation without which no calculation can be correct.
7 capabilities
Organizational structure and positions
Units, positions and hierarchy. The structure is also a posting dimension, so labour cost knows where it belongs without a later allocation.
Personnel file
One record per employee with its change history — personal data, employment, qualifications, assigned assets. No second version of the same person in another tool.
Employment contracts and amendments
The contract is a versioned document with a state machine. Amendments attach to the original, so the state on any past date is reconstructed instead of remembered.
Contracts outside employment
Service contracts, supplementary work, copyright agreements and leases — each with its own tax treatment. The point at which foreign systems typically stop.
Employee documentation
Files, decisions, consents and attachments in the DMS, with retention categories. Payroll documents sit in the permanent retention category.
Development and performance
Goals, reviews and training records tied to the position and the employee. A review is anchored to a position and a period, so performance history stays readable after the manager changes.
Salary data protection
Six layers of authorization: roles, data scope, approval limits, segregation of duties, maker–checker and delegation. Salary figures are visible to those entitled to them, and every access stays in an immutable log.
Working time, shifts and absence
The input to payroll. If the data is unreliable here, no payroll engine can save the result.
5 capabilities
Daily time records
Records per day and employee, linked to position and organizational unit. A direct input to payroll — with no spreadsheet in between.
Shifts and work calendars
Shift schedules, working and non-working days, public holidays as effective-dated data. The calendar decides what counts as a premium, not the payroll clerk's judgement.
Overtime, night and holiday work
Premiums are derived from time records and the calendar, at the rates that were valid in the payroll period.
Absence and leave decisions
Requests run through workflow with limits, deputies and escalation, balances are maintained automatically, and the formal leave decision is produced from the approved request.
Sick leave and e-certificates
Sick pay against the e-certificate — 65% and 100%, with duration limits and the split between the employer and the health fund. The certificate is retrieved electronically and feeds the calculation directly, with nothing retyped.
Payroll — built for Serbian law
The reason this page exists. Foreign systems do not have this in the core; local ones have it without a modern system around it.
8 capabilities
Full salary calculation
10% income tax with a tax-free allowance that changes over time, gross-to-net and net-to-gross, deductions and garnishments.
Contributions and bases
Employee contributions at 19.90% and employer contributions at 15.15%, with the lowest and highest monthly base and the period each was valid for.
Seniority premium and uplifts
The statutory seniority premium (minuli rad) by years of service, plus uplifts derived from time records. A local specific that foreign systems model as a custom field — and that fails the first inspection.
Paid absence compensation
Annual leave, public holidays, paid absence and sick leave — each with its own base and averaging period.
Meal allowance, holiday pay and other earnings
Earnings inside and outside the salary, with tax-free thresholds that carry a valid-from date. Configured without a developer.
Reliefs and incentives
Employment reliefs and incentives as configuration with a validity period, rather than a code change on every amendment to the law.
Payroll posting with dimensions
The journal entry is generated from the run, with dimensions on every line. Labour cost reaches controlling already allocated, not as a single sum.
Effective-dated statutory rules
Rates, bases and thresholds remember the period they were valid for, and every transaction carries the version of the rule it was posted under. A property of the core — without it, an honest backdated recalculation does not exist.
Statutory filings and registers
What the state requires, named the way the statute names it. The file, the bank orders and the posting all come out of the same locked run.
5 capabilities
PPP-PD XML and payment orders
The individual tax return with its OVP, OL and MFP codes and payment reference, plus the bank payment orders — all from the same locked run, with nothing retyped.
Filing through the tax portal
Preparation, validation and signing of the XML submission with a qualified certificate, with a register of submissions and their statuses. Semi-automatic — the portal has no public API, and we do not hide that.
CROSO registrations and changes
Registrations, deregistrations and changes are produced from the employment record, not from a separate register kept in sync by hand. Automation goes as far as the portal permits, and every submission stays logged with its status.
Sick leave channel (RFZO)
Retrieval of e-certificates, the link to sick pay calculation, and electronic refund claims with status tracking — so you know what was claimed, what was approved and what is still open.
Payslips and permanent retention
A payslip with explained lines, electronic delivery to the employee, and recapitulations by organizational unit. Payroll records are kept permanently — a statutory obligation, not an archiving option: a category in the electronic archive book, alongside financial statements at 20 and the general ledger at 10 years.
Travel orders, expenses and self-service
The item most easily missed when choosing an ERP, and discovered in the first month — usually once the contract is signed.
5 capabilities
Travel orders — domestic and foreign
A full document with a state machine: request, workflow approval, advance, settlement on return, and posting with dimensions.
Per diems by country
Per diem amounts per country, each with a valid-from date. The same effective-dated mechanism as payroll — because it is the same problem.
Mileage and advances
Mileage calculation and advance tracking through to settlement, with the balance to pay out or recover.
Employee self-service
A portal where employees see their own payslips, file absence and travel requests, and follow their leave balance. Its own licence type — it does not consume a full user.
Receipt capture on travel orders
OCR reads the receipt from the attachment and fills in the expense line. When it is not confident, it says so — the field stays empty rather than confidently wrong.
What AI does in this space
None of this pays anyone on its own. AI has one job here: find the error before payday, and prove every conclusion with the underlying data.
Checking the run before it is locked
The run is compared with the previous month per employee and per earning type. Whatever deviates comes out as a list with the delta and a likely cause — a new rate, a changed contract, sick leave, overtime. It gets fixed before payday, while fixing it is still cheap.
An explained calculation, with evidence
Asked why an employee earned less this month, the answer is not a sentence but a chain: which time records, which rules and with what valid-from date, which compensation and on what base. Every step opens down to the source data.
A travel order from its receipts
OCR reads the receipts attached to a travel order and proposes expense lines with amount, date and currency. The result is a draft the employee confirms. Accuracy is measured per field type rather than as one number across everything — fields the model cannot read reliably are left empty.
Deadlines that reach you on their own
A fixed-term contract about to expire, a probation period ending, unused leave approaching its cut-off, a medical check due. Rules take the form event → condition → action and arrive as a task in the manager's inbox, not as an email that gets lost.
Why this instead of what you already run
An honest comparison: each of these differences follows from an architectural decision, not a marketing one.
Serbian payroll in the core, not through a partner
Odoo, Business Central and SAP Business One do not have Serbian payroll — they resolve it through a partner localization, an add-on, or an export into a separate local program. Each of those three means another vendor, another upgrade cycle, and a boundary the data crosses by hand. NG One carries PPP-PD, the seniority premium, 65/100 sick pay and contracts outside employment in the same system as the general ledger.
Rules that were valid on the payroll date
Tax-free allowances change, contribution bases change, reliefs expire. A system that stores only the current value produces a wrong result the moment payroll is run backwards — and a March recalculation in November is routine, not rare. NG One keeps a validity period for every rule and records on each transaction which version was applied.
Labour cost allocated at the moment of posting
Dimensional posting is a property of the core, not a module bought on top. Salary is posted with organizational unit, project and cost centre on the line — so plant or project profitability is read straight from the ledger, instead of being reassembled every month by spreading a total across a key in a spreadsheet.
The switch is proven, not promised
Before payroll goes live, it runs in parallel with your existing calculation for two months — same input, results compared to the dinar, every difference explained. Only then does the old program get switched off. That is the condition for go-live, not a service billed separately.
The flows this space runs through
A business space is not an island. These processes touch it end to end, and where a flow leaves this space the record stays the same — the next step receives it structured rather than retyped.
People
Hire-to-Retire
An employee's path through the company, from an open position to termination. The contract, the time records and the payroll run read the same data, and PPP-PD, eBolovanje and CROSO are filed from it.
- Position
- Contract and onboarding
- Time and absence
- Payroll
- Development and performance
- Offboarding
Questions about this space
Scope, boundaries, and the rules this space posts by.
Does NG One have Serbian payroll, or does it rely on an external program?
Payroll is part of NG One and runs on the same platform as the rest of the system. It covers income tax with the tax-free allowance, employee and employer contributions with the lowest and highest base, the statutory seniority premium, overtime and night work premiums, compensation for leave, holidays and sick days, meal allowance and holiday pay, employment reliefs, and contracts outside employment. There is no export into a separate local program and no partner add-on upgrading on its own schedule. That is the difference from foreign systems, where Serbian payroll is somebody else's job.
What does implementing payroll look like?
It runs in parallel, not on a switch. Employee master data, contracts and leave balances are migrated first, then the calculation rules and parameters are configured for your company — deductions, reliefs, earning types, your own pay policy. After that, for at least two months the same input goes through NG One and through your existing calculation, and the results are compared to the dinar. Every difference has to be explained, because a difference is always one of three things: an error in the migrated data, a misconfigured rule, or a genuine difference in how the law is being read — which is worth settling before payday, not after. The old program is switched off only once a parallel run comes out clean. Those two months are a condition for go-live, not an option.
How do PPP-PD and the tax portal filing work?
The PPP-PD XML is generated from the locked payroll run, with its OVP, OL and MFP codes and payment reference — from the same source that produces the payment orders and the journal entry, so the filing and the books cannot drift apart. Filing through the tax portal is deliberately semi-automatic: the portal has no public API, so NG One prepares and validates the submission, signs it with a qualified certificate and keeps a register of submissions and statuses, while the final step stays on the portal. Promising full automation of that step would be untrue — and it would show in the first month.
What about sick leave and CROSO?
Both run through the system. The e-certificate is retrieved from the health fund and tied to the employee and the payroll period, so sick pay at 65% or 100% is derived from the certificate — with duration limits and the split between employer and fund. Electronic refund claims are filed from the same place and tracked by status, so at any moment you know what was claimed, what was approved and what is still open. CROSO registrations, deregistrations and changes are produced from the employment record rather than a separate register kept in sync by hand; automation goes as far as the portal permits, and where the portal insists on a manual step, NG One prepares and logs the submission instead of pretending the step is not there. Access to these services uses your own accounts and authorizations — you get the list at the start of implementation, before anyone touches a payroll run.
What happens when payroll is run backwards or corrected?
A recalculation uses the rules that were valid in the payroll period, not the ones valid today. That is possible because rates, bases and thresholds are stored with their validity period, and every transaction carries a reference to the rule version it was posted under. The same applies to contracts: an amendment attaches to the original instead of overwriting it, so the state of employment on any past date is reconstructed from data. Effective-dated rules are a property of the core and one of the things that cannot be added later without rewriting the system — which is why this is a question to ask before you buy, not after the first inspection.
Are travel orders and expenses part of the system?
They are, and as a full document — not an attachment to a reimbursement request. A travel order has a request, an approval through the same workflow that approves a purchase order, an advance, a settlement on return and a posting with dimensions. Domestic and foreign orders are covered, along with per diems by country carrying valid-from dates, mileage, filing from a phone, and OCR that proposes the expense line from the attached receipt. This is the item most easily missed when choosing an ERP, and the one noticed in the first month of use.
Who can see salaries, and how long are payslips kept?
Access to salary data runs through six layers of authorization: roles, data scope, approval limits, segregation of duties, maker–checker and delegation. A manager can see their own team without access to figures in other organizational units, and every access and every change stays in an immutable log. That layer is part of the platform rather than an add-on over it — the same mechanism that isolates one tenant's data at the database level also governs who inside the company sees a salary figure. Payslips are kept permanently — a statutory obligation rather than an archiving policy setting: in the electronic archive book payroll records sit in the permanent retention category, while financial statements are kept for 20 and the general ledger for 10 years.
Neighbouring spaces
Show us one of your payroll runs
The fastest way to judge whether NG One can run your payroll is to take one real month of yours and put it through the system. Compared to the dinar, with every difference explained.