Page 1 of 1

Posting payments for dynamic payment plans

Posted: Tue Aug 29, 2023 2:45 pm
by saskia
We're posting payments according to the Payments POST documentation for dynamic plans: including the payPlanNum and setting isPrepayment to true. The result in OpenDental puts the payments under 'Hidden Splits' and doesn't decrease the 'amount due'. What should we be doing to get these payments to correctly attach to the plan? It appears that the pay splits are incorrect, but it's unclear how we should be posting these payments any other way.

Here is a screenshot of what we're seeing: https://prnt.sc/WBciXdwVByz-

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Tue Aug 29, 2023 3:31 pm
by JTS
Good afternoon,

Prepayments will only be applied to payplan charges that become due after inserting the prepayment. To pay on existing payment plan charges, then you do not need to supply payPlanNum or set isPrepayment to true. Payments POST will automatically apply the payment to existing payment plan charges if payPlanNum is not supplied & isPrepayment is false.

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 5:31 am
by saskia
We tried that as well, but the payment is then being associated with the oldest charge, which isn't necessarily the one associated with the plan. I was hoping for this to be a little simpler where we supply the payPlanNum to ensure the payment is associated with the plan, and have OpenDental decide whether this is a prepayment or not - mainly because we don't always know if a payment is due, making it difficult for us to code as to which way to post.

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 10:47 am
by JTS
Payments POST will funnel itself towards the oldest payplan charge for a patient, if one is due. While we're unable to automatically determine whether a payment is meant to be a prepayment or not, we can add PayPlanCharges GET to our development list to help you make that decision.

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 11:32 am
by saskia
Gotcha - so we'd call this first, and based on the response, either post with the payPlanNum and isPrePayment set to true, or exclude the payPlanNum as well as isPrePayment? Have I understood correctly?

What about the issue I'm seeing now where if we post a payment, it won't go to the plan if there are older charges on file? How do we make sure the payment goes towards that?

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 1:22 pm
by JTS
Correct, if there are no current charges for the plan then you would want to make a prepayment, otherwise you'd want to make a normal payment.

Payments are automatically applied to the oldest adjustments, payplan charges, and procedures with a remaining balance. There is currently no way to specify a pay plan charge to apply payment to via the API.

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 1:25 pm
by saskia
Could we add that to the feature request list? The ability for a payment to be associated with a payPlan, regardless of whether there are older charges or not?

And what is the rough ETA of the PayPlanCharges GET update that mentioned?

Lastly - I'm still struggling to get payments associated with the 'Due Now' amount on the dynamic payment plan - it looks like ALL other charges have to be cleared before the payment plan 'due now' amount gets addressed, regardless of the age of the treatment associated with the dynamic payment plan.

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 2:28 pm
by JTS
We can add that to our development list.

As for PayPlanCharges GET, API feature requests are started in the order in which they are received, and I would estimate an ETA of about 5 weeks.

If the 'Due Now' amount is from a recent payplan charge, then it will be one of the last things that Payments POST will allocate to, regardless of when the procedure(s) attached to the payplan were completed. Every charge that has come before it will need to be paid for before Payments POST allocates payment into it.

Re: Posting payments for dynamic payment plans

Posted: Wed Aug 30, 2023 5:08 pm
by saskia
THanks!

Then I'd love to add another feature request where we can specify payPlanNum and set isPrePayment to false to ensure the payment is allocated to the payment plan as opposed to other procedure(s) first.

Re: Posting payments for dynamic payment plans

Posted: Thu Aug 31, 2023 10:42 am
by JTS
Of course, we can add that to our development list too.

Re: Posting payments for dynamic payment plans

Posted: Mon Oct 09, 2023 10:38 am
by saskia
Hey - checking in to see where in the pipeline these requests might be? I've got some related enhancement requests around the regular patient payment plans that were submitted around the same time - I suspect they may have all been lumped together? Thanks!

Re: Posting payments for dynamic payment plans

Posted: Mon Oct 09, 2023 11:10 am
by justine
saskia wrote:
Mon Oct 09, 2023 10:38 am
Hey - checking in to see where in the pipeline these requests might be? I've got some related enhancement requests around the regular patient payment plans that were submitted around the same time - I suspect they may have all been lumped together? Thanks!
Good morning Saskia,

Our API team processes new features in the order they are received. As of the time when you made your request(s), there were several ahead of yours in the queue. The next feature to be developed is GET PayPlanCharges.

While you wait for your specific feature to be fulfilled, you may consider using a ShortQuery to retrieve information from the payplancharge table as an interim solution. We appreciate your patience as we work through these requests.

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Mon Oct 09, 2023 11:18 am
by saskia
Thanks for the update! Any rough idea of when my request might make it through your development lifecycle? We'll need to do some work on our side of course and doing some rough resource planning. Thanks!

Re: Posting payments for dynamic payment plans

Posted: Tue Oct 24, 2023 9:35 am
by saskia
Any update here? We'd like to post payments correctly to these plans but it's a real lucky dip right now and if folks have other outstanding items payments end up on the wrong procedures every time as the PP charge will always be the most recent one, even if the underlying procedures are far older.

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Wed Oct 25, 2023 9:12 am
by JTS
Good morning,

Both GET PayPlanCharges and the ability to POST payments towards specific PayPlanCharges are in the final stages of development. I would estimate them to be completed in about a week.

Re: Posting payments for dynamic payment plans

Posted: Wed Oct 25, 2023 9:20 am
by saskia
Awesome! Thank you. To make sure I understand how we'd use this - we would call the GET PayPlanCharges to see which ones are due and which ones are not. And then we'd POST payments towards a specific PayPlanCharge (if I understand correctly, a PayPlanCharge is basically an installment right?), adding in isPrePayment based on whether the payment is actually due or not? Or will that no longer be required as we're posting against a specific PayPlanCharge?

Thanks!

Re: Posting payments for dynamic payment plans

Posted: Wed Nov 01, 2023 3:58 pm
by JTS
Good afternoon, we have completed both of these feature requests.
The first one, PayPlanCharges GET, is available starting in stable version 23.2.28. This method will allow you to view any PayPlanCharges associated with a specified Payment Plan. For more information, please see https://www.opendental.com/manual233/ap ... arges.html.

The second request, Payments POST on specific PayPlans, is available starting in beta version 23.3.4. This enhancement to Payments POST allows you to pass in a PayPlanNum without setting isPrepayment to "true", and will cause the payment to go towards any outstanding charges for a specified Payment Plan. For more information, please see https://www.opendental.com/site/apipayments.html.