Book a Free Demo
  1. Home
  2. Resources
  3. Frappe framework development
Developers for hire

Frappe framework development: custom apps and ERPNext customisation

Python and JavaScript developers in Coimbatore who build on the Frappe Framework, from a single custom DocType to a complete vertical product on ERPNext.

The Frappe Framework is the engine ERPNext runs on: a full-stack web framework in Python and JavaScript, with MariaDB as the database, where every business document is a DocType that the framework turns into a form, a list, a report, a permission set and a REST API endpoint without extra code. That is what makes ERPNext practical to adapt: most changes are framework work, not core surgery.

Thirvusoft employs Frappe developers alongside its ERPNext consultants, so customisation is done by people who also understand the accounting and stock entries a change will affect. This page explains when to customise and when to configure, what the team has built, how an engagement runs and the practices that keep custom code safe through upgrades.

What Frappe gives a developer out of the box

A DocType in Frappe is a declaration of fields, their types, links to other DocTypes, naming rules, permissions by role and the events that fire on validate, submit and cancel. Declare one and the framework provides the database table, the form, a list view with filters, a report builder, print formats, a REST API with authentication by API key or session, a scheduler for background jobs and a permission model.

On top of that sit the tools that let most customisation happen without a new app: custom fields and property setters that change standard forms, client scripts in JavaScript for form behaviour, server scripts in Python for validations, and notifications and workflows configured from the browser. A developer reaches for a custom app when the change needs its own tables, its own business logic or a mobile front end.

  • DocTypes with child tables, links, dynamic links and fetch-from fields.
  • Document events (before_insert, validate, on_submit, on_cancel) for business rules.
  • REST and RPC APIs for every DocType and any whitelisted Python method.
  • Scheduler for hourly, daily and cron-style background jobs.
  • Role and user permissions, workflows, notifications and webhooks.

Configure first, customise second

The cheapest customisation is the one you do not write. A large share of the requests Thirvusoft receives, such as a new field on the sales invoice, a mandatory approval above a discount threshold, a print format with the company's letterhead in Tamil, or an email when stock falls below reorder level, can be met with configuration that survives every upgrade untouched. Our consultants try that route first.

Custom development is the right answer when the process genuinely does not exist in ERPNext. A tyre service centre needs vehicle and service-job records; a lending business needs loan schedules, deposits and interest postings; a paver block plant needs mould-wise production and dispatch weights. These are new DocTypes with their own logic, and building them as a separate Frappe app is the correct engineering choice.

The dividing line we use is simple: if the change is about how a standard document looks or validates, configure it. If it is about a new kind of record or a calculation ERPNext does not perform, write an app.

Custom apps Thirvusoft has built on Frappe

The team's own products, listed on the products page, are Frappe apps installed alongside ERPNext rather than modifications of it. Each began as one customer's requirement and was built so the next customer in the same trade could install it as a package, with ERPNext's accounts and stock underneath.

  • Tyre service management for tyre dealers and service centres, connected to ERPNext stock and invoicing.
  • Pavers and hollow bricks manufacturing ERP, covering mould-wise production, curing, raw material consumption and dispatch, in use at SMT Pavers & Blocks and Sri Ganapathy Pavers & Bricks, both published case studies.
  • Thirvu Insurance Management, an insurance management application described in a published case study.
  • Thirvu Lending & Deposit Management and the Smart Deposit Management System: loans, fixed and recurring deposits, with postings flowing into ERPNext accounts.
  • Distribution management with a dealer mobile app, built in Flutter, for dealers to place orders against ERPNext through its REST API.
  • Event management for businesses that book resources and bill per event.

How a development engagement works

Development starts with a written specification, not a phone call. A business analyst sits with the people who will use the feature, documents the current process, the records involved and the reports expected, and the developer turns that into a DocType design with its events and validations. You see this document, with the estimate attached, before any code is written.

Work is delivered in short cycles on a staging site that mirrors your live system. Each cycle ends with the feature demonstrated on your data, corrections noted, and a decision on whether to move it to production. Developers can be engaged for a fixed-scope build, such as a custom app or integration, or on a retained basis for companies whose ERPNext keeps evolving. Both are quoted in writing after scoping.

  • Fixed-scope: one specification, one price, one delivery date.
  • Retained: a monthly block of developer time for continuous change requests, reviewed each month.
  • Handover: source in a git repository you own, with installation notes any other implementer can follow.

Code quality and upgrade-safe practices

Custom code is only an asset if it still works after the next ERPNext release. The rules Thirvusoft follows are the ones the Frappe community recommends, and they exist because the alternative, editing core files, produces systems that can never be upgraded.

  • All customisation lives in a separate app; ERPNext and Frappe core are never edited.
  • Standard documents are extended through hooks such as doc_events and override_whitelisted_methods rather than copied and modified.
  • Custom fields and property setters are exported as fixtures so they can be re-applied on any site.
  • Data changes ship as patches, so an upgrade or fresh install runs them in order.
  • Code is version-controlled in git, reviewed before merge and tested on a staging copy of your database before release.
  • Each app is checked against the next ERPNext release before you are asked to upgrade.

Integration capabilities

Because every DocType has a REST API, connecting ERPNext to other systems is routine. Thirvusoft has delivered integrations with WhatsApp for invoices and reminders, biometric attendance devices from eSSL, ZKTeco and others for Frappe HR, e-invoice and e-way bill portals through India Compliance, IndiaMART for pulling enquiries into CRM, cloud telephony for click-to-call and call logging, and Razorpay for online payments.

Custom integrations follow the same pattern: an inbound webhook or a scheduled job on the Frappe side, mapping to standard DocTypes, and error logging that a non-developer can read. Weighbridges, barcode scanners, label printers and third-party e-commerce platforms are typical requests from manufacturers and distributors in Tamil Nadu.

FAQ

Frequently asked questions

Do we need to know Python to maintain what you build?

No. Day-to-day changes such as adding fields, changing print formats or adjusting workflows are done from the browser, and we train your admin user to do them. Code-level changes stay with our developers under a support contract, or with any Frappe developer you choose, since you own the source.

Will custom development stop us upgrading ERPNext?

Not if it is built correctly. By keeping customisations in a separate app that uses hooks and fixtures, the core stays untouched and upgrades apply cleanly. We test each app against new releases before recommending an upgrade.

Can you build a mobile app on Frappe?

Yes. Thirvusoft has Flutter developers who build Android and iOS apps that talk to ERPNext through its REST API, such as the dealer ordering app in our distribution product. The app carries only the screens a role needs, with ERPNext as the single source of data.

Can you take over a Frappe app written by someone else?

Usually, provided the source is available. We start with a code review to see whether it follows the separate-app and hooks approach, then estimate any clean-up needed before adding features or upgrading.

How do you charge for Frappe development?

Either a fixed price for a written scope or a monthly retained block of developer hours. Both are quoted after a short discovery, and we would rather give a fixed price than an open-ended day rate wherever the scope is clear.

Do you work with companies outside Coimbatore?

Yes. Development is delivered remotely across India with staging sites, screen-shared demonstrations and written specifications. Consultants visit sites across Tamil Nadu when process mapping needs to happen on the shop floor.

Discuss a Frappe development project

Send us the process you want built or the system you want connected. A developer and a consultant will review it together and reply with a written approach and estimate.

Free ERPNext demoCoimbatore team, Tamil or English
Book