Jump to content

blesta suspend service that has unpaid invoice for upgrade


Blesta Addons

Recommended Posts

when a client upgrade service, new invoice generated, service upgraded only if invoice is paid. Blesta suspend that service if client not paid the invoice .

this wasn't occur in the past, we have noticed this happen when upgraded to 4.10 .

this should not happen a the upgrade is a optional, so if the client pay the invoice the service will upgraded, if not the service remain in it''s actual package .

Link to comment
Share on other sites

Why would you create invoices that you don't expect the client to pay...?  Also upgrades may take effect even before the invoice is paid (depending on your settings).  This scenario has an admin upgrading a service without the client confirming they want it... as a suggestion?  That doesn't seem like the right way to do things.

Link to comment
Share on other sites

21 hours ago, Jono said:

Why would you create invoices that you don't expect the client to pay...?

the client itself generate invoice for upgrading service from actual package to another package. so why blesta has the option to upgrade/downgrade the package !!!!!

21 hours ago, Jono said:

Also upgrades may take effect even before the invoice is paid (depending on your settings)

we didn't allow services upgrade until the invoice is paid. so if the client has not paid the invoice the service is suspended, and already the client has paid the service, is like we punish the client because he is not paid a upgrade that is in the original a optional action.

21 hours ago, Jono said:

This scenario has an admin upgrading a service without the client confirming they want it... as a suggestion?  That doesn't seem like the right way to do things.

we have the option to not perform upgrade until the client pay the invoice, but why the service will be suspended if the client has not paid the upgrade ?

let say the client want to upgrade, then he decide to remain in their package, why the service is suspended !!!! we as company don't lose anything if the client opt for upgrade and then he didn't pay. this scenario is adding work to staff and add more claims by clients in our support ticket.

another scenario, we sell multi level licenses, if the client want to upgrade and didn't pay the generated invoice, the original license is suspended. you find this logical?

i'm talking here to a function in the core of Blesta.

 

Link to comment
Share on other sites

We probably should not suspend the service if an upgrade invoice is unpaid, especially if the upgrade does not happen until the invoice is paid. The question I think is whether we should suspend if the upgrade occurs before the invoice is paid and the invoice remains unpaid. Thoughts?

  1. If upgrading a service and the invoice is unpaid but not yet upgraded, do not suspend.
  2. If upgrading a service and the invoice is unpaid but already upgraded, suspend?
Link to comment
Share on other sites

On 10/8/2020 at 7:32 PM, Paul said:

CORE-3941

The task describes scenario #1 above, not #2. If the service has already been upgraded then we would suspend it if it remained unpaid.

any ETA for this or a simple patch, in this last month the issue for this has increased dramatically. please do not put it in the long term or short them, we need it next release .

just a question to understand, is this behavior introduced in lat versions maybe v4.10 or it was from the old releases ?

Link to comment
Share on other sites

  • 6 months later...

UP, really we every time a big trouble with client for this. if a upgrade is not paid why blesta suspend the service and we have already Queue Service Changes Until Paid checked,!!!

another action  is to cancel Queue Service Changes + invoice after x days when we have Queue Service Changes Until Paid checked.

Link to comment
Share on other sites

  • 2 months later...

I have been unable to reproduce, and looking at the code it shouldn't be possible (either in the latest version or 4.10).  Invoices for upgrades do not set the invoice_lines.service_id field.  The query to select services to suspend does an inner join on invoice_lines.service_id., so it doesn't seem possible.

That being said, I'm definitely willing to test again if you have specific steps to reproduce.  If so, please provide :)

Link to comment
Share on other sites

3 minutes ago, Jono said:

I have been unable to reproduce, and looking at the code it shouldn't be possible (either in the latest version or 4.10).  Invoices for upgrades do not set the invoice_lines.service_id field.  The query to select services to suspend does an inner join on invoice_lines.service_id., so it doesn't seem possible.

That being said, I'm definitely willing to test again if you have specific steps to reproduce.  If so, please provide :)

we still facing it. and i can't believe is impossible to reproduce, any client made a upgrade of service, then he didn't pay the upgrade, the service is suspended when the invoice are on overdue date, upgrade here are from package a to package b or by adding config add-on.

just yesterday i have unsuspended a service that was suspended due to non payment of the upgrade invoice. can i fetch any info in database to send it to you?

 

Link to comment
Share on other sites

1 minute ago, Blesta Addons said:

we still facing it. and i can't believe is impossible to reproduce, any client made a upgrade of service, then he didn't pay the upgrade, the service is suspended when the invoice are on overdue date, upgrade here are from package a to package b or by adding config add-on.

just yesterday i have unsuspended a service that was suspended due to non payment of the upgrade invoice. can i fetch any info in database to send it to you?

 

Thanks for the quick response, I'm headed out of the office, but I'll take a look first thing tomorrow morning.  Are you able to identify the invoice for the upgrade in the database and see if the invoice_lines.service_id is set? That seems like the only way this could happen.

Link to comment
Share on other sites

Just now, Jono said:

Thanks for the quick response, I'm headed out of the office, but I'll take a look first thing tomorrow morning.  Are you able to identify the invoice for the upgrade in the database and see if the invoice_lines.service_id is set? That seems like the only way this could happen.

from Edit invoice, i can see the ASTERISK that has a url to the service, so invoice_lines.service_id is set.

 

Link to comment
Share on other sites

On 7/6/2021 at 4:30 PM, Blesta Addons said:

from Edit invoice, i can see the ASTERISK that has a url to the service, so invoice_lines.service_id is set.

These upgrades are performed through the core?  What version of Blesta are you running?  My installation does not link invoice lines from an upgrade to the service through invoice_lines.service_id so I've gotta figure out why yours does.

Link to comment
Share on other sites

19 hours ago, Jono said:

These upgrades are performed through the core?  What version of Blesta are you running?  My installation does not link invoice lines from an upgrade to the service through invoice_lines.service_id so I've gotta figure out why yours does.

it was by core, no extra plugin, the blesta used is 4.10.2 .

Link to comment
Share on other sites

On 7/9/2021 at 4:47 AM, Blesta Addons said:

it was by core, no extra plugin, the blesta used is 4.10.2 .

Here's a video of a basic test that I performed on a 4.10.2 installation.  https://www.loom.com/share/40f5cd5005cb4799976f603b5175f1b8  As you can see, a queued upgrade created an invoice with no invoice_lines.service_id set.  Do you have any suggestions for what I might do differently to reproduce your issue?

Link to comment
Share on other sites

On 7/12/2021 at 7:14 PM, Jono said:

Here's a video of a basic test that I performed on a 4.10.2 installation.  https://www.loom.com/share/40f5cd5005cb4799976f603b5175f1b8  As you can see, a queued upgrade created an invoice with no invoice_lines.service_id set.  Do you have any suggestions for what I might do differently to reproduce your issue?

Hello Jono,

i have recorded a video and sent it to you in PM. as you can see it has the service_id filled, tested 3 times and the same result.

Link to comment
Share on other sites

3 hours ago, Blesta Addons said:

Hello Jono,

i have recorded a video and sent it to you in PM. as you can see it has the service_id filled, tested 3 times and the same result.

I was able to reproduce by performing an upgrade in the admin interface (not able to replicate in client interface).  To resolve change app/controllers/admin_clients.php around line 5656 from:

                            $invoice_data = $this->makeInvoice(
                                $client,
                                $serviceChange,
                                $pricing->currency,
                                true,
                                $service->id
                            );

To

                            $invoice_data = $this->makeInvoice(
                                $client,
                                $serviceChange,
                                $pricing->currency,
                                true,
                                null
                            );

Cheers :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...