Jump to content
  • 0

Renew Service Outside Blesta


activa

Question

we have 2 clients that we will theme monthly for renewing services (domains) .

 

we change the invoice date to end of month , and then we renew the domains for him outside blesta .

 

for not making the blesta renew domains , we have edited the logicbox module to not do anything .

 

nowadays , the more clients we have , and we need every time make the renew manually for all .

 

if we enable auto renewal domain by the module . how we can make the domain already renewal not renewal a second time if the invoice is paid at the end of month ?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Did you generate an invoice for the service renewal when you manually renewed it? Or do you want an invoice to be created for renewal even though you already renewed it?

 

Normally, I would say that you can bump the service renew date to the next date it should renew, since you already renewed it manually. However, bumping the renew date changes when the next invoice is generated for the service. If you renew the service manually and want Blesta to not do it, but you still want it to be billed, you can bump the service renew date and manually create an invoice. Invoice line items cannot yet be set to a service manually, so your manually-created invoice would not suspend the service if they failed to pay it.

Link to comment
Share on other sites

  • 0

the invoice is generated by system , the service normally well no auto renew until the invoice is paid .

 

some client request service renew but the payment will be done after X days . we change due date to a future date . we renew service manually .

 

now what we should do to prevent blesta from renewing service when client pay the invoice ?

Link to comment
Share on other sites

  • 0

now what we should do to prevent blesta from renewing service when client pay the invoice ?

 

Besides disabling the cron task to Process Service Renewals, or bumping the service's renew date before-hand, there is no option to toggle a service to skip a renewal.

Link to comment
Share on other sites

  • 0

One way to achieve this would be to do the following:

 

1. Create a new service status within Blesta, say something like "ManualRenew"

2. Modify the respective module's renew function to check for this service status and skip renewal

 

For eg in the renewService function for the logicboxes module (blesta 3.3.2):

 

insert the code after the foreach loop to check for the new status:

 

if ($service->status != "ManualRenew") {

 

#existing code start:

if (strtotime("+" . $vars['years'] . " years") > $order->endtime){

......

$this->processResponse($api, $response);

}

#end

 

}

 

So, if you want to manually renew on request you would do the following:

 

Set the service status to "ManualRenew"

Reset the due date to n days forward

Manually renew the service outside Blesta

 

Clients can later pay the invoice and the renewal process should be skipped.

 

The above method would be suited when only a few manual renewals need to be done. If this needs to be done for a large number of clients/services, there needs a solution to maybe aggregate such requests into a group and then check & skip renewals for that group.

 

Hope this helps.

 

Thanks.

Link to comment
Share on other sites

  • 0

changing service status could cause multiple issues .

 

also i don't know how the service will be shown in client area with this new status !!!! for me this a bad practice .

 

 

what i have found as a solution , open the invoice related to the service that will be renew outside blesta, then delete the line corresponding and add new line with the same price . renew the service outside blesta .

 

now when the client will pay this invoice later , the system will not send renew command .

 

not sure if this has safe 100% , waiting a staff advice .

Link to comment
Share on other sites

  • 0

what i have found as a solution , open the invoice related to the service that will be renew outside blesta, then delete the line corresponding and add new line with the same price . renew the service outside blesta .

 

now when the client will pay this invoice later , the system will not send renew command .

 

not sure if this has safe 100% , waiting a staff advice .

 

If you were to do it that way, by changing the service's invoice such that the system does not consider it when renewing/suspending the service, then what you described can work. From a technical stand-point, you are removing the service relation from the invoice line item. You can accomplish similar behavior directly from the database by setting a NULL value for the `invoice_lines`.`service_id` column for that particular invoice. You would want to ensure that none of the invoice line items are associated with the service ID anymore.

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
Answer this question...

×   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...