Jump to content

Canceling Service Does Not Result In A Credit


srn

Recommended Posts

With blesta version 3.6.1, from the admin interface:

 

* Under Settings->Company->"Billing/Payment"  

 ** Ensure "Allow Prorated Credits to be Issued for Service Downgrades" is enabled for the given client group

 ** Disable "Automatically Apply Loose Credits" (only to simplify expected and actual results)

* Under "Clients", create a test client that has "Total Credit" 0.00 and "Total Due" 0.00

* View test client

* Click "NEW SERVICE" under "Services"

* Select package that recurs and costs money and click CONTINUE

* Select "Create Invoice" .  Select "Active" for status though this may not matter.  Any term greater than one-time and amount greater than 0.0 should work. I created a service with a 1 month term @ 5.00. 

* Click "ADD SERVICE"

* Observe client has Total Credit 0.00 and Total Due $5.00 (or whatever the price is for the initial term)

* Select "Manage" for the active service

* Under actions, select "Cancel"

* Click SAVE under Actions

Expected result: Total Credit of 5.00 and Total Due of 5.00

Actual result: Total Credit of 0.00 and Total Due of 5.00

 

Distribution: Ubuntu Trusty 14.04

php version: 5.5.9+dfsg-1ubuntu4.16

mysql version: 5.5.49-0ubuntu0.14.04.1

Link to comment
Share on other sites

Following the same initial process but changing the renewal date to be one day after the creation date (instead of canceling) results in a credit of $5.00. At some point I got a credit of $5.17 instead of $5.00 but have been unable to reproduce the result.

Link to comment
Share on other sites

This API call generates a credit (ripped from our python interface)

call("POST", "Services", "edit",
  {"service_id": 65,
                    "bypass_module": True,
                   "vars": {
                   "prorate": "true",
          "status": "canceled",
  "date_renews": "2016-05-06"
                  }})
 
This does not:
 
call("POST", "Services", "edit",
  {"service_id": 66,
                    "bypass_module": True,
                   "vars": {
                   "prorate": "true",
          "status": "canceled",
                  }})
 
This does not:
call("POST", "Services", "cancel",
  {"service_id": 67,
                   "vars": {
                   "use_module": False,
                  }})
 
 
Link to comment
Share on other sites

With blesta version 3.6.1, from the admin interface:

 

* Under Settings->Company->"Billing/Payment"  

 ** Ensure "Allow Prorated Credits to be Issued for Service Downgrades" is enabled for the given client group

 ** Disable "Automatically Apply Loose Credits" (only to simplify expected and actual results)

* Under "Clients", create a test client that has "Total Credit" 0.00 and "Total Due" 0.00

* View test client

* Click "NEW SERVICE" under "Services"

* Select package that recurs and costs money and click CONTINUE

* Select "Create Invoice" .  Select "Active" for status though this may not matter.  Any term greater than one-time and amount greater than 0.0 should work. I created a service with a 1 month term @ 5.00. 

* Click "ADD SERVICE"

* Observe client has Total Credit 0.00 and Total Due $5.00 (or whatever the price is for the initial term)

* Select "Manage" for the active service

* Under actions, select "Cancel"

* Click SAVE under Actions

Expected result: Total Credit of 5.00 and Total Due of 5.00

Actual result: Total Credit of 0.00 and Total Due of 5.00

 

Distribution: Ubuntu Trusty 14.04

php version: 5.5.9+dfsg-1ubuntu4.16

mysql version: 5.5.49-0ubuntu0.14.04.1

 

Why do you expect a credit to be issued for the canceled service? A service cancellation is a removal of the service. A service downgrade would be a change to the term, period, renew date, or service options that result in a prorated price change whose total is less than zero.

 

 

Following the same initial process but changing the renewal date to be one day after the creation date (instead of canceling) results in a credit of $5.00. At some point I got a credit of $5.17 instead of $5.00 but have been unable to reproduce the result.

 

Depending on your changes, it's possible to receive a credit larger than the total amount of the initial invoice for the service's original term and period.

Consider a client orders a service:

- 1 month, $5.00 (30 days in length)

- You update the service to change the renew date to a day later (service is 31 days in length).

- You update the service to change the renew date again to the day after the creation date (service is 0 to 1 day in length, depending on time of day). Prorating this change would prorate 31 days for a service whose term and period equates to 30 days, resulting in a credit of [(31 days * $5.00) / 30 days] = $5.1667 ($5.17).

 

 

 

This API call generates a credit (ripped from our python interface)

call("POST", "Services", "edit",
  {"service_id": 65,
                    "bypass_module": True,
                   "vars": {
                   "prorate": "true",
          "status": "canceled",
  "date_renews": "2016-05-06"
                  }})

 

This may not be the best API request to make as it both cancels the service and changes the renew date. The renew date change is prorated, and the service is immediately canceled.

 

 

This does not:

 
call("POST", "Services", "edit",
  {"service_id": 66,
                    "bypass_module": True,
                   "vars": {
                   "prorate": "true",
          "status": "canceled",
                  }})

 

As I mentioned above, a service cancellation is not a downgrade, so there is nothing to prorate.

 

 

This does not:

call("POST", "Services", "cancel",
  {"service_id": 67,
                   "vars": {
                   "use_module": False,
                  }})

 

No service data has changed, so there is nothing to prorate.

Link to comment
Share on other sites

Why do you expect a credit to be issued for the canceled service? A service cancellation is a removal of the service. A service downgrade would be a change to the term, period, renew date, or service options that result in a prorated price change whose total is less than zero.

 

I commented on this feature request thread: http://www.blesta.com/forums/index.php?/topic/588-cancel-reason-account-credit/ asking about the status of the feature request " Configurable credit for remaining time - if a client cancels with 25 days left, I'd like to issue an account credit for the remaining amount."  The response back from Paul (on your staff) was "Settings > Company > Billing/Payment > Invoice and Charge Options: Allow Prorated Credits to be Issued for Service Downgrades". That's why I expected a credit to be issued for the canceled service.

Link to comment
Share on other sites

That's why I expected a credit to be issued for the canceled service.

 

Actually, to be completely honest I didn't really expect a credit to be issued, but my understanding from talking to support was I should file a bug report. Sorry for the noise if there wasn't really supposed to be a bug report.

 

Assuming it's a new feature and not a bug, I'd like to hear if there's a way we could implement this for ourselves that could contribute to a more general release.

Link to comment
Share on other sites

I commented on this feature request thread: http://www.blesta.com/forums/index.php?/topic/588-cancel-reason-account-credit/ asking about the status of the feature request " Configurable credit for remaining time - if a client cancels with 25 days left, I'd like to issue an account credit for the remaining amount."  The response back from Paul (on your staff) was "Settings > Company > Billing/Payment > Invoice and Charge Options: Allow Prorated Credits to be Issued for Service Downgrades". That's why I expected a credit to be issued for the canceled service.

 

I see. A feature for a prorated credit on the remaining service term upon cancellation would have to be added. This wouldn't be tied to the existing service downgrade credit.

 

 

Assuming it's a new feature and not a bug, I'd like to hear if there's a way we could implement this for ourselves that could contribute to a more general release.

 

I created CORE-2200 for this feature and detailed what I think will need to be done to make it happen. If you were to do it yourself in a way you intend to share, it may be best to do it on version 4.0 of Blesta since essentially every file has changed.

Link to comment
Share on other sites

I see. A feature for a prorated credit on the remaining service term upon cancellation would have to be added. This wouldn't be tied to the existing service downgrade credit.

 

 

 

I created CORE-2200 for this feature and detailed what I think will need to be done to make it happen. If you were to do it yourself in a way you intend to share, it may be best to do it on version 4.0 of Blesta since essentially every file has changed.

 

Thank you. In reference to CORE-1686, is there any circumstance under which both issuing a credit for unused time and voiding invoices that are not yet due would be desirable? If not, the choice should probably be a drop-down and not individual check boxes.

 

Also, is there any rough estimate of when 4.0 will be released? Are we talking weeks or months?

Link to comment
Share on other sites

Thank you. In reference to CORE-1686, is there any circumstance under which both issuing a credit for unused time and voiding invoices that are not yet due would be desirable? If not, the choice should probably be a drop-down and not individual check boxes.

 

CORE-1686 is a bit different. I don't see a conflict in credits/voiding here, so allowing for both options to be enabled at once should be acceptable.

 

 

Also, is there any rough estimate of when 4.0 will be released? Are we talking weeks or months?

 

There are roughly 3 or 4 major tasks left to complete before v4 beta. I would expect the beta to start this month, and the official release after that will depend on user feedback, issues/changes, etc.

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