InsPayEst cleared to 0 when posting claim via API (PUT /claimprocs) — but not via UI

For requests or help with our API
Post Reply
sudeepr
Posts: 1
Joined: Tue Mar 24, 2026 3:01 am

InsPayEst cleared to 0 when posting claim via API (PUT /claimprocs) — but not via UI

Post by sudeepr »

Hi everyone,
I'm running into an issue when posting insurance payments through the Open Dental API and hoping someone can help or confirm if this is expected behavior.

The problem:
When I use PUT /claimprocs/{id} to update a claim procedure's status to "Received," OpenDental automatically clears the InsPayEst field to 0. The estimate gets wiped out even though I'm not touching that field in my request.

API request (Example):
PUT /claimprocs/293

Code: Select all

{
    "Status": "Received",
    "InsPayAmt": 51.0,
    "DedApplied": 0.0,
    "WriteOff": 0.0
}
As you can see, I'm only sending Status, InsPayAmt, DedApplied, and WriteOff — yet InsPayEst gets reset to 0 on the server side once the status changes to "Received."

What's confusing:
When I perform the same action through the OpenDental desktop software, InsPayEst retains its value. This only happens when posting via the API.

Since InsPayEst is a read-only calculated field in the API, I can't restore it with a subsequent PUT call either.

API reference: https://www.opendental.com/site/apiclaimprocs.html

My questions:
1. Is this the intended behavior when posting claims through the API, or is this a bug?
2. Is there a recommended workaround to preserve the InsPayEst value when posting via the API?
3. Has anyone else encountered this discrepancy between the API and UI behavior?

Any insight would be greatly appreciated. Thanks in advance!
RyanH
Posts: 69
Joined: Thu Dec 19, 2024 8:33 am

Re: InsPayEst cleared to 0 when posting claim via API (PUT /claimprocs) — but not via UI

Post by RyanH »

sudeepr wrote: Tue Mar 24, 2026 3:14 am Hi everyone,
I'm running into an issue when posting insurance payments through the Open Dental API and hoping someone can help or confirm if this is expected behavior.

The problem:
When I use PUT /claimprocs/{id} to update a claim procedure's status to "Received," OpenDental automatically clears the InsPayEst field to 0. The estimate gets wiped out even though I'm not touching that field in my request.

API request (Example):
PUT /claimprocs/293

Code: Select all

{
    "Status": "Received",
    "InsPayAmt": 51.0,
    "DedApplied": 0.0,
    "WriteOff": 0.0
}
As you can see, I'm only sending Status, InsPayAmt, DedApplied, and WriteOff — yet InsPayEst gets reset to 0 on the server side once the status changes to "Received."

What's confusing:
When I perform the same action through the OpenDental desktop software, InsPayEst retains its value. This only happens when posting via the API.

Since InsPayEst is a read-only calculated field in the API, I can't restore it with a subsequent PUT call either.

API reference: https://www.opendental.com/site/apiclaimprocs.html

My questions:
1. Is this the intended behavior when posting claims through the API, or is this a bug?
2. Is there a recommended workaround to preserve the InsPayEst value when posting via the API?
3. Has anyone else encountered this discrepancy between the API and UI behavior?

Any insight would be greatly appreciated. Thanks in advance!
Hello sudeepr,

There are several calculations that can affect the estimate fields when a claimproc is updated. I was unable to recreate the described behavior, but I can investigate this further if you're able to provide more information such as what the calculated estimates are when the claimprocs were created, if the procedures are covered by benefits, if this behavior is specific to one patient or insplan, etc.

If you need to explicitly control the estimate, you can specify the InsEstTotalOverride field in /claimprocs PUT which will also populate InsPayEst.

Thanks!
Post Reply