mirror of
https://github.com/frappe/erpnext.git
synced 2025-12-03 18:35:36 +00:00
Page:
Naming Guidelines
Pages
"Expense or Difference account is mandatory for [YOUR ITEM HERE] as it impacts overall stock value"
Adding Custom Form to Website
Agri Farm ERPNext
Agri Farm ERPNext Documentation
Agri Farm ERPNext Proposed Doc
Agri farm ERPNext PR git primer
AgriNext Mockups
Apache HTTP Settings for Mac OS
Bank Transaction Management : Feature Specification (v0.1)
Cascading Pull Requests
Code Editing Tools
Code Security Guidelines
Coding Standards
Community Contributions
Community Developed Custom Scripts
Community Release Manager
Contribution Guidelines
Contribution Issues
Country wise Chart of Accounts
Create User Stories
Delivery Note Modern Legacy Print Format
Delivery Note Spartan Legacy Print Format
Designing Integrations
Documentation To Do
E Commerce Features List
ERPNext Performance Tuning
ERPNext Release Note v8.1
ERPNext Upgrade to Version 5
ERPNext Version 8
ERPNext for Import Export Business( Logistics Module)
ERPNext for Non Profits
Export Custom field using export fixtures
Feature Suggestions
Form Design Guidelines
Future Development: Tracking Productivity
Guide to splitting modules from ERPNext
Home
How To Make Regional Contributions
How to Install ERPNext Version 3
How to contribute ERPNext documentation[WIP]
How to test a Pull Request
Hub Code Sprint
Improve Precision of Stock Valuation
Install ERPNext on Debian based systems
Install ERPNext on RedHat based systems
Integrating Emails in ERPNext
Issue Guidelines
Legacy Print Formats (Category)
Manufacturing Module Community
Migrating your erpnext instance to wsgi
Migration Guide To ERPNext Version 16
Migration Guide to ERPNext version 14
Migration Guide to ERPNext version 15
Model Design Guidelines
Module Maintainers
MySQL configuration file
Naming Guidelines
Page format for ERPNext docs
Preparing a Contribution Proposal
Project Module Community
Pull Request Checklist
Purchase Order Classic Legacy Print Format
Purchase Order Modern Legacy Print Format
Purchase Order Spartan Legacy Print Format
Quotation Classic Legacy Print Format
Quotation Modern Legacy Print Format
Quotation Spartan Legacy Print Format
Restoring From ERPNext Backup
Sales Invoice Classic Legacy Print Format
Sales Invoice Modern Legacy Print Format
Sales Invoice Spartan Legacy Print Format
Sales Order Classic Legacy Print Format
Sales Order Modern Legacy Print Format
Setting up Backup Manager
Setting up TLS SSL certificates Let's Encrypt for ERPNext sites
Some Useful Aliases
Standard Print Header Code
Standard Release Test Plan
Standard With Columns Print Format
Supported Versions
Test Checklists
Troubleshooting Guide Template
Ubuntu HA Cluster with lsyncd, remote MariaDB, Apache Reverse Proxy Setup Guide
Updating ERPNext Instance
VSCode Debugging for Frappe Python
Version 4 Permission Use Cases
Version 5 Release Notes
Version 7 Release Notes
Version 7.1 Release Notes
WSGI Production Deployment
[Specifications] Hash chaining of sales and payment transactions in ERPNext
_sidebar
school
Clone
6
Naming Guidelines
Rushabh Mehta edited this page 2023-12-21 15:02:17 +05:30
Table of Contents
Naming something is probably the most important decisions that you need to take as a user. Here are some guidelines will selecting names
"To change this rock into a jewel, you must change its true name. And to do that, my son, even to so small a scrap of the world, is to change the world" - Wizard of Earthsea
General Guidelines
- Naming should be something that is used in common language. There are legacy ERP systems that have a specific naming style, we should constantly keep away from those styles, going with a more simple naming style. Shopify is a great example of how to name things. For example, in legacy ERP systems, a Purchase Receipt is called as "Goods Receipt Note".
- Names should represent the essence of the concepts they represent and avoid accounting/management jargon.
- Names should be consistent with the rest of the system.
- No abbreviations. Use complete names as far as possible in both object and variable naming.
DocType naming
DocType names must be:
- Title Case
- Singular
- Names with multiple words should be separated by a space. Example "Sales Invoice"
- US English
- Child table names should be parent table names + the relation, for example, "Sales Order Item"
Field Naming
- Labels must be sentence case (except links)
- Link names must be same as the DocType they refer to (for example Link to "Employee" should be
employee) - Table field names must be plural and just be the relation, for example, field name for "Sales Order Item" should be
items - Field name must be the slugged version of the label ("First Name" must be
first_name) - Avoid descriptions. Labels must be as clear as possible.
- Use full names (not abbreviations)
Variable Naming
- Variables representing Document objects must be slugged versions of the DocType [example:
sales_order = frappe.get_doc('Sales Order', 'SO-0001')] - Variables representing names, should be suffixed with
_name[example:sales_order_name] - Child table in a loop can be
d[example:for d in sales_order.items] - Avoid using numbered variables, like
i1, i2etc. Use descriptive variables.
Note: Title Case means to capitalize every word except articles (a, an, the), coordinating conjunctions (and, or, but), and (short) prepositions (in, on, for, up, etc.).