Improve main menu structure
A discussion came up about changing the menu structure while considering renaming the menu item "Cash" to "Cash & Banking" about other changes to the menu structure.
This issue is to track these discussions. Legend ✅ = Approved, ❌ = Discarded, ⚠️ = Still in discussion
Proposed unordered changes for discussion:
- ✅ AR should be named Accounts Receivable. All of the other menu items are spelled out, so this improves consistency
- ✅ AP should be named Accounts Payable. All of the other menu items are spelled out, so this improves consistency
- ✅ HR should be named Human Resources. All of the other menu items are spelled out, so this improves consistency, but see below for removing HR completely.
- ✅ Reports -> Trial Balance, Income Statement, and Balance Sheet should be under General Journal -> Reports or the Reports menu item should be renamed because all LSMB reports in are NOT under this menu item. An alternative would be to move all reports here, but I think that is not as good as it is now.
- ✅ Reports -> Inventory and COGS should be under Goods and Services -> Reports (EH: we need a report explaining the "Inventory" account from a financial perspective, which then should be under General Journal, I think?)
- ⚠️ HR -> Employees should be moved to Contacts. I understand there used to be HR functionality and that it might come back, but let's handle that when or if it ever happens. Probably change the name to Payroll.
- ❌ If keeping HR then TimeCards should be under HR with Employees. And this would be a good reason to keep HR
- ❌ Rename AR to Sales. This is less technical and would make easier understanding for new users. It would also make LSMB seem less like an accounting system and more like an ERP or Sales system. Then it would also make sense to move Order Entry -> Sales Order and Order Entry -> Reports -> Sales Orders menu items to the new Sales menu.
- ❌ Rename AP to Purchases. This is less technical and would make easier understanding for new users. It would also make LSMB seem less like an accounting system and more like an ERP or Sales system. Then it would also make sense to move Order Entry -> Purchase Order and Order Entry -> Reports -> Purchase Orders to the new Purchases menu
- ✅ Rename Cash to Cash & Banking
Proposed unordered menu design rules (when approved will be moved to an ADR): 1. ✅ All menu and sub-menu names should pass English spellcheck. For example, "Pricegroups" and "Partsgroup" fail in the current menu structure. This rule would make both translations and understanding easier. 2. ⚠️ Except top level menu items, all other menu items should have at least 2 submenu items. For example HR -> Employees fails in the current menu structure. This rule reduces clicking. It is understood that submenus are used to reduce the total width in the menu, but this should be challenged as much as possible. 3. ✅ Submenu names should be unique and understandable under a main menu item. For example, currently there is AR -> Import Batch, there is also AR -> Vouchers -> Import AR Batch. This seems confusing. What is the difference between AR import batch and import AR batch. I can figure it out in that the latter is referring to vouchers. But it is still confusing. In this case it probably makes better sense to have all imports under AR -> Import, then AR Batch and Voucher Batch. 4. ✅ Use "&" in place of the term "and". This shortens the menu. 5. ✅ Menu organization must match permissions. Any changes to menu structure may require permission changes. This rule matches current, but is here as a reminder.
For reference here is the LSMB Current Menu Structure for 1.13-Dev as of 64df9510884ddd21891e05c5993e4d9242571ad3
Contacts
Search
Add Entity
Type of Business
SIC
AR
Add Transaction
Import Batch
Sales Invoice
Credit Note
Credit Invoice
Add Return
Search
Vouchers
AR Voucher
Invoice Voucher
Import AR Batch
Reports
Outstanding
AR Aging
Customer History
AP
Add Transaction
Import Batch
Vendor Invoice
Debit Note
Debit Invoice
Search
Vouchers
AP Voucher
Invoice Voucher
Import AP Batch
Reports
Outstanding
AP Aging
Vendor History
Cash
Receipt
Use AR Overpayment
Payment
Use Overpayment
Vouchers
Payments
Reverse Payment
Reverse Overpay
Receipts
Reverse Receipts
Reverse AR Overpay
Transfer
Reconciliation
Reports
Receipts
Payments
Reconciliation
Transaction Approval
Batches
Drafts
Reconciliation
Inventory
Budgets
Add Budget
Search
HR
Employees
Order Entry
Sales Order
Purchase Order
Reports
Sales Orders
Purchase Orders
Generate
Sales Orders
Purchase Orders
Combine
Sales Orders
Purchase Orders
Shipping
Ship
Receive
Transfer
Quotations
Quotation
RFQ
Reports
Quotations
RFQs
General Journal
Journal Entry
Import
Import Batch
Year End
Search
Chart of Accounts
Import Chart
GIFI
Goods and Services
Search
Add Part
Add Service
Add Assembly
Add Overhead
Search Groups
Add Group
Pricegroups
Warehouses
Stock Assembly
Reports
Inventory Activity
Translations
Description
Partsgroup
Import
Goods
Services
Overhead
Inventory
Enter Inventory
Time Cards
Search
Add Timecard
Import
Generate
Sales Orders
Translations
Description
Reports
Trial Balance
Income Statement
Balance Sheet
Inventory and COGS
Recurring Transactions
Transaction Templates
Tax Forms
Add Tax Form
List Tax Forms
Reports
Fixed Assets
Asset Classes
Add Class
List Classes
Assets
Add Assets
Search Assets
Import
Depreciate
Disposal
Reports
Net Book Value
Depreciation
Disposal
System
Currency
Edit Currency
Edit rate types
Edit rates
Taxes
Defaults
Sequences
Sessions
Reporting Units
Country
Language
Templates
Files
Users
Preferences
New Window
Logout
Note, AR/AP aren't even called that in many (English!) translations. It was driving me nuts the other day when my initially created Admin account had AR/AP, but my personal user account said "Sales" and "Purchases"! It turns out that if you set your language to Canadian English or British English, you get the latter. US English is even worse! It has "Sales" and "AR". To get AR/AP, you need to either not set the language (which means you can't change number or date formats), or set it to "English".
"Sales" and "Purchases" are wrong—not all Accounts Receivable are sales, and not all Accounts Payable are purchases. There may be some businesses where all receivables come from sales, but I'm having a very hard time thinking of a business that has only purchases for payables (e.g. Utilities, Rent, Professional Fees, Licensing are all non-purchase items).
Yes, this is more than an accounting system, but it is an accounting system (and that's all I want from it), there's nothing wrong with using the correct names for AR/AP. I really doubt that anybody is coming to this accounting system without an understanding of the meaning of Payables and Receivables. "Less technical" isn't even useful without the unwritten half of the "Running your Business…" book. If you don't have a basic understanding of bookkeeping, you'll really struggle to set up your business on LedgerSMB.
No, HR should not be "Employees"! My business has no employees! HR (Human Resources) is better, though I'd love to come up with an even more neutral term. As I noted in another recent issue, my company is a Canadian Not-for-profit. My "users" will be board members. It is illegal for a Not-for-profit's board members to be employees, and I'd prefer the software to not even use that term!
"Cash & Banking" is a definite improvement. I couldn't find the OFX import, because it has nothing to do with Cash…
Hi,
Was reading some of the Matrix chat on this, particularly around here: https://matrix.to/#/!qyoLumPqusaXqFJNyK:matrix.org/$174879576919309CbpYI:matrix.org?via=matrix.org&via=matrix.freelock.com&via=integrations.ems.host
I'm not sure I'm that keen on custom menus that might be different for different installations -- but what about duplicate menu items -- would it make sense to have a "Reports" menu with all reports, and then have duplicate links under the area for a specific report?
The other thing to consider while doing this are permissions. If we organize the menu around what we think are the various accounting roles, it seems like this is also where we should define groups of permissions to go along with those.
I'm not sure I'm that keen on custom menus that might be different for different installations
@freelock I don't think we meant to suggest this. The only customization that I considered is removing functionality that is not being used. @ehuelsmann said that this functionality is already present and is controlled by permissions.
The other thing to consider while doing this are permissions. If we organize the menu around what we think are the various accounting roles, it seems like this is also where we should define groups of permissions to go along with those.
I agree, and have added that to the menu rules. @freelock are there any permissions or groups of permissions that you think could be improved?
Note, AR/AP aren't even called that in many (English!) translations. It was driving me nuts the other day when my initially created Admin account had AR/AP, but my personal user account said "Sales" and "Purchases"! It turns out that if you set your language to Canadian English or British English, you get the latter. US English is even worse! It has "Sales" and "AR". To get AR/AP, you need to either not set the language (which means you can't change number or date formats), or set it to "English".
@auspex this seems like a bug to me, would you mind creating an issue for this?
- ⚠️ All menu and sub-menu names should pass English spellcheck. For example, "Pricegroups" and "Partsgroup" fail in the current menu structure. This rule would make both translations and understanding easier.
I think this is a good rule. Easy to check and clear on purpose.
4. ⚠️ Use "&" in place of the term "and". This shortens the menu.
This implies multiple functionalities below one menu item. Is that a good idea?
- ⚠️ AR should be named Accounts Receivable. All of the other menu items are spelled out, so this improves consistency
I like this one. The other one about renaming this item to sales probably isn't a good idea. Other questions: Should AR include receipts?
If we want to have a Sales menu, I think that would include quotes, orders and invoices. AR includes transactions, open item reports and receipts?
@neilt the permissions structure as it exists does not support breaking out for the roles I need. For example, I would like to have an AR role that allows project managers to generate invoices, attach contracts (PDF files), view anything in AR without having access to vendor information -- particularly files. Right now if a user can access files, they can access all files -- not just customer contracts, but also vendor/employee contracts.
There are other examples I don't recall.
The roles I'd like to see include:
- AR - access to customer info, invoices, ar transactions/reversals/etc, receipts, approve ar drafts
- AP - access to vendor info, purchase orders, payments, etc.
- Shipping -- access to invoices, sales orders, fulfillment actions
- Receiving -- access to purchase orders, etc
- Cash/bookkeeping -- receipts/payments/vouchers, GL, Reconcile
- Manager -- approve batches/drafts, add customer -specific pricing overrides, etc
- Products and services -- update descriptions, pricing, etc
- HR - user access
- External accountant - read-only access to all reports, journals, documents
I'm sure there's a few others -- but I'm thinking a dozen or so roles should encapsulate/replace the hundred or so individual permissions
- ⚠️ Use "&" in place of the term "and". This shortens the menu.
This implies multiple functionalities below one menu item. Is that a good idea?
Not sure it if is a good idea or not, that is why I included it. "and" seemed wordy and the only place in the menus that contained a conjunction. Maybe "-" would be better. As an American speaker "and" and "&" mean exactly the same thing. But that may not be true for others where English is a 2nd language.
- Goods and Services
- Goods & Services
- Good - Services
- Goods, Services
Probably not enough of an improvement to worry about.
Goods and Services
Goods & Services
Good - Services
Goods, Services
The last two don't make sense to me. I think the first two are fine. Probably the second is a bit better than the first, because the '&' makes it visually clear that there are 2 categories, not a sentence naming a single thing.
⚠️ AR should be named Accounts Receivable. All of the other menu items are spelled out, so this improves consistency
⚠️ AP should be named Accounts Payable. All of the other menu items are spelled out, so this improves consistency
⚠️ HR should be named Human Resources. All of the other menu items are spelled out, so this improves consistency, but see below for removing HR completely.
👍
⚠️ Reports -> Trial Balance, Income Statement, and Balance Sheet should be under General Journal -> Reports or the Reports menu item should be renamed because all LSMB reports in are NOT under this menu item. An alternative would be to move all reports here, but I think that is not as good as it is now.
⚠️ Reports -> Inventory and COGS should be under Goods and Services -> Reports
👍
"Cash & Banking" is a definite improvement. I couldn't find the OFX import, because it has nothing to do with Cash…
The reason bank account handling is under Cash is because money in a bank account is considered Cash. Quoting: https://www.thebalancemoney.com/what-is-cash-on-hand-5270170:
Cash on hand can include funds from various sources, such as actual cash, bank accounts, and liquid assets that can be easily converted into cash.
But if banking isn't recognized as cash by our target group, it's better to list that explicitly.
[...] but what about duplicate menu items -- would it make sense to have a "Reports" menu with all reports, and then have duplicate links under the area for a specific report?
Along this line of thinking: I've thought of having the option to collect the most-often used links in a "Favorites" menu on a per-user basis. Both your idea and the favorites are easier to implement if/when menu items are decoupled from the actual tree structure. Although duplicate items could also be done by simply inserting the same record with two different "parent" values, now that I think of it.
Having finally actually got to the point of importing my OFX file, I see that for LSMB, it is, indeed, entirely about Cash (or at least the bank account).
The last time I was managing the bookkeeping for a company (my sole proprietorship), I was importing OFX and matching the transactions against receivables and payables (I don't actually remember what I was using—could have been Quicken, QuickBooks, or GnuCash, but most likely the latter). You don't seem to be doing any of that.
I really like the favorites menu. And along that line, can we drop the Welcome page and replace it with those Favorites?
@freelock: I'm not sure I'm that keen on custom menus that might be different for different installations
I have a client who host a whole slew of books. They add a custom sub-menu with instructions for their users; these are links to their site with a manual and other instructions on the system. I'd hate to have to support that in the current system; however, with the declarative menu, this won't be a problem anymore.
@auspex The last time I was managing the bookkeeping for a company (my sole proprietorship), I was importing OFX and matching the transactions against receivables and payables (I don't actually remember what I was using—could have been Quicken, QuickBooks, or GnuCash, but most likely the latter). You don't seem to be doing any of that.
Actually, we do, but it's rather rudimentary. The decision tree visualizing the process is here: https://github.com/ledgersmb/LedgerSMB/wiki/Current-reconciliation-algorithm
5. ✅ Reports -> Inventory and COGS should be under Goods and Services -> Reports
@neilt We need a report explaining the "Inventory" account from a financial perspective, which then should be under General Journal, I think?
3. ✅ HR should be named Human Resources. All of the other menu items are spelled out, so this improves consistency, but see below for removing HR completely.
Not too fond of the HR menu item, because it has only 1 sub menu, but also because we don't actually do HR. Adding timecards under this item doesn't really improve the situation because it doesn't make this more HR.
Please have a look at #8850.
@neilt: after renaming "AP" to "Accounts Payable", I'm wondering why we need "AP Aging" under "Accounts Payable > Reports". Isn't that obvious from the higher levels? Can't we just call it "Aging"?
@auspex, @neilt : instead of renaming AR and AP to Sales and Purchases respectively, how about splitting Order Entry and Quotes over Sales and Purchases ?
Although I guess that if you take this from the perspective of a use who can only do Sales, this adds one (unnecessary) level of indirection, having to open the Sales menu...
Note, AR/AP aren't even called that in many (English!) translations. It was driving me nuts the other day when my initially created Admin account had AR/AP, but my personal user account said "Sales" and "Purchases"! It turns out that if you set your language to Canadian English or British English, you get the latter. US English is even worse! It has "Sales" and "AR". To get AR/AP, you need to either not set the language (which means you can't change number or date formats), or set it to "English".
@auspex the translations are made by contributors and editable through Transifex: https://app.transifex.com/ledgersmb/ledgersmb/dashboard/ -- feel free to edit what's there (I've removed the translations of Vendor and Customer as well as AR and AP), but possibly others remain).
@auspex, @neilt : instead of renaming AR and AP to Sales and Purchases respectively, how about splitting Order Entry and Quotes over Sales and Purchases ?
And separating invoices out of AR/AP into sales and purchases too...
And separating invoices out of AR/AP into sales and purchases too...
We're back to "not all AR is Sales and not all AP is purchases!" Please don't do that.
We're back to "not all AR is Sales and not all AP is purchases!" Please don't do that.
@auspex actually, the suggestion was meant to move Invoices to Sales/Purchases, but leave AR/AP Transactions in AR/AP (which would allowing the distinction between Sales: quotes, orders, invoices) and AR/AP (transactions, credit/debit notes, etc). The open items created by Sales would still be found under AR > Search (because they are receivables).
However, I wonder if we want these Sales and Purchases top level menus: for those who only have a sales role, it adds a single toplevel menu which doesn't add value: they will need to open that menu to find Quotes, Orders and Invoices... (which is all they are using?).
@neilt, thanks for driving this effort. We have a new menu structure, with the renames and all. Do you think that sufficiently addresses this PR? Do we need an ADR to describe the minimum requirements for (toplevel) menu items?
With 1.13 almost ready to go, I think this improvement plan is now done to the extent possible.