Jump to content
Chris74

Updating domain prices...

Recommended Posts

Is there a better option than the "Bulk Pricing Updater" for keeping the prices of clients domains updated?

Now that we sell dozens of different domain types, this tool is very difficult to use.

Each tld you want to update has to be selected manually and the price entered manually - for each number of years. With 250 tld's that's 2500 individual price changes!

Is there any other way?

We pay for our domains in USD and sell in GBP. Domain prices are synced daily from the registrar into the WHMCS configuration - and can change regularly. That works fine for new registrations and manual renewals - but I would guess that any domains set to auto renew will be invoiced at the price the client paid when they purchased the domain (or whatever is showing in the client's account for each domain). I want to update the clients individual domain prices automatically to match the main prices in the TLD configuration.

I'm astounded that there doesn't seem to be any way to keep these synchronized.

 

Share this post


Link to post
Share on other sites

Of course. You can edit the SQL database directly if you feel comfortable using the command line or what ever DB tool you are using. You could even automate this. But at that point it would be some script or cron, or have a special module that does this for you. All the data is in your database, so you can really modify or manipulate it in any form.

Of course messing with the database directly is not advised, a bug in your script or software can cause problems. Again, no problem, WHMCS has an API for that, to modify data safely. You could basically use this:

https://developers.whmcs.com/api-reference/updateclientdomain/

And then update the pricing on each customer on the fly from your PHP script once the domain prices are updated. That API will let you update the recurring price, that means the cost the customer will pay on the next renewal which is probably what you want if pricing has changed. To resume, you don't need to use the tool WHMCS is providing. You can build your own or just use your own methods directly on the database.

Edited by yggdrasil

Share this post


Link to post
Share on other sites
9 minutes ago, Chris74 said:

Is there a better option than the "Bulk Pricing Updater" for keeping the prices of clients domains updated?

for domains, I wouldn't use Bulk Pricing Updater...

since that post, I don't recall ever seeing anything in the changelogs about it being fixed - but I could be wrong.

13 minutes ago, Chris74 said:

I want to update the clients individual domain prices automatically to match the main prices in the TLD configuration.

the only addon I can think of applicable to this would be Auto Recalculate Prices - that said, I tried the online demo, and i've still no idea how to use it - perhaps it would be easier to understand if you install the 7-day trial version rather than try a crippled demo version. 😕

Share this post


Link to post
Share on other sites

Yeah I've just seen that auto price calculator module. I tried the demo but got an access denied error.

Can't believe there's no simple way to do this in WHMCS. It should be built in.

I also don't agree with the way WHMCS stores the original number of years registered and invoices for that same period on renewal. It's reasonable to assume that you might reg a domain for an initial period but not want to renew it for the same number of years the next time. I think the default auto renewal "registration period" should be set to one year and then clients can always add as many years as they want manually. It seems the wrong way around to me. The other alternative would be to allow the client to set the auto renewal period themselves.

Ideally, I'd like an option to fix the "registration period"  to 1 year on all domains after the initial registration - or to completely disable this functionality - then (most importantly) I'd like an option to synchronize the domain prices with the current pricing in the tld config.

I might get a 7 day trial of that module and see if it's any good.

 

 

Share this post


Link to post
Share on other sites
53 minutes ago, Chris74 said:

Yeah I've just seen that auto price calculator module. I tried the demo but got an access denied error.

yeah I get the same... but if you click on the link in their demo addons dropdown of the setup, you get to it eventually...

53 minutes ago, Chris74 said:

Can't believe there's no simple way to do this in WHMCS. It should be built in.

it's been requested for years...

53 minutes ago, Chris74 said:

I also don't agree with the way WHMCS stores the original number of years registered and invoices for that same period on renewal. It's reasonable to assume that you might reg a domain for an initial period but not want to renew it for the same number of years the next time. I think the default auto renewal "registration period" should be set to one year and then clients can always add as many years as they want manually. It seems the wrong way around to me. The other alternative would be to allow the client to set the auto renewal period themselves.

if "Enable Renewal Orders" is ticked in General Settings, then the client can renew their domains via the clientarea/cart whenever they want (within set time limits for each TLD) and extend the registration period by x additional years (as long as you've added pricing for those additional years).

53 minutes ago, Chris74 said:

Ideally, I'd like an option to fix the "registration period"  to 1 year on all domains after the initial registration - or to completely disable this functionality - then (most importantly) I'd like an option to synchronize the domain prices with the current pricing in the tld config.

the simplest solution would be to just price a TLD for 1 year (reg/tran/renew) and then the client can only register/transfer for one year, and then only renew annually... the pricing synchronisation would have to be handled by third-party addon or SQL query (the API solution is just a convenient SQL update query)...

one other thought on domain price sync, but if you're using a Logicboxes registrar, then the free ResellerClub Tools addon can update existing client domain pricing... not sure if a domain has to be assigned to an applicable registar, as it's just a database update query its running - might be worth contacting Marco (@imaticon) to confirm the viability of that.

Quote

AutoUpdate Domain Recurring Prices - Automatically update all your recurring prices each day with the daily cron

 

53 minutes ago, Chris74 said:

I might get a 7 day trial of that module and see if it's any good.

if you do, let others know by replying to the thread or adding a review in Marketplace.

Share this post


Link to post
Share on other sites
10 minutes ago, brian! said:

if "Enable Renewal Orders" is ticked in General Settings, then the client can renew their domains via the clientarea/cart whenever they want (within set time limits for each TLD) and extend the registration period by x additional years (as long as you've added pricing for those additional years).

the simplest solution would be to just price a TLD for 1 year (reg/tran/renew) and then the client can only register/transfer for one year, and then only renew annually... the pricing synchronisation would have to be handled by third-party addon or SQL query (the API solution is just a convenient SQL update query)... 

Yes, that goes without saying. I suppose what I meant was that I'd prefer WHMCS not to remember the registration period from the first order at all  - and default the auto renewal period simply to 1 year. As you say, the client can always add years to the registration manually whenever they want to. It would be very restrictive to reduce the maximum registration period down to 1 year. My main point is that it isn't common sense to assume the customer will want to renew their domain for the same number of years they originally registered it for, so WHMCS should really consider providing an option in the general settings to effectively disable this behaviour and assume a 1 year renewal period for auto invoicing.

11 minutes ago, brian! said:

one other thought on domain price sync, but if you're using a Logicboxes registrar, then the free ResellerClub Tools addon can update existing client domain pricing..

Yes I'm using it and I completely forgot that this was hooked into the daily cron. What I did was to run the /modules/addons/resellerclubmods_tools/cron/resellerclubmods_dompricesync.php cron to update the prices after I'd made some changes to our domain pricing - I noticed that the client pricing didn't get updated. I thought incorrectly that the dompricesync.php would do that - but it's actually a different process that handles this. 
So after all this, I realise now that all I need to do is force the daily cron - or just wait until tomorrow!

Share this post


Link to post
Share on other sites
13 minutes ago, Chris74 said:

My main point is that it isn't common sense to assume the customer will want to renew their domain for the same number of years they originally registered it for, so WHMCS should really consider providing an option in the general settings to effectively disable this behaviour and assume a 1 year renewal period for auto invoicing.

I think there is *some* logic to it, in that if a client registers a domain for say 2 years (e.g a .co.uk customer who is used to the old 2-year Nominet registrations), then they might (will probably?) want to renew it for two years - WHMCS has to assume something in terms of renewal length, and I could see more sense in assuming the same length rather than 1 year... though maybe i've been using WHMCS for too long and i'm now warped by their way of doing things! 😵

I suspect WHMCS would just tell you to write a hook to change the recurring price and period after registration - the suggested API above could be used to do that... even if WHMCS had a feature request with 100+ votes, then not even that would be a guarantee of implementation!

Share this post


Link to post
Share on other sites
1 hour ago, brian! said:

I think there is *some* logic to it, in that if a client registers a domain for say 2 years (e.g a .co.uk customer who is used to the old 2-year Nominet registrations), then they might (will probably?) want to renew it for two years - WHMCS has to assume something in terms of renewal length, and I could see more sense in assuming the same length rather than 1 year... though maybe i've been using WHMCS for too long and i'm now warped by their way of doing things!

I don't agree and I don't think  WHMCS should assume anything. There's too much hard coded "assumption" built into WHMCS that we can't change. I'd like the flexibility to allow the client to set the auto renewal period per domain whenever they want. That way, after the initial renewal, they could reduce or increase it as they liked. I suppose it's actually very simple to implement too. Just one field to update. If we put the decision in the hands of the client - it's one less thing for us to worry about.

Share this post


Link to post
Share on other sites
9 hours ago, Chris74 said:

Yeah I've just seen that auto price calculator module. I tried the demo but got an access denied error.

Can't believe there's no simple way to do this in WHMCS. It should be built in.

I also don't agree with the way WHMCS stores the original number of years registered and invoices for that same period on renewal. It's reasonable to assume that you might reg a domain for an initial period but not want to renew it for the same number of years the next time. I think the default auto renewal "registration period" should be set to one year and then clients can always add as many years as they want manually. It seems the wrong way around to me. The other alternative would be to allow the client to set the auto renewal period themselves.

Ideally, I'd like an option to fix the "registration period"  to 1 year on all domains after the initial registration - or to completely disable this functionality - then (most importantly) I'd like an option to synchronize the domain prices with the current pricing in the tld config.

I might get a 7 day trial of that module and see if it's any good.

 

 

Actually that is what I like about WHMCS. Look it like this. Some companies might want to charge a different price on renewal per customer or even per domain. This makes sense for example if you are using multiple registrars, even for the same .com and same customer could have a different cost depending on the time it was registered and reseller. With WHMCS this is possible and you can still bulk update all prices if you want, with the mentioned tool or another method.

The reason I say this is preferable is because I used at least 2 other billing systems in the past that worked like you said (simple global setting vs WHMCS granular pricing). If you updated the renewal for a .com in the settings, it updated for every single domain and customer. You know what happen? People complained about this because they required a different price per customer or even per domain. More people where unhappy with that simple approach. So WHMCS does this completely right. The pricing is PER unique domain, and makes sense as one domain is a unique product. It can indeed cost differently depending on the registrar or settings for that customer.

In the other software approach, since the pricing was global, there was no way you could do this without affecting the pricing for all domains and all customers. Granular settings are always better than one single setting that changes everything installation wide. WHMCS approach on this is completely correct. Personally while I don't have a different pricing per customer I do use more than one registrar, so I absolutely need this. The reason is that even for the same extension, pricing might be different. My customers understand this. This domain is on X registrar so the price is XX. But that domain XB is with another one so it might be cheaper or more expensive per year.

This is also required for companies that run temporarily promotions or just might want to have domain resellers, or VIP customers or special discounted domains for some customer. You absolutely want to be able to have a per domain pricing for each domain and customer. There are multiple creative ways you can go about this. You don't need to use it but at least you still have the option. I don't see the bulk issue as a problem either. While the tool could receive more love from WHMCS developers and more work to require less clicks, like I said, you can build your own that updates pricing like you want, even automated, for all customers. Nothing stops someone from doing exactly that.

What if you got a promotion on a month on which all domains will cost XX$ price even on renewals? Customers that registered in that month, will need to have a different price even on renewals as opposed to regular registrations done outside that promotion for other customers. This is exactly why the price is per domain.

Edited by yggdrasil

Share this post


Link to post
Share on other sites
5 hours ago, Chris74 said:

I don't agree and I don't think  WHMCS should assume anything. There's too much hard coded "assumption" built into WHMCS that we can't change. I'd like the flexibility to allow the client to set the auto renewal period per domain whenever they want. That way, after the initial renewal, they could reduce or increase it as they liked. I suppose it's actually very simple to implement too. Just one field to update. If we put the decision in the hands of the client - it's one less thing for us to worry about.

But it could also work the other way around. What if a company is offering 2 years minimum and requires a 2 year renewal period as well? Renewing per year is definitely more expensive for you, in terms of merchant fees (processing the payment) more individual charges are more expensive than a single unified one. I never had someone complaining about how this works. If someone registered a domain for 3 years, nothing stops him renewing one year again next year. But with auto renewal he will indeed get an invoice for 3 years and nobody in my case said they don't want this. Something which I seriously expected to happen when I first started using WHMCS, but no complaints so far in years. You need to assume here that if someone has a domain on a 5 year period, the agreement is for 5 years. This is correctly. Nothing stops you from changing this per domain and nothing prevents a customer from still just renewing for a single year manually if he/she wants.

Should the customer be able to set the auto renewal period? Maybe. But currently that is not a setting on WHMCS. You can of course code this with the API or a hook, put a button on the domain area, then let the user change the domain period (and you will also need to update the pricing). Now I'm not sure how many people will use this because like I said, they can still renew for 1 year if they want manually, they don't need to wait for the auto renewal invoice to kick in.

And the customer can look his domain and clearly see the period of years, next renewal date and total recurring price, so he is aware the domain is for example on a 3 year period and so the renewal will also be for 3 years. I assume this is why I never got complaints, because the information is visible on the customer area for each domain. If a customer does not want that, he probably turns auto renewal off and does a manual renewal for a single year or they can contact you.  You also need to take into account that some extensions indeed require a minimum of 2 years or more, so I'm not sure how smart it is to have a feature that lets the customers change the renewal period.

Edited by yggdrasil

Share this post


Link to post
Share on other sites
15 hours ago, Chris74 said:

I don't agree and I don't think WHMCS should assume anything.

I meant in the sense that if they aren't going to give the end-user a choice, then they have to make an assumption... and assuming same renewal period as registration period makes more sense to me than defaulting to minimum renewal period for that TLD.... though i'm not suggesting WHMCS users shouldn't be given choices at time or order, and later- far from it.

15 hours ago, Chris74 said:

There's too much hard coded "assumption" built into WHMCS that we can't change.

I certainly wouldn't argue with that- i've said it myself too many times - WHMCS thinks they know best.

15 hours ago, Chris74 said:

I'd like the flexibility to allow the client to set the auto renewal period per domain whenever they want.

I can remember that being asked for years ago - WHMCS' solution was to enable domain renewals whenever the client wants - but renewal is actioned immediately... which I know is not the same as you're asking for as you want to just change the renewal price price/period but keep the same NDD and not renew immediately.

15 hours ago, Chris74 said:

That way, after the initial renewal, they could reduce or increase it as they liked. I suppose it's actually very simple to implement too. Just one field to update. If we put the decision in the hands of the client - it's one less thing for us to worry about.

effectively it's just a form that updates the row in the tbldomains table...

and i'd agree with everything that @yggdrasil posted above too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

By using this site, you agree to our Terms of Use & Guidelines