Skip to main content
Solved

Project Commitments added before approval

  • November 21, 2024
  • 2 replies
  • 86 views

Forum|alt.badge.img

We have a project that is not yet approved, however there are already commitments (Purchase Orders) against it.  We don’t want Purchase Orders to be issued to suppliers before the project is approved.  How do we stop it, is there a setting somewhere?

Best answer by noorula77

Check with setting Approval Project Preference screen or try with customization.

protected void POLine_ProjectID_FieldVerifying(PXCache cache, PXFieldVerifyingEventArgs e)
{
    POLine row = (POLine)e.Row;
    if (row != null && row.ProjectID != null)
    {
        PMProject project = PXSelect<PMProject,
            Where<PMProject.contractID, Equal<Required<PMProject.contractID>>>>.Select(Base, row.ProjectID);

        if (project != null && project.Status != ProjectStatus.Approved)
        {
            throw new PXSetPropertyException("Purchase Orders cannot be created for unapproved projects.");
        }
    }
}
 

2 replies

Forum|alt.badge.img+3
  • Jr Varsity III
  • Answer
  • November 21, 2024

Check with setting Approval Project Preference screen or try with customization.

protected void POLine_ProjectID_FieldVerifying(PXCache cache, PXFieldVerifyingEventArgs e)
{
    POLine row = (POLine)e.Row;
    if (row != null && row.ProjectID != null)
    {
        PMProject project = PXSelect<PMProject,
            Where<PMProject.contractID, Equal<Required<PMProject.contractID>>>>.Select(Base, row.ProjectID);

        if (project != null && project.Status != ProjectStatus.Approved)
        {
            throw new PXSetPropertyException("Purchase Orders cannot be created for unapproved projects.");
        }
    }
}
 


Forum|alt.badge.img
  • Author
  • Semi-Pro II
  • October 1, 2026

I have logged a case with Acumatica, as it doesn’t make logical sense that costs are allowed to be incurred against a project that is still pending approval (a PO is an instruction to a vendor to proceed with incurring costs).