Skip to main content
Question

Acumatica AR302000 screen API: VoidCheck does not place payment on Hold, preventing ReleaseFromHold

  • December 12, 2025
  • 6 replies
  • 76 views

In Acumatica, on screen AR302000, I have a Closed payment that I want to change to Voided Payment using the APIs. In the UI, the process is simple: we click VOID, then REMOVE HOLD, and the document becomes voided.

The VOID button triggers the action /24.200.001/Payment/VoidCheck, and the REMOVE HOLD button triggers /24.200.001/Payment/ReleaseFromHold.

I called these two APIs sequentially. The first one returned 204, but the second one failed because the payment is not placed on hold after running VoidCheck, meaning Acumatica does not allow ReleaseFromHold.

Here is the payload I’m sending for the first API call:

json

{
"entity": {
"ReferenceNbr": {
"value": "000025"
}
}
}

And here is the payload I’m sending for the second API call:

json

{
"entity": {
"id": "eed4ab6d-ccd5-f011-a83a-6045bd6d244f",
"ReferenceNbr": {
"value": "000025"
},
"Hold": {
"value": true // I also have tried false
},
"Type": {
"value": "Voided Payment"
},
"PaymentAmount": {
"value": -10.6600 // I also have tried to remove this attribute
}
}
}

6 replies

Forum|alt.badge.img+7
  • Captain II
  • December 12, 2025

I feel like you still need to include the ”Type” in your json for the first call. Reference number is not enough to determine the transaction and that field does have a default value. It does default to Payment but I wouldn’t want to trust that.

When you make the first call, is the transaction being updated?


  • Author
  • Freshman I
  • December 13, 2025

@Django Thanks for your reply. I tried that approach, but the API rejects the request as soon as I include the Type field in the payload.

{

    "entity": {

        "ReferenceNbr": {

            "value": "000025"

        },

        "Type": {

            "value": "Voided Payment"

        }

    }

}


Forum|alt.badge.img+3

Hi ​@Mido97 
Which HTTP method are you using? As far as I remember, it should be POST. If that’s not the issue, it would be helpful if you could share the full request content.


  • Author
  • Freshman I
  • December 15, 2025

Hi ​@aleksandrsechin 

Thanks for your reply. I’m currently using the POST method on the following endpoint:

/entity/Default/24.200.001/Payment/VoidPayment

with this payload:

json

{
"entity": {
"Type": {
"value": "PMT"
},
"ReferenceNbr": {
"value": "000024"
},
"Hold": {
"value": false
}
}
}

From my understanding, this API call should create a Voided Payment record in On Hold status for the payment 000024, similar to what happens in the UI (where clicking Void automatically generates the Voided Payment document, places it on hold, and allows me to release it so the status of my payment 000024 with become Voided).

However, the API call consistently returns 204 No Content, and no Voided Payment document is created. I’ve already reviewed the discussion in Voiding Prepayment via API returns 204 status code but does not void the prepayment | Community, but I’m still facing the same issue, the VoidPayment action never generates the expected document.


Forum|alt.badge.img+3

I haven’t dug deeper into the business logic, so I have no idea why new documents haven’t been created. But on my instance, it works the same way as in the UI (it changes the status from Closed to Open). Here is my request:

entity/Default/24.200.001/Payment/VoidPayment?Accept=application/json&Content-Type=application/json

{

    "entity": {

        "Type": {

            "value": "Balance WO"

        },

        "ReferenceNbr": {

            "value": "AR008151"

        }

    }

}

I might have missed some additional setup — is that why a new document isn’t being created?


  • Author
  • Freshman I
  • December 15, 2025

@aleksandrsechin In my case, even when I click VOID, the new document doesn’t appear in the AR3020PL screen until I click RELEASE. I’ve already tried the solution you suggested, but unfortunately it didn’t resolve the issue. Thank you anyway for your time.