Skip to content

Add auto-generated system manual (13.x stable / 14.x next)#25

Open
muriloht wants to merge 1 commit into
idempiere:mainfrom
muriloht:auto-manual-versioned
Open

Add auto-generated system manual (13.x stable / 14.x next)#25
muriloht wants to merge 1 commit into
idempiere:mainfrom
muriloht:auto-manual-versioned

Conversation

@muriloht

@muriloht muriloht commented May 19, 2026

Copy link
Copy Markdown

Summary

Adds an auto-generated system manual with multi-version support to replace https://wiki.idempiere.org/en/Manual.

  • /manual/13.x stable (default)
  • /manual/next/14.x development
  • Pages per version, generated from iDempiere metadata
  • Slugs match idempiere-rest's TypeConverterUtils.slugify
  • Screenshots co-located with each MDX, versioned by Docusaurus automatically

Content produced by https://github.com/muriloht/idempiere-screenshot-runner.

You can check the Extension Management form, existing on next/14 version and not in stable/13:

image

Summary by CodeRabbit

Release Notes

  • Documentation
    • Added comprehensive manual documentation covering special forms, processes, reports, and info windows with descriptions, parameters, and usage guidance
    • Integrated manual documentation into the main navigation for easy access
    • Documented 100+ processes with parameter details, configuration options, and implementation guidance
    • Added reference documentation for 20+ reports and 20+ special forms with visual screenshots and field descriptions

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR establishes a comprehensive "Manual" documentation system for iDempiere by configuring a dedicated Docusaurus plugin, creating category structures, and populating 130+ reference pages documenting special forms, info windows, processes, and reports with metadata, usage descriptions, and class references.

Changes

Manual Documentation System

Layer / File(s) Summary
Docusaurus Configuration and Manual Plugin Setup
docusaurus.config.js
Registers a new @docusaurus/plugin-content-docs plugin with id: 'manual', maps documentation versioning (14.x (development) and 13.x), and adds a left-sidebar "Manual" navigation item pointing to manual/index.mdx.
Documentation Category Structure
manual/form/_category_.json, manual/info/_category_.json, manual/process/_category_.json, manual/report/_category_.json
Defines category configuration for Forms (position 1), Info Windows (position 2), Processes (position 3), and Reports (position 4), all marked as collapsed.
Special Forms Documentation
manual/form/*.mdx (23 pages)
Documents special forms including Archive Viewer, BOM operations (Viewer, Drop), payment handling (Allocation, Selection, Print/Export), workflow editor/activities, setup wizard, merge entities, performance indicators, plugin manager, product attributes, and others with frontmatter metadata, badges, usage descriptions, screenshots, and Java class references.
Info Windows Documentation
manual/info/*.mdx (4 pages)
Documents info windows for Generate Invoices, Generate Shipments, Period Control Management, and Support Users vs Roles with metadata, badges, date ranges, and embedded images.
Processes Documentation
manual/process/*.mdx (95+ pages)
Documents extensive process catalog including authorization, accounting reconciliation/reset, asset creation/delivery, bank/cash operations, business partner/role management, cost updates, database maintenance, document generation/validation, import/export, MFA registration, storage management, tenant operations, and workflow management, each with frontmatter, parameter tables, and implementation class references.
Reports Documentation
manual/report/*.mdx (13+ pages)
Documents reports for accounting facts (daily, details, period views), aging analysis, asset delivery, business partner details, cash flow, commissions, customer assets, and daily invoicing with parameter definitions and technical data mappings.
Manual Navigation Index
manual/index.mdx
Establishes hierarchical navigation organized into 12 major sections: System Admin, Application Dictionary, Partner Relations, Quote-to-Invoice Sales, Requisition-to-Invoice Purchasing, Returns, Open Items, Material Management and Pricing, Project Management, Performance Analysis and Accounting, Assets, and Manufacturing, with links to all documented forms, windows, processes, and reports.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • idempiere/idempiere.github.io#22: Adds the "Extension Management" manual form documentation page that overlaps in scope with new iDempiere feature documentation.

Poem

🐰 A manual fair, now organized with care,
Forms, windows, and processes laid bare,
One hundred pages of docs, structured right,
The iDempiere way shines ever bright! 📚✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Note

Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.

♻️ Duplicate comments (6)
manual/form/payment-allocation.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range is chronologically backwards.

The end date (02/01/2000) precedes the start date (09/01/2001). This should be corrected to show the proper chronological order.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/payment-allocation.mdx` at line 12, The date range in the
markdown line "*09/01/2001 → 02/01/2000*" is reversed; update that string so the
start date precedes the end date (for example change "09/01/2001 → 02/01/2000"
to the correct chronological order such as "02/01/2000 → 09/01/2001" or to the
intended dates), ensuring the corrected date-range text replaces the original
literal "*09/01/2001 → 02/01/2000*" in payment-allocation.mdx.
manual/form/payment-print-export.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range is chronologically backwards.

The end date (02/01/2000) precedes the start date (26/07/2001). This should be corrected to show the proper chronological order.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/payment-print-export.mdx` at line 12, The date range string
"*26/07/2001 → 02/01/2000*" is chronologically backwards; update that literal so
the earlier date comes first (e.g., replace "*26/07/2001 → 02/01/2000*" with
"*02/01/2000 → 26/07/2001*" or otherwise correct the end date) so the displayed
range in payment-print-export.mdx is in proper chronological order.
manual/form/workflow-editor.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Verify date range: end date precedes start date.

The date range shows 25/03/2004 → 02/01/2000, where the end date is chronologically before the start date. This is the third occurrence of 02/01/2000 as an end date, strongly suggesting a systematic issue with a default/placeholder value in the source metadata or generation logic.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/workflow-editor.mdx` at line 12, The displayed date range
"25/03/2004 → 02/01/2000" shows the end date '02/01/2000' being used as a stale
default/placeholder; locate where the content for workflow-editor.mdx (or the
metadata/generator that injects the date strings including '02/01/2000') is
produced and replace the placeholder with the correct end date or remove the
placeholder, and add a generation-time validation that ensures endDate >=
startDate (or swaps/clears the end date) so future outputs never show an end
date earlier than the start date.
manual/form/tree-maintenance.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Verify date range: end date precedes start date.

The date range shows 19/03/2004 → 02/01/2000, where the end date is chronologically before the start date. This appears to be the same data quality issue as in sql-process.mdx and suggests a systematic problem in the source metadata or generation script.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/tree-maintenance.mdx` at line 12, The date range "19/03/2004 →
02/01/2000" in the tree-maintenance page is invalid because the end date
precedes the start; locate the literal date token "19/03/2004 → 02/01/2000" in
the document and either correct the dates so the end is after the start or, if
this is generated, add validation to the generation script that emits this page
to verify start_date <= end_date (or swap them) and log/warn on invalid
metadata; update the source metadata entry that produced this range (the same
pattern seen in sql-process content) so future builds produce chronologically
correct ranges.
manual/process/reopen-order.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range is chronologically reversed.

The end date (02/01/2000) is before the start date (16/01/2004). This is the same issue as in recompile-db-objects.mdx and suggests invalid source data or a generation script bug.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/reopen-order.mdx` at line 12, The displayed date range
"*16/01/2004 → 02/01/2000*" is chronologically reversed; update the entry to a
valid chronological range (e.g., swap to "02/01/2000 → 16/01/2004" or replace
with the correct start/end dates from source data) and audit the generator or
source that produced this value (same issue seen in the
"recompile-db-objects.mdx" entries) to ensure future outputs do not flip
start/end dates.
manual/process/reopen-request.mdx (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range is chronologically reversed.

The end date (02/01/2000) is before the start date (10/01/2003). This is the same issue as in recompile-db-objects.mdx and reopen-order.mdx.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/reopen-request.mdx` at line 12, The date range in the markdown
line "*10/01/2003 → 02/01/2000*" is reversed; update the range so the earlier
date comes first (e.g., change the string in reopen-request.mdx from "10/01/2003
→ 02/01/2000" to "02/01/2000 → 10/01/2003" or to the correct chronological dates
consistent with reopen-order.mdx and recompile-db-objects.mdx) so the start date
is before the end date.
🟡 Minor comments (36)
manual/report/aging.mdx-19-23 (1)

19-23: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

HTML entities will render literally instead of as line breaks.

Lines 19-23 contain &lt;br&gt; HTML entities that will render as literal text rather than line breaks in MDX. Replace them with proper MDX formatting (blank lines) or JSX <br/> tags for correct rendering.

📝 Proposed fix
-**Comment/Help:** The aging report allows you to report on Open Items (Invoices). Select the aging buckets, you want to have in your report. If you select a currency, you get only invoices of that currency.
-If you fill the "Convert Amounts in Currency", all amounts will be converted in that currency. If you do not select a Statement Date, the system date is used to calculate the buckets. If you do not list the individual invoices, the Due Date is the earliest due date for the business partner and the Due Days are the average due days of all invoices.&lt;br&gt;
-&lt;br&gt;
-If you select an Account Date the report will generate the Aging as of that date. The report will exclude documents after the selected date.&lt;br&gt;
-&lt;br&gt;
-For example: A customer has one invoice for $100 with the Account Date of 03/31/08 and one payment for $100 with the Account Date of 05/01/08. The report will show the following balances based on the Account Date selected: 03/15/08= 0; 04/15/08=100; 05/15/08 = 0.
+**Comment/Help:** The aging report allows you to report on Open Items (Invoices). Select the aging buckets, you want to have in your report. If you select a currency, you get only invoices of that currency.
+If you fill the "Convert Amounts in Currency", all amounts will be converted in that currency. If you do not select a Statement Date, the system date is used to calculate the buckets. If you do not list the individual invoices, the Due Date is the earliest due date for the business partner and the Due Days are the average due days of all invoices.
+
+If you select an Account Date the report will generate the Aging as of that date. The report will exclude documents after the selected date.
+
+For example: A customer has one invoice for $100 with the Account Date of 03/31/08 and one payment for $100 with the Account Date of 05/01/08. The report will show the following balances based on the Account Date selected: 03/15/08= 0; 04/15/08=100; 05/15/08 = 0.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/report/aging.mdx` around lines 19 - 23, The MDX contains literal HTML
entities "&lt;br&gt;" that will render as text; open the aging.mdx content block
containing the paragraphs that include the "&lt;br&gt;" tokens (e.g., the lines
after "If you fill the \"Convert Amounts in Currency\"" and the "If you select
an Account Date..." sentence) and replace each "&lt;br&gt;" with proper MDX line
breaks (insert blank lines between paragraphs) or use self-closing JSX tags
"<br/>" where an inline break is required so the text renders correctly in MDX.
manual/report/accounting-fact-details.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range appears to be backwards.

The date range shows 09/01/2004 → 02/01/2000, where the end date is approximately 4 years before the start date. This is likely a data error. Please verify and correct the date range.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/report/accounting-fact-details.mdx` at line 12, The date range text
"09/01/2004 → 02/01/2000" in the document shows the end date earlier than the
start date; verify the intended start and end dates from the source data and
replace the incorrect string "09/01/2004 → 02/01/2000" with the correct
chronological range (e.g., "02/01/2000 → 09/01/2004" or the proper dates you
confirm) inside manual/report/accounting-fact-details.mdx so the displayed range
is in correct order.
manual/report/business-partner-detail.mdx-26-26 (1)

26-26: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix hyphenation in compound adjective.

The term "self service" should be hyphenated when used as a compound adjective: "self-service application functionality."

✏️ Proposed fix
-| EMail Address | Electronic Mail Address | The Email Address is the Electronic Mail ID for this User and should be fully qualified (e.g. joe.smith@company.com). The Email Address is used to access the self service application functionality from the web. | EMail<br/>String |
+| EMail Address | Electronic Mail Address | The Email Address is the Electronic Mail ID for this User and should be fully qualified (e.g. joe.smith@company.com). The Email Address is used to access the self-service application functionality from the web. | EMail<br/>String |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/report/business-partner-detail.mdx` at line 26, Update the table cell
containing the phrase "The Email Address is used to access the self service
application functionality from the web." to hyphenate the compound adjective so
it reads "self-service application functionality"; locate the row starting with
"EMail Address | Electronic Mail Address |" and replace "self service" with
"self-service" in that descriptive text.
manual/report/cash-flow-report.mdx-23-23 (1)

23-23: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix hyphenation in compound adjective.

The term "user defined" should be hyphenated when used as a compound adjective: "user-defined values."

✏️ Proposed fix
-| Account Element | Account Element | Account Elements can be natural accounts or user defined values. | C_ElementValue_ID<br/>Search |
+| Account Element | Account Element | Account Elements can be natural accounts or user-defined values. | C_ElementValue_ID<br/>Search |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/report/cash-flow-report.mdx` at line 23, Replace the unhyphenated
compound adjective in the table cell that reads "Account Elements can be natural
accounts or user defined values." with the hyphenated form "user-defined values"
so the sentence becomes "Account Elements can be natural accounts or
user-defined values."; update the string in the markdown row containing "Account
Element | Account Element | Account Elements can be natural accounts or user
defined values. | C_ElementValue_ID<br/>Search" accordingly.
manual/report/depreciation-expense-entry.mdx-8-17 (1)

8-17: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add Report Parameters section or clarify absence.

This file is missing the "Report Parameters" table present in 65+ other report documentation files. Either add the parameters table if the report accepts parameters, or add a note explaining that the report has no configurable parameters.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/report/depreciation-expense-entry.mdx` around lines 8 - 17, The
"Depreciation Expense Entry" report (ID 53109) documentation is missing the
standard "Report Parameters" section; either add the same parameters table used
across other report docs listing each parameter name, type, required/optional
and description, or if the report accepts no parameters, add a short note under
a "Report Parameters" heading stating "This report has no configurable
parameters." Ensure the heading text matches other files ("Report Parameters")
and place it before or after the Description so the page matches the project's
documentation convention.
manual/form/bom-drop.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix invalid date range.

The date range shows "30/12/2003 → 02/01/2000", which goes backward in time. The end date (2000) is before the start date (2003). This is likely a data error that should be corrected.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/bom-drop.mdx` at line 12, Replace the invalid backward date range
string "*30/12/2003 → 02/01/2000*" with a correct chronological range (e.g.,
update the end date to a date after 30/12/2003 or adjust the start date if
appropriate); locate the exact literal "*30/12/2003 → 02/01/2000*" in
manual/form/bom-drop.mdx and edit it so the end date is later than the start
date and matches the intended time span.
manual/form/import-file-loader.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix invalid date range.

The date range shows "15/09/2000 → 02/01/2000", which goes backward in time. The end date (January 2000) is before the start date (September 2000). This is likely a data error that should be corrected.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/import-file-loader.mdx` at line 12, The displayed date range
"*15/09/2000 → 02/01/2000*" is chronologically invalid; update that literal in
manual/form/import-file-loader.mdx so the end date is after the start date (for
example change the end to 02/01/2001 or adjust the start to match the intended
period) ensuring the final string reads a valid range like "15/09/2000 →
02/01/2001" or the correct dates from source data.
manual/form/matching-po-receipt-invoice.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix invalid date range.

The date range shows "08/02/2002 → 02/01/2000", which goes backward in time. The end date (2000) is before the start date (2002). This is likely a data error that should be corrected.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/matching-po-receipt-invoice.mdx` at line 12, The date range
string "*08/02/2002 → 02/01/2000*" is reversed (end date is earlier than start);
locate that exact markdown line and correct the dates so the end date is after
the start date (either swap them to "*02/01/2000 → 08/02/2002*" or update to the
intended correct values), ensuring the final string preserves the same
formatting and arrow "→".
manual/form/merge-entities.mdx-18-18 (1)

18-18: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Grammar error: "Please are aware" should be "Please be aware".

📝 Proposed fix
-**Comment/Help:** &lt;i&gt;Dangerous - Please are aware of what you are doing!&lt;/i&gt;
+**Comment/Help:** &lt;i&gt;Dangerous - Please be aware of what you are doing!&lt;/i&gt;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/merge-entities.mdx` at line 18, Replace the incorrect phrase
"Please are aware" in the Comment/Help text line that reads "**Comment/Help:**
<i>Dangerous - Please are aware of what you are doing!</i>" with the correct
phrase "Please be aware" so the sentence reads "**Comment/Help:** <i>Dangerous -
Please be aware of what you are doing!</i>" (update the literal string in
merge-entities.mdx).
manual/form/payment-selection-manual.mdx-18-18 (1)

18-18: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Typo: "nprocessed" should likely be "unprocessed".

The term "nprocessed" appears to be a typo. Based on context, this should be "unprocessed".

📝 Proposed fix
-**Comment/Help:** Select vendor invoices for payment. If you don't see an invoice, make sure that it is not included in a different (nprocessed) Payment Selection.
+**Comment/Help:** Select vendor invoices for payment. If you don't see an invoice, make sure that it is not included in a different (unprocessed) Payment Selection.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/payment-selection-manual.mdx` at line 18, Replace the typo
"nprocessed" with "unprocessed" in the payment selection help text so the
sentence reads "make sure that it is not included in a different (unprocessed)
Payment Selection"; locate the string in the payment-selection-manual content
where the comment/help text is defined and update that literal to the corrected
word.
manual/form/material-transactions.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix chronologically backwards date range.

The date range is backwards—02/01/2000 precedes 31/10/2000. Correct the order to 31/10/2000 → [end_date].

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/material-transactions.mdx` at line 12, Replace the backwards date
range string "*31/10/2000 → 02/01/2000*" so the end date is chronologically
after the start; update the end year to 2001 (i.e., change the text to
"*31/10/2000 → 02/01/2001*") in the manual/form/material-transactions.mdx
content.
manual/form/sql-process.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Date range error: end date precedes start date. The date range 18/04/2003 → 02/01/2000 in this file contains a backward date where the end date is chronologically before the start date. A review of the documentation codebase reveals this is a systematic issue affecting numerous MDX files, suggesting a data quality problem in the source metadata or generation script. This should be investigated and corrected across affected files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/form/sql-process.mdx` at line 12, The date range literal "18/04/2003 →
02/01/2000" is inverted (end before start); update the MDX content to a
chronological range (swap to "02/01/2000 → 18/04/2003" or the correct intended
dates) and then run a repo-wide search for the pattern '\d{2}/\d{2}/\d{4} →
\d{2}/\d{2}/\d{4}' to fix other occurrences; additionally add a validation step
in the documentation generation/metadata pipeline to detect and either
auto-correct or fail when a start date is after an end date so this data-quality
issue (in the source metadata or generator) cannot recur.
manual/info/support-users-vs-roles.mdx-11-11 (1)

11-11: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Confirm whether this single-day date range is intentional.

Within the manual/info/ directory, support-users-vs-roles.mdx is the only file with identical start and end dates (27/03/2019 → 27/03/2019). The other three info files in the directory have date ranges spanning months or years. If this represents a documentation date or metadata, verify it is correct or update it to match the actual date range of the content.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/info/support-users-vs-roles.mdx` at line 11, Locate the date metadata
string "*27/03/2019 → 27/03/2019*" in support-users-vs-roles.mdx and confirm
whether the identical start/end date is intentional; if it's incorrect, update
the metadata to the correct start and end dates (matching the actual content or
the date ranges used in the other info files) or, if it is intentional, add a
brief clarifying note next to the date to indicate it represents a single-day
publication/revision so reviewers understand it was not left unchanged by
mistake.
manual/process/business-partner-organization.mdx-18-19 (1)

18-19: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo: "ar" should be "or".

Line 19 contains a typo in the help text.

📝 Proposed fix
-**Comment/Help:** The process allows you to change or verify the organization ownership of Business Partners and its dependent entities (Location, Contact/User, Bank Account, Withholding). &lt;br&gt;
-Select either a Business Partner Group ar a specific Business Partner
+**Comment/Help:** The process allows you to change or verify the organization ownership of Business Partners and its dependent entities (Location, Contact/User, Bank Account, Withholding). &lt;br&gt;
+Select either a Business Partner Group or a specific Business Partner
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/business-partner-organization.mdx` around lines 18 - 19, The
help text contains a typo in the sentence "Select either a Business Partner
Group ar a specific Business Partner" — change "ar" to "or" so the line reads
"Select either a Business Partner Group or a specific Business Partner"; update
this string in the manual/process/business-partner-organization.mdx content.
manual/process/auto-allocation.mdx-19-19 (1)

19-19: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix spelling error: "imvoices" should be "invoices".

Line 19 contains a typo in the help text.

📝 Proposed fix
-The allocation is based on (1) payments entered with reference to invoices (2) payment selections (3) business partner balance (4) matching amount of invoice &amp; payment.  Allocation is based on exact amount and includes AP/AR imvoices/payments.&lt;br&gt;
+The allocation is based on (1) payments entered with reference to invoices (2) payment selections (3) business partner balance (4) matching amount of invoice &amp; payment.  Allocation is based on exact amount and includes AP/AR invoices/payments.&lt;br&gt;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/auto-allocation.mdx` at line 19, Fix the typo in the
documentation sentence that currently reads "AP/AR imvoices/payments" by
changing "imvoices" to "invoices" so the sentence reads "AP/AR
invoices/payments"; update the string in manual/process/auto-allocation.mdx
where the allocation description text contains "imvoices" to the corrected
spelling.
manual/process/complete-mfa-registration.mdx-24-27 (1)

24-27: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add missing parameter descriptions.

The parameter table has empty Description and Comment/Help fields for "MFA Registration" (line 24), "Validation Code" (line 25), and "Preferred" (line 27). Complete documentation should include descriptions for all parameters to help users understand their purpose.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/complete-mfa-registration.mdx` around lines 24 - 27, Add
missing descriptions and help comments for the three parameters: for "MFA
Registration" (MFA_Registration_ID) add a description explaining this is the
primary key linking the MFA registration record to a user and used to track
device/credential registrations; for "Validation Code" (MFAValidationCode) add a
description that this string contains the one-time code sent to or generated for
the user for verification and any expiry/format notes; for "Preferred"
(IsUserMFAPreferred) add a description stating this Yes-No flag marks whether
this MFA method is the user’s preferred/default method and is used during
authentication flows. Ensure each parameter's Comment/Help column contains a
concise usage note (e.g., when set, how it affects login/verification and
expiry/format for codes).
manual/process/copy-tenant.mdx-35-35 (1)

35-35: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo: "date" should be "data".

The description "Validate the date and do not process" should be "Validate the data and do not process" based on the context of the parameter.

📝 Proposed fix
-| Only Validate Data | Validate the date and do not process |  | IsValidateOnly<br/>Yes-No |
+| Only Validate Data | Validate the data and do not process |  | IsValidateOnly<br/>Yes-No |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/copy-tenant.mdx` at line 35, Fix the typo in the copy-tenant
docs: update the table cell that reads "Validate the date and do not process" to
"Validate the data and do not process" for the IsValidateOnly parameter (the
table entry containing "Only Validate Data" / "IsValidateOnly"). Ensure the
wording is changed exactly to “data” so the parameter description is accurate.
manual/process/create-ap-expense-invoices.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Verify the date range - end date precedes start date.

The date range shows "14/07/2002 → 02/01/2000", where the end date is before the start date. This appears to be a data error that should be corrected in the source metadata.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/create-ap-expense-invoices.mdx` at line 12, The date range
literal "*14/07/2002 → 02/01/2000*" in the create-ap-expense-invoices
documentation has the end date before the start date; fix the source metadata
that supplies this range by correcting the dates so start <= end (e.g., swap or
correct to the intended values), ensure the date format matches project
convention (ISO YYYY-MM-DD or DD/MM/YYYY as used elsewhere), and
rebuild/regenerate the docs so the corrected range replaces the erroneous
"*14/07/2002 → 02/01/2000*" string.
manual/process/convert-passwords-to-hashes.mdx-16-16 (1)

16-16: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add hyphen to compound adjective.

"one way hash" should be "one-way hash" when used as a compound adjective.

📝 Proposed fix
-**Description:** Convert existing plain text/encrypted user passwords to one way hash
+**Description:** Convert existing plain text/encrypted user passwords to one-way hash
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/convert-passwords-to-hashes.mdx` at line 16, Replace the
compound adjective "one way hash" with the hyphenated form "one-way hash" in the
document text (the phrase appearing in the Description line "Convert existing
plain text/encrypted user passwords to one way hash"); update that exact phrase
to "one-way hash" to correct the compound adjective usage.
manual/process/change-base-language.mdx-18-22 (1)

18-22: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Replace escaped HTML entities with proper line breaks.

The &lt;br&gt; entities will render as literal text instead of line breaks. Use <br/> tags or markdown double-space line breaks instead.

📝 Proposed fix
-**Comment/Help:** In order to enable en_US as a translation you can enable any other language as base language.&lt;br&gt;
-If you don't want to have a base language choose a language that won't be used for login.&lt;br&gt;
-If all languages are going to be used as login, create an xx_XX language not login and use it as base.&lt;br&gt;
-Please note that base language cannot be a system language.&lt;br&gt;
-After running this process you must close all sessions and login again.&lt;br&gt;
+**Comment/Help:** In order to enable en_US as a translation you can enable any other language as base language.<br/>
+If you don't want to have a base language choose a language that won't be used for login.<br/>
+If all languages are going to be used as login, create an xx_XX language not login and use it as base.<br/>
+Please note that base language cannot be a system language.<br/>
+After running this process you must close all sessions and login again.<br/>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/change-base-language.mdx` around lines 18 - 22, In the
"**Comment/Help:**" paragraph in manual/process/change-base-language.mdx replace
the escaped HTML entities "&lt;br&gt;" with actual line breaks—either use
self-closing HTML break tags ("<br/>") or Markdown line breaks (two spaces at
end of line) so they render correctly; update the paragraph containing the
sentences beginning "In order to enable en_US..." and ensure each intended
sentence break is implemented using the chosen break style rather than the
literal "&lt;br&gt;" text.
manual/process/create-update-table-partition.mdx-26-27 (1)

26-27: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add descriptions to parameters for improved clarity.

Both "Partitioning Method" and "Table Name" parameters lack descriptions and help text. Adding these would improve the documentation's usability and provide users with context about each parameter's purpose.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/create-update-table-partition.mdx` around lines 26 - 27, Add
brief descriptive help text for the two undocumented parameters in the table:
for "Partitioning Method" (type PartitioningMethod / List) explain what
partition strategies are supported and when to choose them (e.g., "Specifies how
data is partitioned across the table; choose by key, range, or hash depending on
query patterns"), and for "Table Name" (type TableName / String) indicate what
naming rules and scope apply (e.g., "Unique identifier for the table; used to
reference the table in queries and must follow naming conventions"). Update the
table cells corresponding to "Partitioning Method" and "Table Name" to include
these concise descriptions.
manual/process/generate-model.mdx-24-24 (1)

24-24: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Hyphenate compound adjective.

"comma separated" should be "comma-separated" when used as a compound adjective before a noun.

📝 Suggested fix
-| Table Like | You can use % or a comma separated list of table names enclosed within single quotes (case sensitive) | The DB Table Name indicates the name of the table in database. | TableLike<br/>String |
+| Table Like | You can use % or a comma-separated list of table names enclosed within single quotes (case sensitive) | The DB Table Name indicates the name of the table in database. | TableLike<br/>String |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/generate-model.mdx` at line 24, Update the documentation row
containing "Table Like" (the table cell text that currently reads "You can use %
or a comma separated list of table names enclosed within single quotes (case
sensitive)") to hyphenate the compound adjective: change "comma separated list"
to "comma-separated list" so the phrase reads "You can use % or a
comma-separated list of table names enclosed within single quotes (case
sensitive)"; ensure the change is applied where "TableLike" / "Table Like"
appears in the diff.
manual/process/generate-invoices.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix the backwards date range.

The date range 26/04/2000 → 02/01/2000 is invalid (end date precedes start date). This affects multiple documentation files across the repository, where 02/01/2000 appears as a recurring placeholder end date. These dates should be corrected to reflect actual documentation creation/update timestamps.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/generate-invoices.mdx` at line 12, Replace the backwards date
range "26/04/2000 → 02/01/2000" with a chronologically correct range by updating
the end date (the recurring placeholder "02/01/2000") to the actual
documentation update/creation timestamp or remove the end date if unknown;
search for occurrences of "→ 02/01/2000" across docs (including the exact string
"26/04/2000 → 02/01/2000") and update each instance so the end date is after the
start date or is replaced with the correct single date.
manual/process/issue-to-project.mdx-18-23 (1)

18-23: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix malformed HTML entity and replace with proper MDX syntax.

Line 21 contains a malformed HTML entity &lt;br&lt;- (missing closing >), and all the &lt;br&gt; entities should be proper JSX line breaks in MDX.

🐛 Proposed fix
 **Comment/Help:** Select a Project and either
-&lt;br&gt;- Material Receipt
-&lt;br&gt;- Expense Report
-&lt;br&lt;- Inventory Location and Project Line not issued yet
-&lt;br&gt;- Inventory Location, Product and Quantity
+<br />- Material Receipt
+<br />- Expense Report
+<br />- Inventory Location and Project Line not issued yet
+<br />- Inventory Location, Product and Quantity
 The default Movement Date is today's date.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/issue-to-project.mdx` around lines 18 - 23, Replace the
malformed HTML entity "&lt;br&lt;-" and all "&lt;br&gt;" occurrences with proper
MDX/JSX line breaks "<br />" so the bullet lines render correctly; specifically
update the fragment containing "**Comment/Help:** Select a Project and either"
so each list item becomes separated by a "<br />" (and ensure the dash before
"Material Receipt", "Expense Report", "Inventory Location and Project Line not
issued yet", and "Inventory Location, Product and Quantity" remains intact),
leaving the "The default Movement Date is today's date." sentence unchanged.
manual/process/product-organization.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct illogical date range.

The date range shows "23/12/2003 → 02/01/2000", where the end date (02/01/2000) is before the start date (23/12/2003). This is likely a data entry error.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/product-organization.mdx` at line 12, The date range line
containing the literal "*23/12/2003 → 02/01/2000*" is chronologically incorrect;
update the end date so it is after the start date (for example change
"02/01/2000" to the intended correct end date) or swap the two dates if they
were reversed. Edit the markdown line that contains "*23/12/2003 → 02/01/2000*"
in product-organization.mdx to reflect a valid chronological range.
manual/process/product-organization.mdx-19-19 (1)

19-19: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo in help text.

"ar" should be "or".

📝 Proposed fix
-Select either a Product Category ar a specific Product.
+Select either a Product Category or a specific Product.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/product-organization.mdx` at line 19, Fix the typo in the help
text string in the manual/process/product-organization.mdx content where "Select
either a Product Category ar a specific Product." appears; change "ar" to "or"
so the sentence reads "Select either a Product Category or a specific Product."
Ensure only that word is corrected and punctuation/spacing remains consistent.
manual/process/print-invoices.mdx-20-20 (1)

20-20: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typo in help text.

"widcard" should be "wildcard".

📝 Proposed fix
-Remark: If you only enter a Document No FROM value, all invoices greater or equal that document number are printed; you can alternatively use the % character as a widcard.
+Remark: If you only enter a Document No FROM value, all invoices greater or equal that document number are printed; you can alternatively use the % character as a wildcard.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/print-invoices.mdx` at line 20, Fix the typo in the help text:
replace "widcard" with "wildcard" in the string "Remark: If you only enter a
Document No FROM value, all invoices greater or equal that document number are
printed; you can alternatively use the % character as a widcard." inside the
print-invoices help content so the sentence reads "...% character as a
wildcard."
manual/process/quote-convert.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct illogical date range.

The date range shows "04/10/2003 → 02/01/2000", where the end date (02/01/2000) is before the start date (04/10/2003). This is likely a data entry error.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/quote-convert.mdx` at line 12, Replace the illogical date
range string "*04/10/2003 → 02/01/2000*" with a chronological range; update the
text to "*02/01/2000 → 04/10/2003*" (or the correct dates from the source of
truth) so the start date precedes the end date.
manual/process/migrate-storage-provider.mdx-22-22 (1)

22-22: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix typos in help text.

Two minor typos in the help text:

  • "Migate the archive files" should be "Migrate the archive files"
  • "image files" has an extra space and should be "image files"
📝 Proposed fix
-&lt;ul&gt;&lt;li&gt;&lt;b&gt;Tenant:&lt;/b&gt; Optional, select a tenant to migrate, when empty it will migrate all tenants with the Actual Storage Provider&lt;/li&gt;&lt;li&gt;&lt;b&gt;Actual Storage Provider:&lt;/b&gt; Alternatively, you can define here the storage provider to migrate&lt;/li&gt;&lt;li&gt;&lt;b&gt;Storage Provider:&lt;/b&gt; The new storage provider to migrate the files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Attachment:&lt;/b&gt; Migrate the attachment files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Archive:&lt;/b&gt; Migate the archive files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Image:&lt;/b&gt; Migrate the image  files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Data:&lt;/b&gt; When unchecked, just the storage provider is changed in tenant, but the files are not migrated (they can be migrated in a future execution of this same process)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Record ID Range:&lt;/b&gt; Optionally you can define a range of IDs for the records to migrate, so you can run this process in parallel to migrate the data&lt;/li&gt;&lt;li&gt;&lt;b&gt;Delete old/existing files:&lt;/b&gt; If enabled, when a file is migrated the program tries to free space deleting the file from the previous storage provider.  &lt;span style="color:`#ff0000`"&gt;Note that migrating from/to a DB storage provider is a destructive action that cannot be recovered, it implies deleting the old/existing files&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;
+&lt;ul&gt;&lt;li&gt;&lt;b&gt;Tenant:&lt;/b&gt; Optional, select a tenant to migrate, when empty it will migrate all tenants with the Actual Storage Provider&lt;/li&gt;&lt;li&gt;&lt;b&gt;Actual Storage Provider:&lt;/b&gt; Alternatively, you can define here the storage provider to migrate&lt;/li&gt;&lt;li&gt;&lt;b&gt;Storage Provider:&lt;/b&gt; The new storage provider to migrate the files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Attachment:&lt;/b&gt; Migrate the attachment files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Archive:&lt;/b&gt; Migrate the archive files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Image:&lt;/b&gt; Migrate the image files&lt;/li&gt;&lt;li&gt;&lt;b&gt;Migrate Data:&lt;/b&gt; When unchecked, just the storage provider is changed in tenant, but the files are not migrated (they can be migrated in a future execution of this same process)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Record ID Range:&lt;/b&gt; Optionally you can define a range of IDs for the records to migrate, so you can run this process in parallel to migrate the data&lt;/li&gt;&lt;li&gt;&lt;b&gt;Delete old/existing files:&lt;/b&gt; If enabled, when a file is migrated the program tries to free space deleting the file from the previous storage provider.  &lt;span style="color:`#ff0000`"&gt;Note that migrating from/to a DB storage provider is a destructive action that cannot be recovered, it implies deleting the old/existing files&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/migrate-storage-provider.mdx` at line 22, Fix two typos in the
help text list items: under the "Migrate Archive" bullet (the line containing
"Migate the archive files") correct "Migate" to "Migrate", and under the
"Migrate Image" bullet remove the extra space in "image  files" so it reads
"image files"; these edits are in the unordered list entries labeled "Migrate
Archive" and "Migrate Image" in the migrate-storage-provider.mdx content.
manual/process/recreate-storage-reservation.mdx-15-15 (1)

15-15: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix spelling error: "reservartion" → "reservation".

The word "reservartion" should be "reservation".

📝 Proposed fix
-**Comment/Help:** The process checks if there are errors in storage reservartion (storageqtyReserved &lt;&gt; orderqtyreserved), if there are, it recreates all the reservation records for the offending products.
+**Comment/Help:** The process checks if there are errors in storage reservation (storageqtyReserved &lt;&gt; orderqtyreserved), if there are, it recreates all the reservation records for the offending products.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/recreate-storage-reservation.mdx` at line 15, Fix the spelling
mistake in the documentation string that reads "storage reservartion
(storageqtyReserved <> orderqtyreserved)" by changing "reservartion" to
"reservation" so the sentence becomes "storage reservation (storageqtyReserved
<> orderqtyreserved)"; update any identical occurrences of "reservartion" in the
same file (manual/process/recreate-storage-reservation.mdx) to "reservation" to
keep wording consistent.
manual/process/request-email-processor.mdx-13-15 (1)

13-15: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add Description section for consistency.

This file lacks a Description: section between the image reference and the Classname:. Other process documentation files include this section to provide a brief summary of what the process does.

📝 Suggested addition
 ![Request EMail Processor](./img/request-email-processor.png)
 
+**Description:** Process incoming emails and create requests from them
+
 **Classname:** `org.compiere.process.RequestEMailProcessor`
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/request-email-processor.mdx` around lines 13 - 15, Add a
"Description:" section immediately after the image and before the
"**Classname:**" line in this documentation, providing a one- or two-sentence
summary of what the process org.compiere.process.RequestEMailProcessor does;
update the markdown near the existing image reference and the "**Classname:**
`org.compiere.process.RequestEMailProcessor`" entry so the new section follows
the same format used in other process docs.
manual/process/reprice-order-invoice.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

The Created/Updated date sequence is reversed.

The dates represent when the process was created (04/10/2003) and last updated (02/01/2000). Since the update date cannot precede the creation date, this is a data issue. The 02/01/2000 appears to be a placeholder or default value that was not properly set; this pattern affects multiple process documentation files.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/reprice-order-invoice.mdx` at line 12, The Created/Updated
date line "*04/10/2003 → 02/01/2000*" is backwards / contains a placeholder
update date; replace the incorrect "02/01/2000" with the correct last-updated
date (or remove the placeholder) so the updated date is not earlier than the
creation date "04/10/2003", and then search other process docs for the exact
placeholder "02/01/2000" and correct those occurrences to the appropriate
updated dates or clear the placeholder consistently.
manual/process/synchronize-print-format-based-on-report-view.mdx-21-21 (1)

21-21: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add description for the "Source" parameter.

The "Source" parameter has empty Description and Comment/Help fields, reducing the usefulness of this documentation.

If this is auto-generated content, consider updating the source metadata to include proper descriptions for this parameter.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/synchronize-print-format-based-on-report-view.mdx` at line 21,
The "Source" parameter row in the table currently has empty Description and
Comment/Help fields; update the documentation by adding a concise Description
and optional Comment/Help for the "Source" parameter (the table cell labeled
"Source" / "Source List") so readers understand its purpose and allowed values;
if the page is generated, locate and update the source metadata or schema that
provides the "Source" parameter's description (the generator field for "Source")
so regenerated docs include the new Description and Comment/Help.
manual/process/synchronize-print-format-based-on-report-view.mdx-1-5 (1)

1-5: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add description to frontmatter for consistency.

This file is missing the description field in the frontmatter, which is present in other process documentation files. Adding it improves metadata consistency and SEO.

📝 Proposed fix
 ---
 title: 'Synchronize Print Format based on Report View'
 sidebar_label: 'Synchronize Print Format based on Report View'
+description: 'Synchronize Print Format based on Report View'
 tags: ['Process']
 ---
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/synchronize-print-format-based-on-report-view.mdx` around
lines 1 - 5, Add a missing frontmatter "description" field to the top YAML block
next to the existing title and sidebar_label entries (in the same frontmatter
that contains title: 'Synchronize Print Format based on Report View' and
sidebar_label: 'Synchronize Print Format based on Report View'), e.g. add
description: 'Steps to synchronize a Print Format with a Report View, including
when to import, map fields, and update permissions.' or a concise equivalent to
match other process docs' metadata.
manual/process/unlink-business-partner-org.mdx-12-12 (1)

12-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Correct the invalid date range.

The date range shows "07/04/2004 → 02/01/2000", where the end date (02/01/2000) is before the start date (07/04/2004). This is logically impossible and indicates a data error.

🗓️ Suggested fix

The dates should be corrected to be in chronological order. Please verify the correct date range from the source metadata:

-*07/04/2004 → 02/01/2000*
+*02/01/2000 → 07/04/2004*

Or if the end date is incorrect, please update it to a valid date after the start date.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/unlink-business-partner-org.mdx` at line 12, The displayed
date range "07/04/2004 → 02/01/2000" is invalid because the end date precedes
the start date; locate the occurrence of that exact string in
manual/process/unlink-business-partner-org.mdx (the line showing the date range)
and correct it by replacing the end date with the proper chronologically later
date from the source metadata (or swap/update both dates if the start was wrong)
so the range is valid and in ascending order.
manual/process/verify-document-types.mdx-18-19 (1)

18-19: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

HTML entity may not render correctly in MDX.

The text contains &lt;br&gt; which appears as literal text rather than a line break. In MDX, you should either use an actual <br/> tag or a blank line for line breaks.

Since this appears to be auto-generated content, consider updating the generator to output proper MDX syntax instead of HTML entities.

✏️ Suggested fix
-**Comment/Help:** Makes sure that there is a DocumentType for all Document Base Types&lt;br&gt;
+**Comment/Help:** Makes sure that there is a DocumentType for all Document Base Types<br/>
 Creates missing Period Controls for Document Type (You may have to open them)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/verify-document-types.mdx` around lines 18 - 19, Replace the
literal HTML entity `&lt;br&gt;` in the MDX content (the "Comment/Help" block
that currently reads "Makes sure that there is a DocumentType for all Document
Base Types&lt;br&gt;") with proper MDX line breaks—either insert a blank line
between sentences or use a self-closing tag `<br/>`—and update the content
generator to emit real MDX syntax instead of HTML-escaped entities so future
generated docs do not contain `&lt;br&gt;`.


<span className="badge badge--primary">Process</span> <span className="badge badge--secondary">ID 186</span>

*14/07/2002 → 02/01/2000*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Find process files with backwards date ranges

# Search for date range patterns and extract for validation
rg -n '^\*\d{2}/\d{2}/\d{4} → \d{2}/\d{2}/\d{4}\*$' manual/process/ -A 0 | while IFS=: read -r file line content; do
  # Extract dates
  dates=$(echo "$content" | sed 's/\*//g')
  echo "$file:$line: $dates"
done

Repository: idempiere/idempiere.github.io

Length of output: 6159


🏁 Script executed:

cat -n manual/process/create-sales-orders-from-expense.mdx | head -30

Repository: idempiere/idempiere.github.io

Length of output: 1215


Date range is chronologically backwards and indicative of a systematic generation script bug.

The end date (02/01/2000) is approximately 2.5 years before the start date (14/07/2002). This is not an isolated issue—at least 15 other process files share the same invalid 02/01/2000 end date (e.g., warehouse-organization.mdx, reopen-order.mdx, product-organization.mdx, auto-allocation.mdx), indicating a bug in the documentation generation script rather than isolated data corruption in the source system. The generation script needs to be fixed to handle date field mapping correctly.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/create-sales-orders-from-expense.mdx` at line 12, The date
range "*14/07/2002 → 02/01/2000*" indicates the doc generator is mapping date
fields incorrectly; update the generation code (the date parsing/formatting
routine—look for functions like mapDateRange, formatDateRange, parseDate or
similar) to parse input as DD/MM/YYYY, produce Date objects, validate that end
>= start, and if not either swap the dates or skip/flag the range; also remove
any hard-coded fallback of "02/01/2000" and instead handle null/invalid dates
explicitly so generated files (e.g., the entries showing 14/07/2002 →
02/01/2000) are corrected.


<span className="badge badge--primary">Process</span> <span className="badge badge--secondary">ID 185</span>

*23/06/2002 → 02/01/2000*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Find all process MDX files with the suspicious date "02/01/2000"

rg -n "02/01/2000" manual/process/ --glob '*.mdx'

Repository: idempiere/idempiere.github.io

Length of output: 1043


Date range is chronologically reversed across multiple process documentation files.

The end date (02/01/2000) appears before the start date (23/06/2002) in this file and at least 13 others in manual/process/. The date "02/01/2000" is consistently used as an end date placeholder across all affected files, indicating corrupted or incomplete source data in the iDempiere metadata system. This requires fixing at the source (database or generation script) rather than individual file corrections.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/recompile-db-objects.mdx` at line 12, Multiple documents under
manual/process have reversed date ranges because the placeholder end date
"02/01/2000" from the iDempiere metadata/export generator overwrote real end
dates (example: in manual/process/recompile-db-objects.mdx the range reads
"23/06/2002 → 02/01/2000"); fix this in the source metadata or generation script
that emits files under manual/process (not by hand-editing each .mdx): locate
the iDempiere metadata table or export routine that supplies the end date (the
generator that writes manual/process/*.mdx), correct the logic so empty/unknown
end dates are null or use the proper end date format (or preserve original end
date), then re-run the documentation generation to regenerate the affected files
and verify ranges are chronological before committing.

Comment on lines +18 to +19
**Comment/Help:** Select the Interest Area to which subscribers you send the Mail Text from the User selected. Additionally, you can send mails to the Contacts of a Business Partner Group.&lt;br&gt;
The User to send emails from needs to have valid EMail information. If you don't select a user, the Mail is sent from the Tenant's Request Mail User.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Replace HTML entity-encoded line breaks with actual line breaks.

The &lt;br&gt; entities will render as literal text <br> instead of line breaks in the documentation. In MDX, use actual HTML tags or markdown formatting.

🔧 Proposed fix
-**Comment/Help:** Select the Interest Area to which subscribers you send the Mail Text from the User selected.  Additionally, you can send mails to the Contacts of a Business Partner Group.&lt;br&gt;
+**Comment/Help:** Select the Interest Area to which subscribers you send the Mail Text from the User selected.  Additionally, you can send mails to the Contacts of a Business Partner Group.<br/>
 The User to send emails from needs to have valid EMail information. If you don't select a user, the Mail is sent from the Tenant's Request Mail User.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Comment/Help:** Select the Interest Area to which subscribers you send the Mail Text from the User selected. Additionally, you can send mails to the Contacts of a Business Partner Group.&lt;br&gt;
The User to send emails from needs to have valid EMail information. If you don't select a user, the Mail is sent from the Tenant's Request Mail User.
**Comment/Help:** Select the Interest Area to which subscribers you send the Mail Text from the User selected. Additionally, you can send mails to the Contacts of a Business Partner Group.<br/>
The User to send emails from needs to have valid EMail information. If you don't select a user, the Mail is sent from the Tenant's Request Mail User.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/send-mail-text.mdx` around lines 18 - 19, Replace the HTML
entity-encoded line breaks "&lt;br&gt;" in the documentation text with real line
breaks or a proper HTML <br> tag so they render correctly; locate the string
"**Comment/Help:** Select the Interest Area... Group.&lt;br&gt;" in
send-mail-text.mdx and change "&lt;br&gt;" to an actual newline (or to "<br>" if
you prefer inline HTML) and ensure the surrounding sentences remain correctly
spaced.


| **Name** | **Description** | **Comment/Help** | **Technical Data** |
|---|---|---|---|
| Mail Template | Text templates for mailings | The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).&lt;br&gt;<br/>So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.&lt;br&gt;<br/>For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. | R_MailText_ID<br/>Table Direct |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Replace HTML entity-encoded line breaks with actual line breaks.

The &lt;br&gt; entities in the table cell will render as literal text instead of line breaks.

🔧 Proposed fix
-| Mail Template | Text templates for mailings | The Mail Template indicates the mail template for return messages. Mail text can include variables.  The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).&lt;br&gt;<br/>So, `@Name`@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.&lt;br&gt;<br/>For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. | R_MailText_ID<br/>Table Direct |
+| Mail Template | Text templates for mailings | The Mail Template indicates the mail template for return messages. Mail text can include variables.  The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br/><br/>So, `@Name`@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br/><br/>For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. | R_MailText_ID<br/>Table Direct |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Mail Template | Text templates for mailings | The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).&lt;br&gt;<br/>So, @Name@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.&lt;br&gt;<br/>For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. | R_MailText_ID<br/>Table Direct |
| Mail Template | Text templates for mailings | The Mail Template indicates the mail template for return messages. Mail text can include variables. The priority of parsing is User/Contact, Business Partner and then the underlying business object (like Request, Dunning, Workflow object).<br/><br/>So, `@Name`@ would resolve into the User name (if user is defined defined), then Business Partner name (if business partner is defined) and then the Name of the business object if it has a Name.<br/><br/>For Multi-Lingual systems, the template is translated based on the Business Partner's language selection. | R_MailText_ID<br/>Table Direct |
🧰 Tools
🪛 LanguageTool

[style] ~27-~27: It’s more common nowadays to write this noun as one word.
Context: ...;
So, @Name@ would resolve into the User name (if user is defined defined), then Busi...

(RECOMMENDED_COMPOUNDS)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/send-mail-text.mdx` at line 27, In the Mail Template table row
where the cell text contains the HTML entity-encoded line breaks ("&lt;br&gt;")
and the literal "<br/>", replace those tokens with real newline characters so
the text renders as multiple lines; edit the string in the table cell (the long
pipe-delimited cell starting with "The Mail Template indicates the mail template
for return messages...") to remove "&lt;br&gt;" and "<br/>" and insert actual
line breaks between the sentences so the content displays correctly.

Comment on lines +18 to +22
**Comment/Help:** This applies to the tenant defined document translations, e.g. for UoM, Payment Terms, Product Info, etc.&lt;br&gt;
&lt;br&gt;
If the current tenant has multi-lingual documents enabled, then the main record is copied to the tenant language (defined in Tenant window). BE CAREFUL as this option can potentially damage data you modified, it is recommended to take a backup and plan carefully what you're doing if this is the first time running this process.&lt;br&gt;
&lt;br&gt;
If the current tenant has not multi-lingual documents enabled, the translations for documents are synchronized with the main record (i.e. it copies the content of the main record to the translation records). This process is necessary when switching to a mono-lingual environment as there the terminology is maintained not in the translation records.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Replace HTML entity-encoded line breaks with actual line breaks.

The &lt;br&gt; entities will render as literal text <br> instead of line breaks, making the help text difficult to read.

🔧 Proposed fix
-**Comment/Help:** This applies to the tenant defined document translations, e.g. for UoM, Payment Terms, Product Info, etc.&lt;br&gt;
-&lt;br&gt;
-If the current tenant has multi-lingual documents enabled, then the main record is copied to the tenant language (defined in Tenant window).  BE CAREFUL as this option can potentially damage data you modified, it is recommended to take a backup and plan carefully what you're doing if this is the first time running this process.&lt;br&gt;
-&lt;br&gt;
+**Comment/Help:** This applies to the tenant defined document translations, e.g. for UoM, Payment Terms, Product Info, etc.<br/>
+<br/>
+If the current tenant has multi-lingual documents enabled, then the main record is copied to the tenant language (defined in Tenant window).  BE CAREFUL as this option can potentially damage data you modified, it is recommended to take a backup and plan carefully what you're doing if this is the first time running this process.<br/>
+<br/>
 If the current tenant has not multi-lingual documents enabled, the translations for documents are synchronized with the main record (i.e. it copies the content of the main record to the translation records).  This process is necessary when switching to a mono-lingual environment as there the terminology is maintained not in the translation records.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Comment/Help:** This applies to the tenant defined document translations, e.g. for UoM, Payment Terms, Product Info, etc.&lt;br&gt;
&lt;br&gt;
If the current tenant has multi-lingual documents enabled, then the main record is copied to the tenant language (defined in Tenant window). BE CAREFUL as this option can potentially damage data you modified, it is recommended to take a backup and plan carefully what you're doing if this is the first time running this process.&lt;br&gt;
&lt;br&gt;
If the current tenant has not multi-lingual documents enabled, the translations for documents are synchronized with the main record (i.e. it copies the content of the main record to the translation records). This process is necessary when switching to a mono-lingual environment as there the terminology is maintained not in the translation records.
**Comment/Help:** This applies to the tenant defined document translations, e.g. for UoM, Payment Terms, Product Info, etc.<br/>
<br/>
If the current tenant has multi-lingual documents enabled, then the main record is copied to the tenant language (defined in Tenant window). BE CAREFUL as this option can potentially damage data you modified, it is recommended to take a backup and plan carefully what you're doing if this is the first time running this process.<br/>
<br/>
If the current tenant has not multi-lingual documents enabled, the translations for documents are synchronized with the main record (i.e. it copies the content of the main record to the translation records). This process is necessary when switching to a mono-lingual environment as there the terminology is maintained not in the translation records.
🧰 Tools
🪛 LanguageTool

[grammar] ~18-~18: Use a hyphen to join words.
Context: ...mment/Help:** This applies to the tenant defined document translations, e.g. for ...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/synchronize-doc-translation.mdx` around lines 18 - 22, The
help text contains HTML entity-encoded line breaks ("&lt;br&gt;") that render as
literal text; replace those entities in the "**Comment/Help:**" paragraph with
real Markdown line breaks or blank lines so the paragraphs render correctly
(e.g., split the sentences into separate lines or insert a blank line between
paragraphs) in synchronize-doc-translation.mdx; search for the string
"&lt;br&gt;" and update the block that mentions tenant multi-lingual documents /
syncing translations to use actual newlines instead of the entity.


<span className="badge badge--primary">Process</span> <span className="badge badge--secondary">ID 244</span>

*23/12/2003 → 02/01/2000*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Date range is backwards.

The date range shows 23/12/2003 → 02/01/2000, where the end date (02/01/2000) is approximately 3 years before the start date (23/12/2003). This is logically impossible and indicates a data error.

Since this content is auto-generated from iDempiere metadata, please verify and correct the source data.

🔍 Verification needed

Check the source metadata for process ID 244 to determine the correct date range. The end date should be after the start date, or they should match if created and finalized on the same day.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/process/warehouse-organization.mdx` at line 12, The date range in
manual/process/warehouse-organization.mdx is reversed (shows 23/12/2003 →
02/01/2000); inspect the source iDempiere metadata for process ID 244, correct
the start/end date fields in the metadata so the end date is >= start date (or
set them equal if appropriate), then re-run the documentation generation to
update manual/process/warehouse-organization.mdx; confirm the updated file now
shows a valid chronological range.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant