-
Notifications
You must be signed in to change notification settings - Fork 9.9k
refactor: Workspace sidebars and desktop icons for erpnext modules #50492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Workspace sidebars and desktop icons for erpnext modules #50492
Conversation
📝 WalkthroughWalkthroughReplaces erpnext/accounts/workspace/accounting/accounting.json (adds Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Nitpick comments (3)
erpnext/workspace_sidebar/subscription.json (1)
9-72: Missing icon properties on sidebar items for consistency.Unlike other workspace sidebars in this PR (e.g., projects.json, selling.json), items in the Subscription sidebar lack
iconproperties. While this may be intentional, consider adding icons to match the UX pattern of other modules for visual consistency.erpnext/workspace_sidebar/share_management.json (1)
6-6: Empty header_icon field.The
header_iconis an empty string. Define an appropriate icon for the Share Management workspace (e.g., "share" or similar) to improve UI consistency and discoverability.erpnext/workspace_sidebar/selling.json (1)
608-628: Masters section has empty icon; verify if intentional.Line 613 shows
"icon": ""for the Masters section break. While this may be intentional (section breaks typically don't need icons), confirm if an icon should be added for visual consistency with the Home section (line 15, icon: "home") and Settings section (line 899, icon: "settings").
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (24)
erpnext/accounts/workspace/accounting/accounting.json(3 hunks)erpnext/desktop_icon/accounts.json(1 hunks)erpnext/desktop_icon/banking.json(1 hunks)erpnext/desktop_icon/budget.json(1 hunks)erpnext/desktop_icon/financial_reports.json(1 hunks)erpnext/desktop_icon/opening_&_closing.json(1 hunks)erpnext/desktop_icon/subscription.json(1 hunks)erpnext/desktop_icon/taxes.json(1 hunks)erpnext/report_center/accounting.json(1 hunks)erpnext/workspace_sidebar/accounting.json(1 hunks)erpnext/workspace_sidebar/assets.json(1 hunks)erpnext/workspace_sidebar/banking.json(1 hunks)erpnext/workspace_sidebar/budget.json(1 hunks)erpnext/workspace_sidebar/crm.json(1 hunks)erpnext/workspace_sidebar/financial_reports.json(1 hunks)erpnext/workspace_sidebar/manufacturing.json(1 hunks)erpnext/workspace_sidebar/opening_&_closing.json(1 hunks)erpnext/workspace_sidebar/projects.json(1 hunks)erpnext/workspace_sidebar/quality.json(1 hunks)erpnext/workspace_sidebar/selling.json(1 hunks)erpnext/workspace_sidebar/share_management.json(1 hunks)erpnext/workspace_sidebar/subscription.json(1 hunks)erpnext/workspace_sidebar/support.json(1 hunks)erpnext/workspace_sidebar/taxes.json(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
- GitHub Check: Patch Test
- GitHub Check: Python Unit Tests (2)
- GitHub Check: Python Unit Tests (4)
- GitHub Check: Python Unit Tests (1)
- GitHub Check: Python Unit Tests (3)
- GitHub Check: Summary
🔇 Additional comments (22)
erpnext/report_center/accounting.json (1)
1-70: LGTM!Report Center configuration is well-structured with properly linked accounting reports (Sales Register, Item-wise Sales Register, Purchase Register, Item-wise Purchase Register). All metadata and references are consistent and complete.
erpnext/desktop_icon/budget.json (1)
1-20: LGTM!Desktop Icon configuration for Budget is complete with all required fields (icon, link_type, parent grouping). Properly grouped under "Accounts" parent icon.
erpnext/desktop_icon/financial_reports.json (1)
1-20: LGTM!Desktop Icon correctly targets a Workspace (Financial Reports) rather than a DocType, with all required fields present. Consistent with configuration pattern.
erpnext/desktop_icon/subscription.json (1)
1-20: LGTM!Desktop Icon configuration for Subscription is complete with all required fields and properly grouped under "Accounts".
erpnext/workspace_sidebar/budget.json (1)
1-141: LGTM!Workspace Sidebar configuration for Budget is well-structured with six properly linked items (Budget, Cost Center, Accounting Dimension, Cost Center Allocation, Budget Variance Report, Monthly Distribution). All metadata and parent references are consistent.
erpnext/desktop_icon/banking.json (1)
1-19: LGTM!Desktop Icon configuration for Banking is complete with all required fields including icon. Properly links to "Bank Reconciliation Tool" and grouped under "Accounts".
erpnext/workspace_sidebar/opening_&_closing.json (1)
1-125: LGTM!Workspace Sidebar configuration for Opening & Closing is well-structured with five properly linked items (Chart of Accounts Importer, Opening Invoice Creation Tool, Accounting Period, Exchange Rate Revaluation, Period Closing Voucher). All metadata and parent references are consistent and complete.
erpnext/workspace_sidebar/subscription.json (1)
6-6: Verify header_icon for Subscription workspace.The
header_iconis set to "accounting", but this is a Subscription workspace. This may be incorrect or intentional. Confirm that "accounting" is the intended icon for the Subscription module.erpnext/workspace_sidebar/projects.json (1)
1-149: Well-structured Projects workspace sidebar.The Projects workspace sidebar is well-organized with appropriate section breaks, semantically correct icons, and a mix of DocType and Report links. Verify that all referenced DocTypes (Project, Task, Timesheet) and Reports (Project Summary) exist in the codebase.
erpnext/workspace_sidebar/share_management.json (1)
9-93: All items marked with child=1; verify structure semantics.All four items in the Share Management sidebar have
child: 1. Confirm that this is the correct structure—typically,childdifferentiates hierarchy levels, and all items beingchild: 1may indicate missing parent/grouping items or an unusual hierarchy structure.erpnext/desktop_icon/accounts.json (1)
9-10: Desktop Icon for Accounts missing link_to or may have incorrect link_type.The Accounts desktop icon has
link_type: "DocType"but nolink_tofield. Accounts typically refers to a Workspace or dashboard. Verify:
- If a
link_tofield should be added (e.g., "Accounts" Workspace or a primary DocType)- If
link_typeshould be "Workspace" instead of "DocType"This may be intentional, but the configuration appears incomplete or unusual compared to other Desktop Icons.
erpnext/desktop_icon/taxes.json (1)
1-19: Taxes desktop icon structure is valid.The Taxes desktop icon is well-formed with proper hierarchy (parent_icon="Accounts"), valid link_to reference ("Item Tax Template"), and appropriate icon_type. Verify that the "Item Tax Template" DocType exists and that the Accounts desktop icon is properly defined (required for parent_icon reference).
erpnext/workspace_sidebar/manufacturing.json (1)
1-811: Manufacturing workspace sidebar is comprehensive and well-structured.The Manufacturing workspace sidebar demonstrates excellent organization with 36 items grouped into logical sections (Home, Material Planning, Tools, Reports, Setup). Sections use proper
keep_closedflags, icons are semantically appropriate, and the mix of DocTypes, Reports, Dashboards, and Pages is sensible. Verify that all referenced items (e.g., "Exponential Smoothing Forecasting" Report, "bom-comparison-tool" Page, Manufacturing Settings DocType) exist in the codebase.erpnext/workspace_sidebar/taxes.json (1)
1-169: Taxes workspace sidebar has simple, consistent structure.The Taxes sidebar is straightforward with seven flat links to tax-related DocTypes. The header_icon ("money-coins-1") is semantically appropriate. All items follow consistent patterns (no icons, show_arrow=0, collapsible=1). Verify that all DocType references exist, especially "Sales Taxes and Charges" and "Purchase Taxes and Charges Template".
erpnext/workspace_sidebar/selling.json (1)
1-922: Selling workspace sidebar is comprehensive and well-organized.The Selling sidebar provides excellent coverage with 41 items organized into logical sections (Home, Item and Pricing, Reports, Masters, Settings). Sections use proper
keep_closedflags, most items have semantically appropriate icons, and the mix of Dashboards, DocTypes, and Reports is well-balanced. Verify that all referenced DocTypes (e.g., "Product Bundle", "UTM Source", "Terms and Conditions"), Reports (e.g., "Sales Analytics", "Pending SO Items For Purchase Request"), and Dashboards ("Selling") exist in the codebase.erpnext/workspace_sidebar/banking.json (1)
1-211: LGTM — Banking workspace sidebar structure is sound.The Banking sidebar is well-organized with proper section breaks and consistent metadata. The hierarchy between main items (child: 0) and subsection items under Dunning (child: 1, with parent "Banking" maintained) follows the expected pattern.
erpnext/workspace_sidebar/crm.json (1)
1-977: LGTM — CRM workspace sidebar is comprehensive and well-organized.The CRM sidebar with 44 items is properly structured with clear section hierarchies. All section breaks use
keep_closed: 1where appropriate, and child field values correctly indicate section membership. The "Lead Source" item intentionally maps to "UTM Source" DocType for semantic clarity, which is acceptable UI organization.erpnext/accounts/workspace/accounting/accounting.json (1)
2-621: LGTM — Accounting workspace metadata updated correctly.The changes to the Accounting workspace are appropriate: adding
"app": "erpnext"and"type": "Workspace"standardizes the workspace manifest, and clearing the"shortcuts"array is intentional as the workspace uses the"content"field for its layout definition. The timestamp reflects the update date.erpnext/workspace_sidebar/support.json (1)
1-427: LGTM — Support workspace sidebar is well-organized.The 19-item Support sidebar properly structures items into logical sections (Issues, Maintenance, Service Level Agreement, Warranty, Settings, Reports) with consistent hierarchy markers. Intentional duplication of items (e.g., "Issue" in both top-level and Issues section) provides both quick access and organized navigation.
erpnext/workspace_sidebar/quality.json (1)
1-429: LGTM — Quality workspace sidebar is logically structured.The Quality sidebar with 19 items is well-organized into semantic sections (Goal and Procedure, Feedback, Meeting, Review and Action) with consistent hierarchy. Intentional duplication of core items at the top level and within sections provides navigation flexibility.
erpnext/workspace_sidebar/accounting.json (1)
1-763: Accounting workspace sidebar structure is sound.The Accounting sidebar with 34 items is well-organized across 5 functional sections (Receivables, Payables, Payments, Reports, Setup) with consistent hierarchy. The structure provides appropriate navigation for core accounting workflows. Note the typo in the Payment Reconciliation label (line 350).
erpnext/workspace_sidebar/financial_reports.json (1)
1-517: LGTM — Financial Reports workspace sidebar is comprehensive.The Financial Reports sidebar with 23 items provides a well-organized catalog of financial reports across 4 sections (Financial Statements, Ledgers, Profitability, Other Reports). Section-level
keep_closedvalues are intentionally varied: Financial Statements and Ledgers start expanded, while Profitability and Other Reports start collapsed. All links correctly target Report type items.
31ddc9c to
a7e30bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (24)
erpnext/accounts/workspace/accounting/accounting.json(3 hunks)erpnext/desktop_icon/accounts.json(1 hunks)erpnext/desktop_icon/banking.json(1 hunks)erpnext/desktop_icon/budget.json(1 hunks)erpnext/desktop_icon/financial_reports.json(1 hunks)erpnext/desktop_icon/opening_&_closing.json(1 hunks)erpnext/desktop_icon/subscription.json(1 hunks)erpnext/desktop_icon/taxes.json(1 hunks)erpnext/report_center/accounting.json(1 hunks)erpnext/workspace_sidebar/accounting.json(1 hunks)erpnext/workspace_sidebar/assets.json(1 hunks)erpnext/workspace_sidebar/banking.json(1 hunks)erpnext/workspace_sidebar/budget.json(1 hunks)erpnext/workspace_sidebar/crm.json(1 hunks)erpnext/workspace_sidebar/financial_reports.json(1 hunks)erpnext/workspace_sidebar/manufacturing.json(1 hunks)erpnext/workspace_sidebar/opening_&_closing.json(1 hunks)erpnext/workspace_sidebar/projects.json(1 hunks)erpnext/workspace_sidebar/quality.json(1 hunks)erpnext/workspace_sidebar/selling.json(1 hunks)erpnext/workspace_sidebar/share_management.json(1 hunks)erpnext/workspace_sidebar/subscription.json(1 hunks)erpnext/workspace_sidebar/support.json(1 hunks)erpnext/workspace_sidebar/taxes.json(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- erpnext/desktop_icon/subscription.json
- erpnext/workspace_sidebar/crm.json
🚧 Files skipped from review as they are similar to previous changes (16)
- erpnext/workspace_sidebar/assets.json
- erpnext/workspace_sidebar/opening_&_closing.json
- erpnext/accounts/workspace/accounting/accounting.json
- erpnext/workspace_sidebar/budget.json
- erpnext/workspace_sidebar/manufacturing.json
- erpnext/desktop_icon/accounts.json
- erpnext/desktop_icon/financial_reports.json
- erpnext/desktop_icon/opening_&_closing.json
- erpnext/workspace_sidebar/support.json
- erpnext/workspace_sidebar/accounting.json
- erpnext/workspace_sidebar/projects.json
- erpnext/workspace_sidebar/financial_reports.json
- erpnext/desktop_icon/budget.json
- erpnext/workspace_sidebar/subscription.json
- erpnext/workspace_sidebar/share_management.json
- erpnext/desktop_icon/taxes.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
- GitHub Check: linters
- GitHub Check: semgrep
- GitHub Check: Python Unit Tests (2)
- GitHub Check: Python Unit Tests (3)
- GitHub Check: Python Unit Tests (1)
- GitHub Check: Python Unit Tests (4)
- GitHub Check: Summary
🔇 Additional comments (7)
erpnext/report_center/accounting.json (1)
1-70: No issues found; all references verified.All four reports referenced in the file (Sales Register, Item-wise Sales Register, Purchase Register, Item-wise Purchase Register) are valid existing Report doctypes in ERPNext. The workspace sidebar "Accounting" is confirmed to exist in the PR at
erpnext/workspace_sidebar/accounting.json. The JSON structure is well-formed with correct parent-child relationships and all dependencies are present.erpnext/workspace_sidebar/taxes.json (1)
1-168: JSON structure and configuration are well-formed.The Workspace Sidebar configuration follows ERPNext patterns correctly: valid JSON, consistent metadata across all items, proper parent/child linkages (parenttype, parent, parentfield), correct doctype and link_type assignments, and appropriate UI configuration flags (collapsible, show_arrow, indent, keep_closed). All eight sidebar items are properly structured and reference valid tax-related ERPNext DocTypes (after confirming line 19).
erpnext/desktop_icon/banking.json (1)
1-19: Well-formed Desktop Icon configuration — all references valid.The JSON structure is complete with all required Frappe document metadata. Both referenced entities are confirmed to exist: "Accounts" is a valid Desktop Icon, and "Bank Reconciliation Tool" is a valid DocType at
erpnext/accounts/doctype/bank_reconciliation_tool/. The navigation hierarchy and properties are correctly configured.erpnext/workspace_sidebar/banking.json (1)
1-212: Workspace Sidebar configuration verified and approved.All referenced DocTypes and the Report exist in the codebase. The JSON structure is valid with proper hierarchy, consistent metadata, and correct nesting for the Dunning section.
erpnext/workspace_sidebar/quality.json (1)
1-429: All referenced DocTypes are valid and JSON structure conforms to ERPNext Workspace Sidebar standards.Verification confirms that this file is correctly structured:
All referenced DocTypes exist in the
quality_managementmodule: Quality Goal, Quality Procedure, Quality Inspection, Quality Review, Quality Action, Non Conformance, Quality Feedback, Quality Feedback Template, and Quality Meeting.The hierarchy structure using the
childfield (0 for root items, 1 for nested items under Section Breaks) aligns with ERPNext's Workspace Sidebar conventions.The organizational pattern—top-level quick-access links followed by organized sections with grouped child items—is standard practice in ERPNext workspaces for improving user navigation.
JSON syntax is valid and metadata consistency is maintained throughout.
erpnext/workspace_sidebar/selling.json (2)
590-606: ****The case sensitivity observed is correct and intentional. Verification confirms two distinct reports exist with different names: "Sales Partner Target Variance based on Item Group" (lowercase) and "Sales Person Target Variance Based On Item Group" (capitalized). The
link_tovalues in the workspace sidebar match their respective report definitions exactly, so links will function correctly without issues.Likely an incorrect or invalid review comment.
1-50: Fix broken sidebar references: 4 non-existent entities and 3 null link_to entries.Verification found multiple configuration errors that will cause navigation failures:
Missing entities (link_to values that don't exist in codebase):
- "Address" — no DocType found (only "Address And Contacts" Report exists; consider using that instead)
- "Contact" — not found in any doctype location
- "UTM Source" — no DocType or Report exists with this name
Structural errors (null link_to values):
- "Item and Pricing" entry has
link_to: null- "Masters" entry has
link_to: null- "Reports" entry has
link_to: nullUpdate the sidebar configuration to either remove these entries or provide valid link_to references that exist in the ERPNext codebase.
⛔ Skipped due to learnings
Learnt from: sagarvora Repo: frappe/erpnext PR: 50155 File: erpnext/controllers/accounts_controller.py:2992-3005 Timestamp: 2025-10-17T14:11:06.959Z Learning: In ERPNext, item child doctypes (like "Sales Invoice Item", "Delivery Note Item", etc.) have exactly one non-custom Link field that references their parent transaction doctype (like "Sales Order", "Purchase Order", etc.). This is a schema design pattern that can be relied upon when determining reference fields for mapping logic.
a7e30bd to
56e44cf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
♻️ Duplicate comments (2)
erpnext/workspace_sidebar/accounting.json (1)
343-364: Typo in Payment Reconciliation label (line 352).Line 352 contains "Payment Reconciliaition" which should be "Payment Reconciliation" (extra 'i' in middle). This is a user-facing text defect.
Apply this diff to correct the typo:
{ "child": 1, "collapsible": 1, "creation": "2025-10-26 21:53:46.303793", "docstatus": 0, "doctype": "Workspace Sidebar Item", "idx": 16, "indent": 0, "keep_closed": 0, - "label": "Payment Reconciliaition", + "label": "Payment Reconciliation", "link_to": "Payment Reconciliation", "link_type": "DocType", ... }erpnext/workspace_sidebar/assets.json (1)
403-426: Settings item in Assets sidebar links to wrong DocType and contains empty url field.Lines 414 and 425 have issues:
- Line 414:
"link_to": "Accounts Settings"appears to be a copy-paste error; should be"Asset Settings"or similar context-appropriate DocType.- Line 425:
"url": ""is an empty field inconsistent with other items and should be removed.Apply this diff to correct both issues:
{ "child": 1, "collapsible": 1, "creation": "2025-10-26 21:53:46.546717", "docstatus": 0, "doctype": "Workspace Sidebar Item", "icon": "settings", "idx": 19, "indent": 0, "keep_closed": 0, "label": "Settings", - "link_to": "Accounts Settings", + "link_to": "Asset Settings", "link_type": "DocType", "modified": "2025-11-12 15:56:06.376246", "modified_by": "Administrator", "name": "f84hnvfn6j", "owner": "Administrator", "parent": "Assets", "parentfield": "items", "parenttype": "Workspace Sidebar", "show_arrow": 0, - "type": "Link", - "url": "" + "type": "Link" }
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (36)
erpnext/accounts/workspace/accounting/accounting.json(3 hunks)erpnext/desktop_icon/accounting.json(1 hunks)erpnext/desktop_icon/accounts.json(1 hunks)erpnext/desktop_icon/banking.json(1 hunks)erpnext/desktop_icon/budget.json(1 hunks)erpnext/desktop_icon/buying.json(1 hunks)erpnext/desktop_icon/erpnext.json(1 hunks)erpnext/desktop_icon/financial_reports.json(1 hunks)erpnext/desktop_icon/manufacturing.json(1 hunks)erpnext/desktop_icon/opening_&_closing.json(1 hunks)erpnext/desktop_icon/selling.json(1 hunks)erpnext/desktop_icon/stock.json(1 hunks)erpnext/desktop_icon/subcontracting.json(1 hunks)erpnext/desktop_icon/subscription.json(1 hunks)erpnext/desktop_icon/taxes.json(1 hunks)erpnext/report_center/accounting.json(1 hunks)erpnext/workspace_sidebar/accounting.json(1 hunks)erpnext/workspace_sidebar/assets.json(1 hunks)erpnext/workspace_sidebar/banking.json(1 hunks)erpnext/workspace_sidebar/budget.json(1 hunks)erpnext/workspace_sidebar/buying.json(1 hunks)erpnext/workspace_sidebar/crm.json(1 hunks)erpnext/workspace_sidebar/financial_reports.json(1 hunks)erpnext/workspace_sidebar/home.json(1 hunks)erpnext/workspace_sidebar/manufacturing.json(1 hunks)erpnext/workspace_sidebar/opening_&_closing.json(1 hunks)erpnext/workspace_sidebar/projects.json(1 hunks)erpnext/workspace_sidebar/quality.json(1 hunks)erpnext/workspace_sidebar/receivables.json(1 hunks)erpnext/workspace_sidebar/selling.json(1 hunks)erpnext/workspace_sidebar/share_management.json(1 hunks)erpnext/workspace_sidebar/stock.json(1 hunks)erpnext/workspace_sidebar/subcontracting.json(1 hunks)erpnext/workspace_sidebar/subscription.json(1 hunks)erpnext/workspace_sidebar/support.json(1 hunks)erpnext/workspace_sidebar/taxes.json(1 hunks)
✅ Files skipped from review due to trivial changes (2)
- erpnext/workspace_sidebar/subcontracting.json
- erpnext/desktop_icon/accounting.json
🚧 Files skipped from review as they are similar to previous changes (16)
- erpnext/desktop_icon/budget.json
- erpnext/desktop_icon/subscription.json
- erpnext/workspace_sidebar/projects.json
- erpnext/workspace_sidebar/taxes.json
- erpnext/accounts/workspace/accounting/accounting.json
- erpnext/workspace_sidebar/opening_&_closing.json
- erpnext/workspace_sidebar/manufacturing.json
- erpnext/desktop_icon/banking.json
- erpnext/workspace_sidebar/subscription.json
- erpnext/report_center/accounting.json
- erpnext/workspace_sidebar/quality.json
- erpnext/workspace_sidebar/banking.json
- erpnext/workspace_sidebar/budget.json
- erpnext/workspace_sidebar/share_management.json
- erpnext/desktop_icon/accounts.json
- erpnext/desktop_icon/opening_&_closing.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-23T19:37:40.685Z
Learnt from: barredterra
Repo: frappe/erpnext PR: 49634
File: erpnext/selling/doctype/selling_settings/selling_settings.py:78-94
Timestamp: 2025-09-23T19:37:40.685Z
Learning: In erpnext/selling/doctype/selling_settings/selling_settings.py, the warning message in validate_fallback_to_default_price_list() intentionally states both settings are "in Stock Settings" even though fallback_to_default_price_list is actually in Selling Settings. This is a deliberate UX decision to guide users to the Stock Settings page where they need to go to resolve the conflicting auto_insert_price_list_rate_if_missing setting.
Applied to files:
erpnext/workspace_sidebar/assets.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
- GitHub Check: Patch Test
- GitHub Check: Python Unit Tests (4)
- GitHub Check: Python Unit Tests (1)
- GitHub Check: Python Unit Tests (3)
- GitHub Check: Python Unit Tests (2)
- GitHub Check: Summary
🔇 Additional comments (10)
erpnext/desktop_icon/manufacturing.json (1)
1-20: LGTM!The Desktop Icon structure is complete and correctly configured with all required fields. The entry properly links to the Manufacturing workspace.
erpnext/desktop_icon/stock.json (1)
1-20: LGTM!The Desktop Icon is properly configured with all required fields. The icon name "stock" is semantically appropriate for the Stock module.
erpnext/desktop_icon/subcontracting.json (1)
1-20: LGTM!The Desktop Icon is properly structured with all required fields and correctly links to the Subcontracting workspace.
erpnext/workspace_sidebar/receivables.json (1)
1-170: LGTM!The Workspace Sidebar is well-structured with all required fields and proper hierarchical relationships. The seven items provide good coverage of receivables-related documents and reports.
Note: Items at lines 15 and 37 both have
idx: 1—you may want to verify the idx sequence is intentional, as typically each item would have a unique incrementing index (1, 2, 3, etc.).erpnext/workspace_sidebar/crm.json (1)
1-977: LGTM!The CRM Workspace Sidebar is comprehensively structured with 44 well-organized items across six logical sections (Reports, Maintenance, Sales Pipeline, Settings, Campaign, Masters). The hierarchical organization using section breaks and proper parent-child relationships is clean and consistent. All links reference valid DocTypes, Reports, Pages, and Dashboards.
erpnext/workspace_sidebar/home.json (1)
1-126: LGTM!The Home Workspace Sidebar is well-designed with core entities (Home, Item, Customer, Supplier, Sales Invoice) that provide quick access to frequently-used DocTypes. All required fields are properly configured.
Note: Items at lines 15 and 37 both have
idx: 1—similar to the Receivables sidebar. Consider verifying that idx sequencing is intentional across all workspace sidebars in this PR (values should typically be 1, 2, 3, 4, 5... in incrementing order).erpnext/desktop_icon/buying.json (1)
1-20: LGTM!The Desktop Icon configuration is well-formed with all required fields properly populated. The linking to the "Buying" workspace is correctly configured with
link_type: "Workspace"andlink_to: "Buying". Standard metadata is consistent (owned by Administrator, docstatus 0, standard flag set to 1).erpnext/workspace_sidebar/financial_reports.json (3)
228-246: Clarify intentional use ofkeep_closed: 1on section breaks.The "Profitability" section break (lines 228–246) has
keep_closed: 1, unlike most other section breaks which default tokeep_closed: 0. Verify this is intentional—it will cause the section to be collapsed by default in the UI, affecting discoverability of reports under this section.
337-355: Verify the same for "Other Reports" section.The "Other Reports" section break also has
keep_closed: 1(line 344), matching the behavior of the "Profitability" section. Confirm this is the intended default state across all collapsed sections.
1-50: No issues found—all referenced reports exist and are valid.All 19 reports referenced in the Financial Reports workspace sidebar have been verified to exist as valid Report DocType fixtures in the codebase across the accounts, selling, and regional modules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (13)
erpnext/accounts/workspace/accounting/accounting.json(3 hunks)erpnext/desktop_icon/assets.json(1 hunks)erpnext/desktop_icon/crm.json(1 hunks)erpnext/desktop_icon/erpnext.json(1 hunks)erpnext/desktop_icon/subcontracting.json(1 hunks)erpnext/workspace_sidebar/accounting.json(1 hunks)erpnext/workspace_sidebar/assets.json(1 hunks)erpnext/workspace_sidebar/buying.json(1 hunks)erpnext/workspace_sidebar/crm.json(1 hunks)erpnext/workspace_sidebar/manufacturing.json(1 hunks)erpnext/workspace_sidebar/selling.json(1 hunks)erpnext/workspace_sidebar/stock.json(1 hunks)erpnext/workspace_sidebar/subcontracting.json(2 hunks)
✅ Files skipped from review due to trivial changes (1)
- erpnext/workspace_sidebar/manufacturing.json
🚧 Files skipped from review as they are similar to previous changes (3)
- erpnext/workspace_sidebar/accounting.json
- erpnext/workspace_sidebar/assets.json
- erpnext/workspace_sidebar/crm.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-17T14:11:06.959Z
Learnt from: sagarvora
Repo: frappe/erpnext PR: 50155
File: erpnext/controllers/accounts_controller.py:2992-3005
Timestamp: 2025-10-17T14:11:06.959Z
Learning: In ERPNext, item child doctypes (like "Sales Invoice Item", "Delivery Note Item", etc.) have exactly one non-custom Link field that references their parent transaction doctype (like "Sales Order", "Purchase Order", etc.). This is a schema design pattern that can be relied upon when determining reference fields for mapping logic.
Applied to files:
erpnext/workspace_sidebar/selling.jsonerpnext/workspace_sidebar/stock.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
- GitHub Check: Patch Test
- GitHub Check: Python Unit Tests (1)
- GitHub Check: Python Unit Tests (4)
- GitHub Check: Python Unit Tests (2)
- GitHub Check: Python Unit Tests (3)
- GitHub Check: Summary
🔇 Additional comments (11)
erpnext/accounts/workspace/accounting/accounting.json (3)
2-2: Metadata fields correctly standardized.The addition of
app,type, andtitlefields (lines 2, 620, 621) aligns with standard Frappe Workspace metadata structure and improves explicit documentation of workspace identity.
9-9: Content field refactored to streamlined layout.The
contentfield consolidates the workspace display to essentials: a Profit & Loss chart, four key number cards, and the Reports & Masters section with nine navigation cards. The embedded JSON string is properly escaped and references existing number_cards and charts arrays. The full navigation hierarchy is maintained in thelinksarray (594 items), so UX/navigation depth is preserved despite the simplified content presentation.
619-619: Shortcuts array cleared as part of workspace standardization.The
shortcutsfield has been emptied. This is consistent with the broader refactor goals (PR title mentions workspace sidebars and desktop icons standardization). Navigation depth is maintained through thelinksarray, new metadata fields (type,app), and related infrastructure files (desktop_icon, workspace_sidebar) referenced in the PR objectives. Verify this aligns with the new navigation/UX model for the refactored workspace system.erpnext/desktop_icon/assets.json (1)
1-20: All verification checks passed.The Workspace "Assets" is properly defined at
./erpnext/assets/workspace/assets/assets.json, and the Workspace Sidebar configuration at./erpnext/workspace_sidebar/assets.jsoncorrectly references it with"parent": "Assets". The Desktop Icon's reference vialink_type: "Workspace"andlink_to: "Assets"is valid. Theidxvalue of 8 is appropriate among the 16 total Desktop Icon files. Icon asset "assets" is consistently used throughout related configuration files.erpnext/workspace_sidebar/selling.json (1)
1-993: Comprehensive structure looks good for Selling workspace sidebar.Configuration file is well-formed JSON with proper hierarchical structure. All 44 items have required metadata fields, section breaks are properly defined without
link_to(which is correct), and idx values are unique and sequential. Parent/child/indent relationships are consistent throughout.erpnext/workspace_sidebar/stock.json (1)
1-511: Stock workspace sidebar structure is solid; past issue appears resolved.Configuration is valid JSON with consistent structure. The past review comment flagged a missing
link_tofor a URL-type item, but the current file shows properlink_tovalues for all link-type items. The emptylink_toat line 381 is correct for the Setup section break (type: "Section Break"). All 22 items are properly ordered with unique idx values.erpnext/workspace_sidebar/subcontracting.json (1)
1-380: Subcontracting workspace sidebar updates are structurally consistent.The modifications updating timestamps and module attribution to "Buying" are applied consistently. All 16 items maintain proper parent/child hierarchy with correct indent and idx values. Link types and targets are properly filled; Section Breaks correctly omit
link_tofields. The Settings link references "Buying Settings" which aligns with the module change.erpnext/desktop_icon/subcontracting.json (1)
1-20: Desktop Icon for Subcontracting is properly configured.New Desktop Icon entry is valid JSON with all required fields. It correctly points to the Subcontracting workspace, uses appropriate icon ("getting-started"), and is marked as standard (line 19). The simple, clean structure follows Desktop Icon best practices.
erpnext/workspace_sidebar/buying.json (1)
1-487: Buying workspace sidebar is well-structured; past duplicate idx issue is resolved.Configuration is valid with all 21 items properly ordered and indexed sequentially from 1–21. The previous duplicate
idxvalue (both items having idx=1) has been corrected: first item has idx=1 (line 16), second item has idx=2 (line 39). Section breaks are properly defined withoutlink_tofields. All link types and targets are correctly populated.erpnext/desktop_icon/erpnext.json (2)
12-12: Logo asset verified—no issues found.The referenced logo asset exists at
erpnext/public/images/erpnext-logo.svgand the URL mapping is correct. Theerpnext.jsonfile follows the established pattern of all other Desktop Icon fixtures in the codebase (all havedocstatus: 0withstandard: 1), confirming this is the intentional design for this document type.
4-4: No changes needed — docstatus is correct for Desktop Icon fixtures.All Desktop Icon fixtures in the codebase consistently use
docstatus: 0(draft state), which is the standard and correct approach for shipping fixture data. Settingdocstatus: 1directly in fixtures violates Frappe best practices. Theerpnext.jsonfile is properly aligned with all other Desktop Icon fixtures.
aed4b46 to
7d17dee
Compare
7d17dee to
fdbe7bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
erpnext/desktop_icon/erpnext.json(1 hunks)erpnext/desktop_icon/payables.json(1 hunks)erpnext/desktop_icon/projects.json(1 hunks)erpnext/desktop_icon/quality.json(1 hunks)erpnext/desktop_icon/receivables.json(1 hunks)erpnext/desktop_icon/settings.json(1 hunks)erpnext/desktop_icon/support.json(1 hunks)erpnext/workspace_sidebar/payables.json(1 hunks)erpnext/workspace_sidebar/receivables.json(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (7)
- erpnext/desktop_icon/support.json
- erpnext/desktop_icon/settings.json
- erpnext/desktop_icon/receivables.json
- erpnext/desktop_icon/quality.json
- erpnext/workspace_sidebar/receivables.json
- erpnext/desktop_icon/payables.json
- erpnext/desktop_icon/erpnext.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
- GitHub Check: Python Unit Tests (3)
- GitHub Check: Python Unit Tests (4)
- GitHub Check: Python Unit Tests (2)
- GitHub Check: Python Unit Tests (1)
- GitHub Check: Patch Test
- GitHub Check: Summary
🔇 Additional comments (1)
erpnext/workspace_sidebar/payables.json (1)
1-154: No issues found; review comment concerns are unfounded.The verification confirms that the
payables.jsonworkspace sidebar configuration is correct:
Icon Usage is Consistent: The "customer" icon at line 38 for Supplier and "liabilities" icon at line 61 for Purchase Invoice are used identically across all workspace_sidebar files (selling.json, buying.json, receivables.json, crm.json). These are not semantic mismatches but rather established patterns.
All Referenced Entities Exist: Supplier, Purchase Invoice, Payment Entry, Journal Entry are standard ERPNext DocTypes. Accounts Payable is a standard ERPNext Report. All are verified in the codebase through production code and demo data.
File Structure is Valid: The JSON structure follows Frappe conventions with proper metadata and hierarchy.
The original review comment's concerns about icon mismatches are incorrect—these icons are intentionally and consistently used across the codebase in the same manner.
Likely an incorrect or invalid review comment.



No description provided.