ERPNext Customization | Upgrade-safe, scoped, owned by you | GreyCube Technologies
Customization · 50+ projects since 2017

Customization that survives the upgrade.

An ERP without customization is a readymade suit without alteration — it fits a lucky few. The art is in the alteration: it should blend with the core, stay light to maintain, and never fight the next release.

What a GreyCube build looks like
frappe/  untouched
erpnext/ untouched
your_app/ yours
  ├─ custom_fields/
  ├─ hooks.py
  ├─ overrides/
  └─ print_formats/
Core files changed Zero
Our position

Our first priority is always to avoid customization.

Most requests already have a standard answer inside ERPNext. We look for that first, because every line of custom code is something you pay for twice — once to build it, and again every year to keep it alive.

It should blend, not bolt on

Good alteration doesn't look altered. Customization should follow the design of the core system so your team never has to learn two different products.

It should be upgrade-friendly

Nothing we build should conflict with a future ERPNext release. Core files stay untouched, so version upgrades stay routine instead of becoming projects.

It should stay light to maintain

The maintenance load of customization must never grow to the point where the core product becomes unusable. We design for the whole lifetime, not the go-live date.

Where we've done it

Customization across the world

More than 50 projects at every level of complexity, delivered to businesses in 15+ countries.

By module

Depth inside the standard stack, not around it.

AccountingBuyingSelling Stock & InventoryManufacturingHuman Resources CRMSupportWebsite Web PortalShopping CartFrappe Framework

By domain

Domain-deep implementations, not generic rollouts.

Distribution & TradingManufacturingServices RetailEducationHealthcare AgricultureHospitality

By business

Industries with rules you won't find in a manual.

OpticsJewelleryCar sales B2BCo-operativesTobacco Dates tradingArt collectionsPharmaceuticals TrainingRestaurantsColleges Water filtersBook distribution
How we decide

The customization ladder

Every requirement starts at rung one. We climb only when the rung below genuinely can't solve it, and we stop the moment it does. Each step up costs more to build and more to own.

RUNG 01

Use the standard feature

Map your process to what ERPNext already ships. Most requests end here — the feature exists, it's just named something else.

RUNG 02

Configure it

Custom fields, workflows, naming series, print formats, permissions, dashboards. No code, no upgrade risk, reversible in an afternoon.

RUNG 03

Script it

Server and client scripts for logic configuration can't express. Version-controlled, peer-reviewed, and documented against the process it serves.

RUNG 04

Build a custom app

A separate Frappe app with its own doctypes, hooks and overrides. Only when the requirement is genuinely yours and worth owning outright.

  • Core ERPNext and Frappe files are never edited — whichever rung we stop on.
  • Everything we build lives in your own namespaced app or workspace.
  • Every change is version-controlled, reviewed and reversible.
  • We test your customizations against the next ERPNext version before you upgrade.
The deal

What you get, every time

The same six things ship with every customization, whether it's one field or a full app.

A scoped estimate first

Written scope, effort and cost per item before anything is built. No open-ended hours, no surprise invoices.

One namespaced app

Everything we build sits in a single, clearly named app — never scattered across the core. Easy to audit, easy to switch off.

Upgrade compatibility check

Your customizations are tested against the next ERPNext release before you move to it, so upgrades stay boring.

Print formats and reports

The output your team actually looks at every day — not just a changed data model behind the scenes.

Handover and training

Your admin learns what changed, where it lives and why, so small edits don't need a support ticket.

One place to raise issues

A single ticket queue with a named person on our side. Zero escalations to Frappe till date — and we intend to keep it that way.

Before you ask

Questions we get every week

Will customization break my next ERPNext upgrade?

Not if it's built correctly. We never edit core ERPNext or Frappe files — customization lives in configuration or in your own app, using the extension points Frappe provides. Before you upgrade, we run your customizations against the new version and fix anything that drifted.

How is customization priced?

Every requirement is scoped and estimated in writing before work starts, so you approve a number rather than watching a clock. Larger programmes can run on a retainer instead. See pricing.

We're already live with customizations from another vendor. Can you take over?

Yes, and it's a common way clients start with us. We audit what exists, flag anything that touches core files or blocks upgrades, and give you a prioritised plan to clean it up before adding anything new.

Do you customize the Frappe framework itself, or only ERPNext?

Both. We've built at framework level since 2017 — custom doctypes, portals, mobile apps and standalone Frappe products — as well as inside every standard ERPNext module.

How long does a typical customization take?

It depends on which rung it lands on. Configuration work is usually days; scripting is days to weeks; a custom app is scoped as its own small project. The estimate you approve includes the timeline.

Start with your process.

Walk us through the part of your business ERPNext doesn't handle today. We'll map it against the standard product, show you which rung it lands on, and send a written scope and estimate before any work begins.

Or write to sales@greycube.in