Re: [idempiere] Material Requisition: Why Reactivate action is not available after Completion?

15 views
Skip to first unread message

Carlos Antonio Ruiz Gomez

unread,
Jan 14, 2026, 2:21:18 PM (2 days ago) Jan 14
to idem...@googlegroups.com
Hi, the logic to reactivate this document has not been implemented, but it could be possible.

Nicolas has been working on adding Reactivate to some documents like Bank Statements, Payments and Invoices

You can open a JIRA ticket for the Requisition case and contribute a pull request for that purpose, you can use the examples from Nicolas to see which common validations are required.

Regards,

Carlos Ruiz



On 1/14/26 09:46, Usama Ahmed wrote:

Hello everyone,

I am trying to understand the intended behavior around Material Requisition reactivation in iDempiere and would appreciate guidance from the community.

Context

When a Material Requisition is completed, the Reactivate option is not available in the Document Action menu. However, for other transactional documents (e.g. Purchase Orders), reactivation is allowed.

During my investigation, I observed the following:

  • The Material Requisition model already implements reActivateIt(), although the method itself does not contain extensive logic.

  • In Role configuration, Document Action access for Reactivate can be granted for Material Requisition.

  • Despite this, the option still does not appear in the UI after completion.

Findings

While debugging, I noticed that DocumentEngine.getValidActions(...) is called to determine the available document actions.
Inside this method, there are hardcoded table IDs for which Reactivate is allowed, and Material Requisition is not included. As a result, for a completed Material Requisition, only Close is returned as a valid action.

This effectively prevents reactivation at the framework level.

Question

I would like to understand whether this behavior is:

  1. An intentional business control, aligned with standard ERP practices (i.e. completed Material Requisitions should never be reactivated, even if no PO has been created), or

  2. A design limitation / historical decision in iDempiere, where reactivation was intentionally excluded for requisitions.

The reason I am asking is that a client has raised a valid functional question:

Before any Purchase Order is created, should a completed Material Requisition be allowed to be reactivated?
This behavior is allowed in some other ERPs, which prompted the discussion.

Disclaimer

These are purely my findings based on code review.
If there is any configuration, extension point, or recommended approach to enable reactivation (without modifying core code), please let me know I would be happy to correct my understanding if I am missing something obvious.

Thank you in advance for your time and guidance.

Best regards,

--

Reply all
Reply to author
Forward
0 new messages