Skip to content

Conversation

@nabinhait
Copy link
Member

No description provided.

@github-actions github-actions bot added the skip-release-notes This PR should not be mentioned in the release notes label Nov 12, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 12, 2025

📝 Walkthrough

Walkthrough

Replaces erpnext/accounts/workspace/accounting/accounting.json (adds app, type, title; empties shortcuts; replaces content; updates modified) and adds many configuration-only JSON files under erpnext/desktop_icon, erpnext/workspace_sidebar, and erpnext/report_center (new Desktop Icon entries, Workspace Sidebars, and an Accounting Report Center). No executable code, functions, classes, or public API signatures were changed; all edits are data/configuration records.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Heterogeneous changes: one workspace content reshape plus many new sidebar and desktop icon records — requires per-file validation of links and schema.
  • Areas needing extra attention:
    • erpnext/accounts/workspace/accounting/accounting.json (new content structure, removed shortcuts, added app/type/title, timestamps)
    • erpnext/workspace_sidebar/*.json (parent/parenttype/parentfield consistency, idx ordering, section breaks and indentation)
    • erpnext/desktop_icon/*.json (correct link_to / link_type, parent_icon fields)
    • erpnext/report_center/accounting.json (report identifiers and link parentage)

Possibly related PRs

Suggested labels

accounts

Suggested reviewers

  • ruthra-kumar
  • mihir-kandoi

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author. The description field is empty, making it impossible to assess whether it relates to the changeset. Add a pull request description explaining the purpose and scope of the workspace sidebars and desktop icons refactoring to help reviewers understand the intent.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'refactor: Workspace sidebars and desktop icons for erpnext modules' clearly summarizes the main change in the changeset, which involves adding and organizing workspace sidebars and desktop icon configurations across multiple ERPNext modules.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 icon properties. 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_icon is 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4ba4aef and 31ddc9c.

📒 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_icon is 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, child differentiates hierarchy levels, and all items being child: 1 may 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 no link_to field. Accounts typically refers to a Workspace or dashboard. Verify:

  1. If a link_to field should be added (e.g., "Accounts" Workspace or a primary DocType)
  2. If link_type should 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_closed flags, 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_closed flags, 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: 1 where 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_closed values are intentionally varied: Financial Statements and Ledgers start expanded, while Profitability and Other Reports start collapsed. All links correctly target Report type items.

@rohitwaghchaure rohitwaghchaure force-pushed the erpnext-workspace-sidebars branch from 31ddc9c to a7e30bd Compare November 17, 2025 07:42
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 31ddc9c and a7e30bd.

📒 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:

  1. All referenced DocTypes exist in the quality_management module: Quality Goal, Quality Procedure, Quality Inspection, Quality Review, Quality Action, Non Conformance, Quality Feedback, Quality Feedback Template, and Quality Meeting.

  2. The hierarchy structure using the child field (0 for root items, 1 for nested items under Section Breaks) aligns with ERPNext's Workspace Sidebar conventions.

  3. 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.

  4. 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_to values 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: null

Update 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.

@rohitwaghchaure rohitwaghchaure force-pushed the erpnext-workspace-sidebars branch from a7e30bd to 56e44cf Compare November 17, 2025 08:25
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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:

  1. Line 414: "link_to": "Accounts Settings" appears to be a copy-paste error; should be "Asset Settings" or similar context-appropriate DocType.
  2. 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

📥 Commits

Reviewing files that changed from the base of the PR and between a7e30bd and 56e44cf.

📒 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" and link_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 of keep_closed: 1 on section breaks.

The "Profitability" section break (lines 228–246) has keep_closed: 1, unlike most other section breaks which default to keep_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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 56e44cf and 8ea5170.

📒 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.json
  • erpnext/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, and title fields (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 content field 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 the links array (594 items), so UX/navigation depth is preserved despite the simplified content presentation.


619-619: Shortcuts array cleared as part of workspace standardization.

The shortcuts field 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 the links array, 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.json correctly references it with "parent": "Assets". The Desktop Icon's reference via link_type: "Workspace" and link_to: "Assets" is valid. The idx value 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_to for a URL-type item, but the current file shows proper link_to values for all link-type items. The empty link_to at 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_to fields. 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 idx value (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 without link_to fields. 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.svg and the URL mapping is correct. The erpnext.json file follows the established pattern of all other Desktop Icon fixtures in the codebase (all have docstatus: 0 with standard: 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. Setting docstatus: 1 directly in fixtures violates Frappe best practices. The erpnext.json file is properly aligned with all other Desktop Icon fixtures.

@rohitwaghchaure rohitwaghchaure force-pushed the erpnext-workspace-sidebars branch from aed4b46 to 7d17dee Compare November 17, 2025 10:49
@rohitwaghchaure rohitwaghchaure force-pushed the erpnext-workspace-sidebars branch from 7d17dee to fdbe7bc Compare November 17, 2025 11:05
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between 7d17dee and fdbe7bc.

📒 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.json workspace sidebar configuration is correct:

  1. 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.

  2. 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.

  3. 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.

@rohitwaghchaure
Copy link
Collaborator

rohitwaghchaure commented Nov 17, 2025

After changes

image

Selling Module
image

Stock Module

image

@rohitwaghchaure rohitwaghchaure merged commit ec5849d into frappe:develop Nov 17, 2025
12 checks passed
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 2, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

skip-release-notes This PR should not be mentioned in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants