Skip to main content
Question

Update Custom Field in Application History tab on Payment Release & Capture

  • April 22, 2026
  • 2 replies
  • 16 views

Forum|alt.badge.img+3

Hello Acumatica Team,

We have a requirement to add a custom field in the Application History tab of the Payments and Applications screen. This field should be populated from the Blanket Sales Order CustomerOrderNbr and must be updated during Payment Release and Payment Capture.

I attempted to override the Release action. When updating the value before the baseMethod call, the Application History (ARTranPostBal) View Details is not loading. When updating after the baseMethod call, the view loads correctly, but the value is not persisting. However, updating the value using PXDatabase.Update works as expected.

I also tried using row events, but observed the same behavior with no success.

Could you please clarify:

  • Where the default logic for updating Application History during Release and Capture is implemented?
  • What is the correct extension point to reliably update this custom field?

Version: 25R1

Thanks in Advance!

2 replies

Forum|alt.badge.img
  • Varsity I
  • April 22, 2026

In Acumatica ERP, the Application History tab on Payments and Applications (AR302000) is backed by:

 

DAC: ARTranPostBal (projection, not a standard persistent DAC)

Data is created during:

Release of AR Payment

Capture (for CC payments)

 

The population happens deep inside the release process:

ARReleaseProcess

ARPaymentEntry.Release()

ARDocumentRelease.ReleaseDocProc()

ARReleaseProcess.ApplyARAdjustments()

ARReleaseProcess.UpdateARBalances()

 

Specifically:

Records related to Application History are derived from:

ARAdjust

ARTran

ARRegister

And inserted into tables like:

ARPost

ARTranPost

Then surfaced via ARTranPostBal projection
 

Correct Extension Point (Recommended)

You need to hook into the posting layer, not the UI or Payment graph.

 

 Best option: Extend ARReleaseProcess

 

Example approach:

Override or extend methods like:

public class ARReleaseProcess_Ext : PXGraphExtension<ARReleaseProcess>

{

protected void _(Events.RowPersisting<ARTranPost> e)

{

var row = e.Row;

if (row == null) return;

 

// Fetch related Blanket SO CustomerOrderNbr

// (via ARTran → SOOrder → Blanket Order)

 

row.GetExtension<ARTranPostExt>().UsrCustomerOrderNbr = "value";

}

}


Forum|alt.badge.img+3
  • Author
  • Pro III
  • April 22, 2026

@FarhanaM60 Thank you for the clarification.
Yes, ARTranPostBal is a projection DAC.
I have tried already extending ARReleaseProcess and tried, but since this graph is used in many places, I need to carefully validate the additional conditions.
Proper handling may be required to ensure the logic works consistently across all cases.
I’ll review further and update you.