When a Frappe HR and payroll implementation on ERPNext makes sense
If your HR or finance lead runs payroll, leave and expense approvals in spreadsheets or a separate HR tool, and every month someone re-keys totals into the ledger, a Frappe HR implementation on ERPNext is worth evaluating. Frappe HR is the open-source HRMS app that adds employee records, attendance, leave, expense claims, salary structures and payroll runs to ERPNext, and the expense and payroll postings land in ERPNext accounting rather than in a parallel system. A partner such as DeployOpen typically plans and configures it alongside your existing ERPNext bench, while your own team keeps ownership of policy decisions.
Frappe HR is a separate app, not a module built into ERPNext core. It installs on the same bench as ERPNext, so the two share one site, one database and one permission model, and the upgrade path for each has to be planned together. Payroll rules are country-specific: tax slabs, statutory deductions, social contributions and payslip formats depend on where your employees are paid. Confirm with your payroll adviser which rules apply to each country and entity before any salary structure is built, because those rules are the largest source of rework later.
This page covers five areas: configuration of employee records, leave policies and attendance; expense claims and their accounting entries; salary structures, tax slabs and payroll runs; data migration from your current HR and payroll files; and the mobile app for staff. Before you commit, ask who in your organization can sign off on payroll logic, who owns the employee master data, and whether the business needs attendance devices or only manual or imported attendance. If those answers are unclear, the implementation will stall in configuration, not in code.
What Frappe HR does on top of ERPNext
Frappe HR is the open-source HRMS app that runs on ERPNext, so employee data, payroll and expense postings share one database and one set of permissions. The cards below cover the parts the team configures, the decisions each one forces, and the checks to run before staff use it.
Employee records and org structure
Employee records hold the master data that every other HR function reads: departments, designations, reporting lines, company and banking details. Because leave, attendance, claims and salary all link back to the employee, mistakes here spread into every later document. Decide early which fields are mandatory, who may edit personal data, and how records move through joining, transfer and exit. Confirm which employee fields and workflows your Frappe HR version provides before you design around them.
Leave policies and allocations
Leave types, leave policies and yearly allocations define what each employee may take and how balances carry forward. The rules you choose for accrual, carry-forward limits and approval chains are hard to change once balances exist, so model them against your labor rules before loading any history. Test a sample of edge cases such as mid-year joiners and unpaid leave. Confirm which allocation and approval options exist in the version you will run.
Attendance and shift handling
Attendance records feed both leave and payroll, so the source of truth must be settled before go-live. Decide whether attendance is entered manually, imported from a file, or pushed from a device, and who corrects missed punches. Shift assignments and their effect on overtime and late marks need the same scrutiny. Confirm with the Frappe HR release notes which device and shift features your version supports, since integrations differ by release.
Expense claims posted to accounting
Expense claims let staff request reimbursement, and an approved claim can create the accounting entries in ERPNext rather than in a separate tool. Finance needs to agree on expense types, default accounts, cost centers and the payable account used for reimbursement before the first claim is approved. Test the full path from submission to a posted journal entry and to the payment, including a rejected claim and a partially approved one. Confirm the exact posting behavior in your version.
Salary structures and income tax slabs
A salary structure combines earnings and deductions as components with formulas and conditions, and it is assigned to employees with a base amount. Income tax slabs and the rules for exemptions depend on the country and the tax year, so the payroll rules must come from your tax advisor or the local regulator, not from a default template. Plan how the structure changes when rules change, and keep a versioned record of each setting used for past payslips. Confirm which country templates ship with your Frappe HR version.
Payroll runs and salary slips
A payroll run generates salary slips for a set of employees over a period, and the slips then drive journal entries and bank payments. The main risks are wrong employee filters, missed mid-period joiners or leavers, and slips created before attendance and leave are final. Build a review step with a parallel check against last period's totals before submitting the run. Confirm how your version handles payment entries and accounting postings for submitted slips.
Mobile app access for staff
The Frappe HR mobile app gives employees access to tasks they perform themselves, such as applying for leave, checking attendance or submitting claims. Access runs through the same user and role model as the desk, so the roles you assign decide what each employee sees on a phone. Decide whether staff sign in with local passwords, two-factor authentication or your identity provider, and test that revoking a user removes mobile access. Confirm the current mobile app features and supported platforms for your version.
Where to run Frappe HR: Frappe Cloud, Docker or bench
Frappe Cloud is the hosted option that the ERPNext README lists among its installation methods. The platform team does not manage servers, backups or the bench itself, and the Frappe HR app is added to a site on the same bench as ERPNext. Shared hosting is priced from a low monthly figure and dedicated servers from a higher one, according to the ERPNext pricing page, so the cost model is a subscription rather than a project cost for infrastructure.
- Server Scripts are restricted: Frappe Cloud public shared benches do not allow Server Scripts, so payroll rules that depend on custom Python on document events need a dedicated bench or another install path.
- Support coverage depends on the plan: Frappe's supported versions policy ties warranty coverage to a listed version and a matching Frappe Cloud support plan. Confirm both before go-live.
- Less control over the host: You cannot change system packages, scheduler settings or the database configuration on a shared bench.
- Data location is a question to settle: Confirm the hosting region and where backups are kept against your data residency rules.
- Upgrades follow the platform: Plan your upgrade window around the version cadence Frappe publishes.
Before choosing this path, confirm with Frappe which bench type your payroll rules need and whether the support plan covers the Frappe HR version you will run.
The frappe_docker repository provides production images and Compose files for ERPNext and other Frappe apps, including Frappe HR. The stack includes MariaDB, Redis, background workers, the scheduler, Socket.io and Nginx as separate services. This path keeps the install inside your infrastructure while avoiding hand-built servers, and it lets you bake Frappe HR into a custom image with the apps you need.
- Production images, not the demo: The single-file demo setup is marked for short-lived evaluation only, so do not use it for payroll data or any environment that will persist.
- Workers and scheduler matter for payroll: Salary slip generation and attendance processing run as background jobs, so confirm that workers and the scheduler are sized and monitored.
- Custom image for apps: Build an image that includes Frappe HR at the same version as ERPNext so both apps move together during upgrades.
- Storage and backups are yours: Volumes for the database and site files must be backed up and tested by your team.
- TLS and access are your work: Nginx termination, certificates and network placement sit in your environment.
Check that the Frappe HR version you pick is compatible with the ERPNext version in the same image before you build it.
The bench command line tool installs ERPNext and additional apps on a Linux server you control. Frappe HR is installed with bench onto the site that runs ERPNext, and this path gives the most control over Python and Node versions, the scheduler, Redis and the database. It also gives the team the most operational work, because they own the host, the process supervision and every upgrade step.
- Full access to Server Scripts: Server Scripts can be enabled through the server_script_enabled setting, which is off by default from version 15, so the team controls whether payroll logic can run as Python.
- Host dependencies are yours: Database, Redis, Node and Python versions must match the Frappe release you choose.
- Process supervision: Workers, the scheduler and Socket.io need monitored services, not a terminal session.
- Upgrade discipline: Each bench update, app update and migration must be rehearsed on a copy of production payroll data.
- Staffing: Confirm that your team has Linux, database and Frappe operations skills before choosing this path.
Ask the team who will patch the host and run bench commands during payroll cycles, and write that into the operating model.
The single-file demo setup in frappe_docker is useful for a walkthrough of Frappe HR screens and for trying employee, leave and attendance records. The project marks it for short-lived evaluation only, so it is not a staging or pilot environment for real staff data. Treat it as a sandbox and build the production install separately.
- Evaluation only: The project marks the setup for short-lived use, so do not store real employee records, bank details or tax identifiers in it.
- Good for function checks: Use it to test leave types, attendance flows and the expense claim path before you design the production configuration.
- Not a sizing guide: Results from a demo do not show worker load or scheduler timing for a full payroll run.
- Data does not carry over: Plan to recreate master data in the production environment, or import it through the Data Import tool in batches.
- Discard it: Remove the demo stack and its volumes once the evaluation ends.
Record which configuration changes you tested in the demo so that you can repeat them deliberately in the production install.
Configuration decisions that shape the payroll build
This table compares the configuration choices that determine how payroll, leave, attendance, expenses and staff access are built in Frappe HR on ERPNext. Read each row as a decision to settle before build starts, with the option that fits and the points to confirm with payroll and legal advisers in your target country.
| Decision | Options and when each fits | What to confirm with payroll and legal advisers |
|---|---|---|
| Payroll country and tax slab model | Use the country-specific payroll setup if one exists for your jurisdiction. Build custom tax slabs and formulas if you operate in a country without one, or with rules that differ from the standard setup. | Current income tax slabs, exemptions, employer and employee contribution rates, rounding rules and filing formats, with effective dates for each change. |
| Salary component design | Few broad components suit simple pay structures. Separate earnings, deductions and employer contributions suit organizations that need payslip detail and accounting splits by component. | Which components are taxable, which are statutory, and which must appear on the payslip as separate lines for employees and regulators. |
| Leave policy structure | A single leave type per category suits small teams. Separate leave types, allocations and carry-forward rules suit organizations with statutory leave, probation rules or different grades. | Statutory minimum entitlements, accrual rules, carry-forward limits, encashment rules and how unpaid leave affects salary calculation. |
| Attendance source | Manual entry suits small teams with few shifts. Check-in through the mobile app suits field or hybrid staff. Device import suits sites with biometric or card readers that already produce logs. | Retention periods for attendance records, consent requirements for biometric data, and any labor law limits on working hours or overtime calculation. |
| Expense claim approval and accounting account mapping | Single-level approval suits small companies. Multi-level approval by amount or department suits larger organizations. Each expense type needs a mapped ERPNext expense account and cost center. | Tax treatment of reimbursements, receipt requirements, approval limits in internal policy, and how reimbursements must appear in the ledger for audit. |
| Staff access through the mobile app versus desk | The mobile app suits staff who need self-service for leave, attendance and expense claims. Desk access suits HR and finance users who need full record access. Most organizations use both, with role-based limits. | Which personal data staff may see, how access is revoked at exit, and whether the employer must provide specific notices before staff use an app on personal devices. |
How the implementation sequence runs from setup to first payroll run
The sequence moves from confirming versions and building a test environment, through company, employee and leave data, to tested salary structures and parallel payroll runs before staff get access and payroll goes live. Each step closes with a named artifact so the team knows when to move on.
Confirm version compatibility and support status
Before any build, the implementation lead checks the ERPNext and Frappe HR versions against Frappe's supported versions page and confirms which release line the organization will run for the life of the project. Confirm whether the hosting model carries Frappe support coverage, since warranty depends on being on a listed version with a matching support plan. The step closes with a written version decision record signed by the CIO or HR director, naming the ERPNext and Frappe HR releases and their end-of-life dates.
Set up the non-production environment
The platform engineering team installs ERPNext and the Frappe HR app in a non-production environment, using bench on Linux, Docker Compose or the hosting option already agreed for the organization. They confirm that background workers, the scheduler and email are running, and that the app versions installed match the decision record. The step closes when a test site loads, the app appears in the installed apps list, and a backup and restore has been rehearsed on that site.
Link the company and chart of accounts
Finance and the implementation consultant create the company record, fiscal years, currency, and chart of accounts that payroll and expense claims will post to. They map salary payable, employee advance, expense payable and payroll expense accounts, and decide how cost centers will be used for HR postings. The step closes with a reviewed account mapping sheet that the controller approves, so later journal entries have a known destination.
Build employee master data and access rules
HR loads employee records into the test site, starting with a small sample and then the full population, using the Data Import tool with its templates. Because the tool advises importing only a few thousand records at a time, batch the load and check each batch. The step closes with a reconciliation report that matches record counts and key fields such as company, department, designation and bank details against the source HRIS, with exceptions signed off by HR operations.
Configure leave, attendance and holiday lists
HR configures leave types, leave policies, holiday lists and attendance sources for each location or employee group, then runs test leave applications and attendance entries against them. The consultant verifies that leave balances and attendance totals produce the figures HR expects for a sample of employees across each policy. The step closes with a signed-off leave policy matrix and a test report showing balances and attendance totals for the sample.
Configure expense claims and their accounting
Finance and HR set up expense claim types, approval routing and the accounts that each claim type posts to, then submit test claims through approval to confirm that the resulting journal entries land in the correct ledgers and cost centers. Check how payments to employees are recorded so that advances and reimbursements clear correctly. The step closes with a set of test claims whose journal entries the controller has reviewed and accepted.
Build salary components, structures and tax slabs
Payroll specialists with the country tax adviser define salary components, salary structures and assignments, and enter the income tax slabs and rules that apply to the organization's jurisdictions. Each component is tied to its earning or deduction account so that payroll postings are traceable. The step closes with a signed-off salary component list and tax configuration, approved by payroll and the tax adviser, with worked examples for each structure.
Test with parallel payroll runs
The team runs one or more payroll cycles in the test environment on data copied from a recent live cycle, then compares net pay, deductions, employer costs and bank files against the figures the current payroll produced. Investigate every variance at employee level and trace it to a component, a tax rule or an attendance input. The step closes with a reconciled payroll journal and a variance log showing each difference and its resolution, approved before go-live is scheduled.
Enable staff access and go live
Staff access is enabled last, after the payroll runs reconcile, so that employees see their own records and leave balances only once the data is trusted. The team confirms the role permissions, login method and the Frappe HR mobile app setup for staff, then runs the first live payroll under the change plan with the rollback steps documented. The step closes when the first live payroll journal is reconciled to the bank file and the implementation is handed to the support owner.
Loading employee and payroll history into Frappe HR
Load only what the first live payroll run needs, and keep the rest in an archive you can query. The ERPNext Data Import tool accepts CSV or Excel files built from downloadable templates, and it can write child table rows, which is how employee-level detail such as salary structure assignments, leave allocations and opening component amounts usually enters the system. The documentation advises importing only a few thousand records at a time, so split the extract into batches by employee group or company and import the parent records (Employee) before the rows that link to them. Run a small test batch on a non-production site first and check the error log before loading the full file.
For Frappe HR, the core load is the set of active employees with their identifiers, departments, reporting lines, bank details and current salary structure assignment. Opening leave balances should be entered as leave allocations for the current leave period, not as a history of past leave applications. Opening salary components should reflect the amounts in effect on the cutover date. Past payslips, closed expense claims and terminated employee records belong in a read-only archive, with a documented retention period set by your HR and legal teams. Confirm with your payroll provider which year-to-date totals, especially tax withheld and statutory contributions, must carry over, because these drive the next year's calculations.
Before the first live run, reconcile the imported data against the existing payroll system. Compare headcount, gross pay, net pay and total deductions per employee for the last closed period, and run a trial payroll in Frappe HR for that same period to confirm it reproduces the official figures. Any difference should be explained and signed off by the payroll owner. Keep the import files, the reconciliation report and the sign-off together as evidence, since auditors and tax authorities may ask how opening balances were established. Also confirm that the posted salary journal entries reach the correct ERPNext accounts before any money moves.
What drives effort, cost and duration in an HR payroll build
How does the number of countries and tax rules change the effort of a payroll build?
Each country or tax regime you pay people under adds its own salary components, statutory deductions, tax slabs and year-end forms, so effort grows with every jurisdiction. Frappe HR handles payroll through salary structures and components that you configure, but the statutory logic for each country has to be confirmed with your payroll or tax advisers and tested against real pay cycles. Ask a partner to quote per jurisdiction, and confirm whether country-specific payroll support already exists in the Frappe HR release you plan to run. One-time work covers the rule design and testing; recurring work covers tax table updates each year, which your payroll owner or an adviser must confirm before each cycle.
Why do pay groups and salary components multiply the build time?
Pay groups, salary structures and components set how earnings and deductions are calculated, so each new combination needs a design decision, a test case and sign-off. The effort comes from the number of distinct pay rules, not the number of employees. Map every allowance, deduction and exception before configuration starts, and treat each unusual rule (for example, a bonus with a special tax treatment) as its own work item. Ask for a quote that lists pay groups and components as separate line items so you can see which ones drive the price.
How much work do attendance device integrations add to a payroll project?
Device integrations add effort because each attendance device, its data format and its connection method must be understood, tested and maintained. Attendance feeds the payroll run, so errors in punch data become errors in pay. Confirm which device models and protocols you use, who supplies the device integration, and how missing or duplicate punches are corrected before payroll is locked. Recurring cost comes from keeping the connector working after device firmware or network changes, which your IT team or partner should own explicitly in the contract.
How does the quality of the source HR data affect cost and duration?
Poor source data is usually the largest hidden cost in an HR payroll build. Duplicate employees, missing bank details, inconsistent job titles and outdated tax declarations all need cleaning before they can be imported. Frappe's Data Import tool accepts CSV or Excel files and child table rows, and its documentation advises importing only a few thousand records at a time, so large employee histories need batched loads and validation rounds. Ask the implementer to profile your data first and to quote the cleanup as a separate phase, since it is labor your team or the partner performs before any configuration is useful.
When do Server Scripts and custom apps add cost, and does the hosting plan allow them?
Custom logic adds cost when a payroll rule cannot be expressed with standard configuration. Frappe's documentation says Server Scripts run Python on document events or as API endpoints, and from version 15 they are disabled by default and must be enabled with the server_script_enabled setting. Frappe Cloud public shared benches do not allow them, so confirm your hosting tier before design. Frappe Cloud shared site hosting starts at 5 US dollars per month and dedicated servers at 125 US dollars per month, according to the ERPNext pricing page, but hosting cost is only one part of the total. Custom apps need code review, testing, upgrades on every ERPNext release and a named owner after go-live. Ask for the custom code separately in the quote, with its maintenance terms.
How does identity integration change the scope of an HR and payroll rollout?
Identity integration changes scope because employee logins, roles and deprovisioning must match your directory. ERPNext supports LDAP login against Active Directory or OpenLDAP, with SSL/TLS options and automatic mapping of LDAP groups to ERPNext roles at each login, and Social Login Key lets users sign in through configured OAuth or OpenID Connect providers. Each option needs testing with real accounts, role mapping rules and a plan for leavers. Confirm with your identity team which method you will use before the build, since changing it late means retesting access for every role.
How long should a parallel payroll run last, and who pays for it?
A parallel run pays staff through the existing system and the new one at the same time, then compares net pay, tax and ledger postings line by line. Its length depends on how many pay cycles your payroll owner needs to trust the results, including any year-end or bonus cycle that the new system must handle. Frappe documentation does not supply a duration, so set the length with your payroll and finance leads. Your team pays for the payroll staff time, and the implementer pays for fixes it introduced. Ask the quote to state who performs reconciliation and how many correction rounds are included.
How Frappe HR connects to accounting, identity and other systems
Frappe HR sits on top of ERPNext, so most of its money movements land in ERPNext accounting and most of its sign-in decisions depend on identity settings outside the HR app. The cards below separate the connections the documentation describes from the ones that usually need custom work, and each one needs confirmation in your own environment before you commit to a design.
Expense claims posted to accounting
Approved expense claims and payroll-related postings create entries in ERPNext accounting, so the chart of accounts, cost centers and default payable accounts must exist before the first claim is approved. Decide who owns the approval step and which account receives each expense type. Confirm with your finance team how payroll journal entries should be grouped and reviewed, and test one full month end to end in a staging site before go-live.
LDAP login and group mapping
ERPNext can authenticate users against Active Directory or OpenLDAP through LDAP Settings, with SSL/TLS options. Group membership is mapped to ERPNext roles at each login, so an HR user removed from a directory group can lose the matching role on their next sign-in. Confirm the group names, the TLS certificate chain and the behavior for users who exist in the directory but have no ERPNext account before enabling it for staff.
Sign-in through external providers
Social Login Key lets users sign in with providers such as Google, Microsoft or GitHub, and with custom OAuth or OpenID Connect endpoints. This suits staff who should not manage a separate ERPNext password, but it does not replace role assignment, which still happens inside ERPNext. Check how new accounts are created on first sign-in, whether the provider's account lifecycle matches your leaver process, and whether the mobile app login path behaves the same way.
Bank file exports for salary payments
Salary payments usually leave ERPNext as a bank file, not as a live bank connection. The exact file format depends on your bank and country, so this is typically custom work that needs a bank-specific template and a test with the bank's upload tool. Ask your bank for its file specification, agree who approves the file before upload, and confirm how returned or rejected payments are recorded back in ERPNext.
Attendance devices and time systems
Attendance can come from biometric devices, shift logs or a separate time system, and each source needs a defined mapping to employee check-ins. Duplicate punches, missing check-outs and shift boundaries cause most payroll disputes, so define the rule set before importing history. Confirm whether your device vendor's export format is supported directly or needs a transformation step, and who corrects exceptions before a payroll run closes.
Integrations that need custom build
Anything outside the connections above, such as a pension provider feed, a tax filing submission or a separate HR case system, usually needs custom scripts or an app. Server Scripts are disabled by default from version 15 and are not available on Frappe Cloud public shared benches, so plan where that logic will run and who maintains it. Ask for a written list of each interface, its direction, its owner and the test evidence before scoping the build.
Controlling who sees salary data in Frappe HR
Salary, bank details and personal records are the most sensitive data a Frappe HR implementation holds, so role and permission design belongs in the first sprint, before employee records are imported. Decide which roles can read Salary Structure Assignments, Salary Slips and Employee records, and which can only see their own. ERPNext's role and user permission model controls document access, but field-level restrictions and any masking need to be checked against the version you run, since the options differ by release. Test each role with a named sample user rather than assuming the permission matrix behaves as drawn.
Login policy depends on the identity option you choose. If staff sign in through LDAP, the directory can enforce password rules, lockout and account disablement, and ERPNext maps LDAP groups to roles at each login, so group design in Active Directory or OpenLDAP becomes part of your HR access model. If you use Social Login Key with a provider such as Microsoft or Google, MFA and offboarding depend on that provider's controls, and ERPNext accounts must still be disabled when someone leaves. Confirm with your identity team which system is the source of truth for joiners and leavers before go-live.
Server Scripts are disabled by default from version 15 and must be enabled with the server_script_enabled setting. Payroll and attendance logic is often written as Server Scripts, so enabling them is a security decision, not only a configuration step, and it should be restricted to a small group of administrators with change records. Frappe Cloud public shared benches do not allow Server Scripts, which may rule out that hosting option for this work. Review HR access rules with your data protection owner, and treat DeployOpen's role as preparing the controls, test evidence and access matrix; independent auditors, not DeployOpen, issue any audit reports.
Common questions before hiring help for Frappe HR payroll
What does a Frappe HR and payroll implementation cost?
Cost depends on the scope agreed in writing, so no fixed figure applies to every team. The main drivers are the number of employees and entities, how many salary structures and pay components you run, how many countries and tax regimes apply, how many systems payroll must feed (accounting, attendance devices, bank files), and whether you need custom reports or scripts. Expect one-time work for design, configuration, data loading and testing, and recurring costs for hosting, upgrades and support. The Frappe Cloud pricing page lists hosting starting at 5 US dollars per month for shared sites and 125 US dollars per month for dedicated servers, while self-hosting ERPNext itself is free. Ask any provider for a quote that separates these items and states what is excluded.
How long does a Frappe HR payroll build take?
Duration is set by scope and by the readiness of your inputs, not by the software alone. The longest steps are usually confirming payroll rules with your advisers, cleaning employee and leave data, and running parallel payroll cycles until the results match your current process. Timelines lengthen when attendance devices, shift patterns, expense approval chains or several countries must be integrated, and when more than one ERPNext company shares the same employee base. Ask for a plan with phases, the dependencies between them, and the decisions that must be made by named people before each phase can close.
Can our team implement Frappe HR without a partner?
Yes, a capable internal team can implement it using the official documentation, provided it has someone who knows ERPNext and someone who knows your payroll rules well. The work is mostly configuration rather than code, but it demands careful testing, because a wrong tax slab or leave rule shows up as a pay error. Be realistic about capacity: the team must also run parallel payroll, handle go-live support and keep up with releases. A partner is most useful when the team lacks ERPNext experience, when deadlines are fixed, or when integrations and custom reports must be built and maintained.
What do HR, finance and payroll staff need to provide?
Each group owns decisions that the software cannot make. HR supplies the employee master data, the leave and attendance policies, shift rules and the approval hierarchy for leave and expenses. Payroll supplies the salary components, deduction rules, statutory calculations and a set of past payroll runs to reconcile against. Finance decides how payroll and expense claims post to the chart of accounts, cost centers and bank accounts in ERPNext, and signs off the journal entries. Name one owner per group, agree how sign-off is recorded, and schedule their time for testing before the project starts, since delays in these reviews are a common cause of slippage.
Does Frappe HR work without a full ERPNext rollout?
Frappe HR is built to run on ERPNext, so it is normally installed on the same bench or site rather than as a stand-alone product. Expense claims post to ERPNext accounting, and payroll journal entries depend on accounts, cost centers and companies that exist there. You can start with HR and payroll and leave other modules for later, but the accounting setup must be complete enough to receive postings. Confirm with your provider and the release notes for your ERPNext version which app versions are compatible, because version support follows the Frappe support policy.
What must we confirm about our country's payroll rules?
Confirm every statutory rule with your tax adviser and payroll authority before configuring anything. This includes income tax slabs and their effective dates, social security or pension contributions and their ceilings, employer contributions, statutory leave, public holidays, reporting obligations and any required payslip content. Ask whether the Frappe HR payroll features already cover your country's rules, and whether a country-specific app or a custom salary component is needed. Keep the source of each rule on file and agree who approves changes, because tax rates and thresholds change during the year.
Which parts of payroll need custom work and which are configuration?
Most payroll work is configuration: salary structures, components, formulas, leave types, shift and attendance rules, and print formats. Custom work appears when the rules fall outside the standard model, such as unusual bonus calculations, device integrations, bank file formats or reports for an auditor. Server Scripts can run Python on document events, but from version 15 they are disabled by default and must be enabled with the server_script_enabled setting, and Frappe Cloud public shared benches do not allow them. Confirm the hosting model before designing any script-based logic.
How DeployOpen scopes and delivers Frappe HR and payroll work
DeployOpen plans, implements, customizes, integrates, documents and supports self-hosted open-source platforms inside your own infrastructure, including ERPNext with Frappe HR. Engagements start with a written scope that sets out which employee, leave, expense, salary and payroll processes are covered before any configuration begins.
How we scope
- Map your employment types, pay cycles, leave rules and approval chains before any configuration starts.
- Confirm which payroll countries, tax slab tables and statutory deductions the scope covers, with your finance and HR owners.
- Agree in writing which ERPNext accounting entries expense claims and payroll runs will post, and which accounts they use.
How we build
- Configure employee records, leave policies, attendance and shift settings in a test site before any production data loads.
- Build salary structures and tax slab setups as versioned configuration, so each change can be reviewed and traced.
- Test payroll runs and expense claim postings against agreed sample cases, with finance signing off the journal entries.
How we hand over
- Deliver written documentation of roles, approval chains, salary structure logic and the monthly payroll run procedure.
- Walk HR, payroll and finance teams through the runbook, including what to check before and after each payroll run.
- Provide a list of customizations, scripts and integrations, with the settings needed to reproduce them on another site.
How we support
- Offer ongoing support, upgrades and testing as a retainer, sized to the scope agreed with your team.
- Plan Frappe HR and ERPNext upgrades in a staging copy first, with a rollback point and a payroll test run afterward.
- Review tax slab and statutory changes with your payroll owner before they take effect in a live pay cycle.

