Jump to content
  • 0

Features checklist for WHMCS->Blesta migration


Question

Posted

Hello,

I'm wishing to dump my lifetime license of WHMCS (I own 2 of them, if anybody is interested). But would like to check if some features I need are implemented in Blesta, mainly to comply with EU rules and taxes and our special requirements.

Here's a list:

  • Proforma invoicing and separate invoice numbering for proforma and invoices. Perhaps proforma invoice only for selected customers (or invoice only for selected customers).
  • EU vat rules, VAT and personal fiscal codes for physical persons. Bonus would be vies check on national VAT numbers to enable/disable VAT on each invoice.
  • Freezing of the invoice once committed, including the header, address etc, while allowing proforma invoices to be amended until transformed into real invoices.
  • Domain registrars: Enom, ResellerClub.
  • Billing of full month on prorata services for the first month, even if the service starts during the month
  • One invoice per month per customer, on a given day (1st of the month for example) which includes all the services accrued during a month, even if their start day differs.
  • Pre or Post billing: Bill one month in advance or at the end of the month based on customer and/or service.
  • Prepaid / refill accounts

Thank you

18 answers to this question

Recommended Posts

  • 1
Posted
22 hours ago, DavidD2 said:

Hi,

I missed the Discord chat today, so I decided to post this here.

I did a trial import of my WHMCS database a few days ago.  The results were favorable and I'd say it puts Blesta at ~90%++ complete.

A few questions and observations:

1) We use Stripe primarily.  The import of my Stripe keys was fine.  The import is also good at enabling the billing modules I need.  Looking in the Blesta database, I see the Stripe cust and card ids in the table "accounts_cc".   Am I correct to assume these customers are ready to bill via Stripe?   Meaning, Stripe only needs these two variables, so it's good to go?

2) After the import my WHMCS administrator login did not work.   The account was imported, i can see my username in the database, I can see a password hash in the database for my username, but my password didn't work.   My primary concern is customers passwords don't work.   I did set legacy passwords and algo to "whmcs" in the config file.   Unfortunately, other than my admin password, I didn't have a customer account to test with.  I'm just curious if you have seen admin logins not working after import.   

3) The imported invoices are largely correct.  It handles normal charges and credits properly.   I did notice that it did not handle refunds correctly.  So there was/is ~80 invoices that had refunds in the past that I'll need to correct manually.  No biggie.

4) The import sets up packages properly.   It did not setup add-on packages and it does not adjust prices on customers that do not pay the standard package price.  For example, we have an add-on for firewall and an add-on for backup.  We'll need to manually create these and then add them to the customers.   As for the non-standard pricing, we'll need to manually adjust these on the customers that do not pay full price.

Again, it's pretty good and gets us to a reasonable position to switch from WHMCS to Blesta in a reasonable amount of time.  If you have suggestions/answers on any of the above, it would be greatly appreciated.  I'm going to do another import after cleaning out a bunch of ancient data from our WHMCS database and also add test client accounts so I can verify password importation works.
 

If anyone sees this in the future:

1.  Imported Stripe information from WHMCS is ready to bill.   You need to choose the currencies in the module setup and then you can charge cards using existing stored CC information (Stripe tokens).  Tested today and works.

2)  My administrator login still did not work, but test client accounts I added before export from WHMCS did work.

 

  • 1
Posted

#3:  On invoices with refunds after importation via the WHMCS importer (causing overdue invoices in Blesta) :  It's more involved and largely is related to our WHMCS customer's final invoices or SLA credits given over the years.   If a refund is given to a customer on an invoice, and the invoice is marked paid/voided, WHMCS considers the paid or voided invoice as closed.   Even though there is a technically a balance.

While this does require manual correction, the manual correction isn't needed on Blesta...  The correction should occur on WHMCS.  

After adding a line item to the WHMCS to reflect the refund to the customer, Blesta is happy.   

- The issue with the importer not applying multiple payments on a WHMCS invoice was related to credits which was also resolved by adding line items to subtract money owed on the invoices and removing the WHMCS credits.   WHMCS credits being applied to invoice creates a transaction that is visible at the bottom, but the invoice itself is never marked while a line item reflecting the credit.  WHMCS just has the transaction and marks the invoice paid.   Blesta appears to want an actual line item.   

All of issue #3 can largely be attributed to the sloppy accounting that is allowed by WHMCS.   While it all "just works" it's by no means clean accounting.  

In summary, my original list is largely resolved and I hope my posts help someone in the future. 

 

  • 0
Posted

I tried hard, but still stuck with WHMCS. Blesta is very nice, and the migration script does 90% of the work. However, the issues above still remain and prevent me from using Blesta in the EU.

In know that some of the points in my original post are not into WHMCS too and that their implementation required me to write some code for WHMCS, but I'm not in a position to do so again for Blesta.

  • 0
Posted

It seems that for now we are still captives of WHMCS. I also think Blesta could be a better alternative but I'm afraid something could be wrong after the import.

  • 0
Posted
7 hours ago, Aitor said:

It seems that for now we are still captives of WHMCS. I also think Blesta could be a better alternative but I'm afraid something could be wrong after the import.

Have you installed the trial recently or attempted an import? If so, which specific items are you concerned about? Many of the things mentioned by the OP in this thread are implemented. Like Enom, ResellerClub, Freezing invoices, VIES VAT, and more.. I only skimmed it.

  • 0
Posted

Good news then! thank you.

The last attempt I tried was in december. Maybe I'll try again in august. I think it will be better to wait until the end of a fiscal year but perhaps I try it before.

  • 0
Posted
50 minutes ago, Aitor said:

Good news then! thank you.

The last attempt I tried was in december. Maybe I'll try again in august. I think it will be better to wait until the end of a fiscal year but perhaps I try it before.

If you have any questions please let us know. Also, there's a link to join our Discord server in the forum navigation, the community can be very helpful.

  • 0
Posted

Hi,

I missed the Discord chat today, so I decided to post this here.

I did a trial import of my WHMCS database a few days ago.  The results were favorable and I'd say it puts Blesta at ~90%++ complete.

A few questions and observations:

1) We use Stripe primarily.  The import of my Stripe keys was fine.  The import is also good at enabling the billing modules I need.  Looking in the Blesta database, I see the Stripe cust and card ids in the table "accounts_cc".   Am I correct to assume these customers are ready to bill via Stripe?   Meaning, Stripe only needs these two variables, so it's good to go?

2) After the import my WHMCS administrator login did not work.   The account was imported, i can see my username in the database, I can see a password hash in the database for my username, but my password didn't work.   My primary concern is customers passwords don't work.   I did set legacy passwords and algo to "whmcs" in the config file.   Unfortunately, other than my admin password, I didn't have a customer account to test with.  I'm just curious if you have seen admin logins not working after import.   

3) The imported invoices are largely correct.  It handles normal charges and credits properly.   I did notice that it did not handle refunds correctly.  So there was/is ~80 invoices that had refunds in the past that I'll need to correct manually.  No biggie.

4) The import sets up packages properly.   It did not setup add-on packages and it does not adjust prices on customers that do not pay the standard package price.  For example, we have an add-on for firewall and an add-on for backup.  We'll need to manually create these and then add them to the customers.   As for the non-standard pricing, we'll need to manually adjust these on the customers that do not pay full price.

Again, it's pretty good and gets us to a reasonable position to switch from WHMCS to Blesta in a reasonable amount of time.  If you have suggestions/answers on any of the above, it would be greatly appreciated.  I'm going to do another import after cleaning out a bunch of ancient data from our WHMCS database and also add test client accounts so I can verify password importation works.
 

  • 0
Posted
On 10/12/2024 at 8:05 PM, DavidD2 said:

#3:  On invoices with refunds after importation via the WHMCS importer (causing overdue invoices in Blesta) :  It's more involved and largely is related to our WHMCS customer's final invoices or SLA credits given over the years.   If a refund is given to a customer on an invoice, and the invoice is marked paid/voided, WHMCS considers the paid or voided invoice as closed.   Even though there is a technically a balance.

While this does require manual correction, the manual correction isn't needed on Blesta...  The correction should occur on WHMCS.  

After adding a line item to the WHMCS to reflect the refund to the customer, Blesta is happy.   

- The issue with the importer not applying multiple payments on a WHMCS invoice was related to credits which was also resolved by adding line items to subtract money owed on the invoices and removing the WHMCS credits.   WHMCS credits being applied to invoice creates a transaction that is visible at the bottom, but the invoice itself is never marked while a line item reflecting the credit.  WHMCS just has the transaction and marks the invoice paid.   Blesta appears to want an actual line item.   

All of issue #3 can largely be attributed to the sloppy accounting that is allowed by WHMCS.   While it all "just works" it's by no means clean accounting.  

In summary, my original list is largely resolved and I hope my posts help someone in the future. 

 

Thanks for sharing your experience. I am also considering moving to Blesta, but am worried about migration. Would be nice if Blesta could do the migration to help us make the switch.

  • 0
Posted

Hi,

I'm having a similar issue. I've imported everything from WHMCS, but transactions are not applied to the invoices. They have been added as Credit, so all clients have a lot of credit in their accounts.

Anyone had this issue and knows a solution?

  • 0
Posted
2 hours ago, Andrei Chira said:

Hi,

I'm having a similar issue. I've imported everything from WHMCS, but transactions are not applied to the invoices. They have been added as Credit, so all clients have a lot of credit in their accounts.

Anyone had this issue and knows a solution?

Did you check the option to balance credits on import? What version of WHMCS did you import from, and did you import into Blesta v5.11.2?

Are there open invoices in addition to the credits? If so, Blesta will apply the transactions to any open invoices starting with the oldest invoice when the cron runs, but you shouldn't enable the cron unless you're ready to go live unless you disable all other automation tasks under Settings > Company > Automation first so that it only performs the apply credit option. Because WHMCS does not properly account for and track invoices and transactions the option to balance will attempt to make the account balance match up once imported into Blesta. In Blesta, every transaction applied to an invoice is tracked and associated. So in cases where an invoice is simply marked as paid with no transaction, or a credit is created out of thin air with no transaction, the only solution is the balancing option which will either generate a credit or generate an invoice to consume extra credits. 

  • 0
Posted
1 hour ago, Paul said:

Did you check the option to balance credits on import? What version of WHMCS did you import from, and did you import into Blesta v5.11.2?

Are there open invoices in addition to the credits? If so, Blesta will apply the transactions to any open invoices starting with the oldest invoice when the cron runs, but you shouldn't enable the cron unless you're ready to go live unless you disable all other automation tasks under Settings > Company > Automation first so that it only performs the apply credit option. Because WHMCS does not properly account for and track invoices and transactions the option to balance will attempt to make the account balance match up once imported into Blesta. In Blesta, every transaction applied to an invoice is tracked and associated. So in cases where an invoice is simply marked as paid with no transaction, or a credit is created out of thin air with no transaction, the only solution is the balancing option which will either generate a credit or generate an invoice to consume extra credits. 

No, I didn't check the option to balance credits. None of our clients have any credit, we don't use credits, so I thought it wasn't necessary. I have the latest WHMCS version, 8.12.1, and the latest Blesta version, 5.11.2. There are a few open invoices, but most are closed. I will restore a backup from before the import and run the import again with the balance credits ON. Thanks.

  • 0
Posted

I have rerun the import with the option to balance credits, but it's still the same - transactions are not applied to invoices, and the client has credit. The invoices are Closed, though. 

  • 0
Posted
20 hours ago, Andrei Chira said:

I have rerun the import with the option to balance credits, but it's still the same - transactions are not applied to invoices, and the client has credit. The invoices are Closed, though. 

If the invoices are closed, they should have transactions applied to them. In Blesta, the sum of unapplied transactions make up the account credit. If you click on the invoice row, it will expand to show which if any transactions are applied to it. Is your invoice closed with no transactions applied to it?

image.png

  • 0
Posted
On 4/10/2025 at 5:45 AM, Andrei Chira said:

Yes, the invoices are closed with no transactions applied, and the clients have credit = the total amount they ever paid us.

 

Screenshot 2025-04-10 at 15.39.32.png

Screenshot 2025-04-10 at 15.40.03.png

Upon further inspection (and other reports), I believe there is a bug in 5.11 preventing the transactions from being applied correctly during import. At this time we'd recommend importing on 5.10.3 and then upgrading to 5.11.2 after that. We are trying to reproduce the issue now and if we can, we hope to have a fix in 5.11.3 soon.

  • 0
Posted
On 4/10/2025 at 5:45 AM, Andrei Chira said:

Yes, the invoices are closed with no transactions applied, and the clients have credit = the total amount they ever paid us.

 

Screenshot 2025-04-10 at 15.39.32.png

Screenshot 2025-04-10 at 15.40.03.png

We are working on a fix for this in 5.11.3, you can try this out now if you like:

Edit the file ~/plugins/import_manager/components/migrators/whmcs/whmcs_migrator.php

Around line 70 look for the $actions code block, replace the entire block of code with the following (We moved importTransactions to below importInvoices.)

    $actions = [
        'importStaff', // works
        'importClients', // works
        'importContacts', // works
        'importTaxes', // works
        'importCurrencies', // works
        'importPackages', // works
        'importPackageOptions', // works
        'importServices', // works
        'importDomains', // works
        'importInvoices', // works
        'importTransactions', // works
        'importSupportDepartments', // works
        'importSupportTickets', // works
        'importAffiliates', // works
        'importMisc' // works
    ];

If you try this, let us know how it goes.

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