UPEO Academy

ERPNext lessons, straight from the field

Short, practical reads on accounts, stock, HR and payroll, implementation, security and development, drawn from real ERPNext deployments.

Administration, Reporting & Development4 min read

Kanban Boards in ERPNext: See Work Move Across Columns

Turn any ERPNext list with a Select field into a Kanban board, and know what really happens to the record when you drag a card.

Read article
Administration, Reporting & Development4 min read

bench console and execute: Inspect and Fix ERPNext Data Safely

Use bench console and bench execute to inspect ERPNext data and run one-off fixes, understand what commits and what rolls back, and work safely.

Read article
Administration, Reporting & Development3 min read

frappe.qb or frappe.db.sql? Querying Data the Frappe Way

Choose between frappe.get_list, frappe.get_all, frappe.qb and raw SQL in Frappe, with joins, aggregates and the permission rules each one follows.

Read article
Administration, Reporting & Development3 min read

Testing Your Frappe App: IntegrationTestCase and run-tests

Write tests for a Frappe app with IntegrationTestCase, run them with bench run-tests on a test site, and test the business rules that matter most.

Read article
Administration, Reporting & Development3 min read

Moving Customisations with Fixtures in Frappe and ERPNext

Ship custom fields, property setters, roles and client scripts with your Frappe app using fixtures or Export Customizations, and avoid overwrites.

Read article
Administration, Reporting & Development4 min read

Writing Patches in Frappe: Safe Data Migrations for Your App

Write Frappe patches that run once on every site during bench migrate: pre and post model sync, idempotent code, the Patch Log and safe re-runs.

Read article
Administration, Reporting & Development4 min read

Background Jobs in Frappe: Using frappe.enqueue Properly

Move slow work out of ERPNext requests with frappe.enqueue: choose the queue, avoid duplicate jobs, enqueue after commit, and find failed jobs.

Read article
Administration, Reporting & Development3 min read

ERPNext REST API: Resources, Whitelisted Methods and Tokens

Call the ERPNext REST API with token authentication, read and write documents through /api/resource, and write safe whitelisted methods for custom endpoints.

Read article
Administration, Reporting & Development4 min read

Client Scripts in ERPNext: Change Form Behaviour Safely

Write ERPNext Client Scripts that filter link fields, add buttons, react to field changes and child table edits, without confusing them with validation.

Read article
Administration, Reporting & Development4 min read

Server Scripts in ERPNext: Small Python Rules Without an App

Enable and write ERPNext Server Scripts for document events, scheduled tasks, API endpoints and permission rules, and know when to move to an app.

Read article
Administration, Reporting & Development4 min read

Frappe doc_events: Add Rules to ERPNext Without Editing It

Use doc_events in your app's hooks.py to run your own code when ERPNext documents are validated, submitted or cancelled, without touching ERPNext files.

Read article
Administration, Reporting & Development4 min read

Creating a DocType in Frappe: Fields, Naming and Controller

Create a DocType in your Frappe app: choose fields, naming and permissions, then add validation in the Python controller using the right lifecycle method.

Read article
📬

Get notified when we publish

One email when new articles are published, never more than one a day. Unsubscribe any time.

We send a confirmation email first. Privacy policy.