Jump to content
  • 0

Client and invoicing questions


BoardBoss

Question

Greetings all - I am a long-time WHMCS user currently investigating leaving WHMCS. For all it does, WHMCS is nowhere near perfect. That said, I doubt many solutions are, so I wanted to ask a few questions before going down the Blesta path.

1) Does Blesta allow the date/time format to be configured per user, or at least per client? This is important because a customer in the US views the date 12.03.2021 a whole lot differently than someone in Europe.

2) For this next question, let's assume two currencies. For easier understanding, let's say USD and JPY, with an even exchange rate of USD 1 being equivalent to JPY 100, or a ratio of 1:100 (or 100:1, depending on which way you look at it). So, some client gets invoiced in JPY for ¥5000. Everything shows ¥5000, since their account is set to use JPY. Now this client opens an office in New York. If we just change their currency from JPY to USD, then obviously the previous invoice transactions are going to be miscalculated in their account. Instead of being ¥5000, it is going to show as $5000. This is why the currency should be able to be specified by invoice. So if a client wants to be billed in USD for one project, and JPY for another, that is not a problem. Does Blesta allow this?

3) Can an invoice be easily changed? In other words, say I issue an invoice for $50 with a due date of 10 May 2021, then realize the due date should have been 10 April 2021. Do I have to issue a credit invoice, and then generate another invoice with the correct information on it, or does Blesta allow me to simply make the date change and send a new email? This is important because some locales do not permit modifications to any invoice once it has been created and sent.

I hope to hear from a Blesta expert soon. Thanks in advance for any help you can provide.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0
Quote

Greetings all - I am a long-time WHMCS user currently investigating leaving WHMCS. For all it does, WHMCS is nowhere near perfect. That said, I doubt many solutions are, so I wanted to ask a few questions before going down the Blesta path.

Welcome to Blesta ?

Quote

1) Does Blesta allow the date/time format to be configured per user, or at least per client? This is important because a customer in the US views the date 12.03.2021 a whole lot differently than someone in Europe.

It's configured per system. Settings > Company > Localization

Quote

2) For this next question, let's assume two currencies. For easier understanding, let's say USD and JPY, with an even exchange rate of USD 1 being equivalent to JPY 100, or a ratio of 1:100 (or 100:1, depending on which way you look at it). So, some client gets invoiced in JPY for ¥5000. Everything shows ¥5000, since their account is set to use JPY. Now this client opens an office in New York. If we just change their currency from JPY to USD, then obviously the previous invoice transactions are going to be miscalculated in their account. Instead of being ¥5000, it is going to show as $5000. This is why the currency should be able to be specified by invoice. So if a client wants to be billed in USD for one project, and JPY for another, that is not a problem. Does Blesta allow this?

You can do that but their old invoices will be in Yen and their new invoices will be in USD. There'll be two currencies on their client account.

We took the mick out of whmcs in our billing brawl where if you change the currency on WHMCS it changes the symbol not the new invoices / services.

Quote

3) Can an invoice be easily changed? In other words, say I issue an invoice for $50 with a due date of 10 May 2021, then realize the due date should have been 10 April 2021. Do I have to issue a credit invoice, and then generate another invoice with the correct information on it, or does Blesta allow me to simply make the date change and send a new email? This is important because some locales do not permit modifications to any invoice once it has been created and sent.

Yes you can either modify the invoice if no payment has been made or un-apply it and edit the invoice. There are other ways but that's the way I do it.

Link to comment
Share on other sites

  • 0
On 4/8/2021 at 12:30 PM, Michael said:

Yes you can either modify the invoice if no payment has been made or un-apply it and edit the invoice. There are other ways but that's the way I do it.

According to Icelandic law, at least as I understand it, is that any published invoice cannot be edited. This means that even if the issue with an invoice is a simple typo like 'Gld' instead of 'Gold', the invoice must be cancelled, a credit invoice issued, and a completely new invoice generated. A problem that cropped up with WHMCS was when late charges were added. Instead of creating a new invoice for the late charges, WHMCS simply modified the original invoice. That is not legal in Iceland (and many other countries from what I hear).

Link to comment
Share on other sites

  • 0
3 hours ago, BoardBoss said:

According to Icelandic law, at least as I understand it, is that any published invoice cannot be edited. This means that even if the issue with an invoice is a simple typo like 'Gld' instead of 'Gold', the invoice must be cancelled, a credit invoice issued, and a completely new invoice generated. A problem that cropped up with WHMCS was when late charges were added. Instead of creating a new invoice for the late charges, WHMCS simply modified the original invoice. That is not legal in Iceland (and many other countries from what I hear).

In Blesta 5.1.x you'll be able to "Add option to cache copy of invoice when generated": https://dev.blesta.com/browse/CORE-923

You can edit invoices just to add notes which was part of 3.x, you can add private or public notes. 

I'll ask Paul about it and see what I can do, if you can open a feature request for an option to generate a new invoice on change, that would be amazing and can be tracked and I'll try and push it forward.

Link to comment
Share on other sites

  • 0

Hi @Michael! Thank you for the information. In locales such as Iceland, and in much of Europe as I understand it, the 'cached copy' would not satisfy the law. I read the change you referenced, and I see that being problematic. Here's why.

Let's say an invoice is created. Once it is published, am I referencing WHMCS features, i.e., draft and published, here since I don't yet have enough experience using Blesta, the invoice can be seen by the client, emailed to the client, etc. Once that invoice is published, it CANNOT be edited in any way. None. Like if there is just a simple typo, that invoice must be cancelled and a new one created. I mean it can be edited in WHMCS, and that is one of the reasons I am looking to dump them. Not the only one, just one of many.

So I gave this a bit of thought and believe a viable solution might be to simply lock the record associated with an invoice that has been published. No changes that would be visible to the customer, including any notes, would be allowed to be added to that invoice. Of course if you have an area for admin notes, those could be added, but never as part of the actual invoice. ANY change to an invoice requires cancelling, crediting and reissuing invoices.

I also see a problem with the creation of a cached copy of an invoice. Let's say you make changes to an invoice that has already been issued to the client, and then send the changed invoice to them. Now they log in and see the unchanged cached copy of the invoice. How would they know which invoice is superior, or the correct invoice? If you think about an invoice, bill, receipt, or statement of any kind, what's to stop me from using a tool to edit or recreate the content of any of these documents and then claiming that the document I edited is the "real" document? How is that any different from using a cached copy scheme? No company would want to have to, nor could they, defend that position in any legal proceeding.

That can create a real can of worms. If you, as the invoice creator, have actually modified the invoice since it was sent to the client, you have just broken the law in many places. That needs to be avoided, although invoice changes are fairly routine for myriad reasons. Fortunately, as I said above, I think there is a relatively easy fix:

1) Generate an invoice and "lock" the invoice so no changes can be made; no admin or other notes added since invoice creation could be added directly to the invoice
2) If an invoice needs to be changed, then an admin should be able to cancel the invoice, and copy that invoice to a new number, make any needed changes, and then publish/send the corrected invoice
3) The original invoice would be mark cancelled, and optionally any remarks added to it, and then the new invoice with the new invoice number becomes the only legitimate copy of that invoice

I know this is not something that can happen overnight, but I believe it would make Blesta truly a WHMCS-killer. At least I hope so. Let me know how else I can help.

Link to comment
Share on other sites

  • 0
3 hours ago, BoardBoss said:

I also see a problem with the creation of a cached copy of an invoice. Let's say you make changes to an invoice that has already been issued to the client, and then send the changed invoice to them. Now they log in and see the unchanged cached copy of the invoice. How would they know which invoice is superior, or the correct invoice? If you think about an invoice, bill, receipt, or statement of any kind, what's to stop me from using a tool to edit or recreate the content of any of these documents and then claiming that the document I edited is the "real" document? How is that any different from using a cached copy scheme? No company would want to have to, nor could they, defend that position in any legal proceeding.

A cached invoice insures that the contact details for the client, should they be updated in the system, are not also updated in previous invoices. There is a staff ACL permission called "Edit Invoice". Unless a staff member has access to this, they CANNOT modify an invoice. If a staff member does have access to this, and edits an invoice, it will be re-cached at that time.

So, I don't think this presents a problem. Do not let staff have edit access to invoices, and enable the invoice cache in 5.1 and invoices cannot change.

Unless I'm missing something else?

Link to comment
Share on other sites

  • 0
3 hours ago, Paul said:

A cached invoice insures that the contact details for the client, should they be updated in the system, are not also updated in previous invoices. There is a staff ACL permission called "Edit Invoice". Unless a staff member has access to this, they CANNOT modify an invoice. If a staff member does have access to this, and edits an invoice, it will be re-cached at that time.

So, I don't think this presents a problem. Do not let staff have edit access to invoices, and enable the invoice cache in 5.1 and invoices cannot change.

Unless I'm missing something else?

If anyone can edit a published invoice, then than violates the law in (at least) many European countries. There have been calls to do the same sort of security in the US; however, I heard QuickBooks would be lobbying against any such changes because they would pretty much have to rewrite their code. Back to Blesta, why would anyone need to modify an invoice after it was sent to a client? I have not gotten that far in my testing yet, so I am basing this on my experience with WHMCS. In it you can create a draft invoice and then once it is ready publish it or publish it and send an email that the invoice was created.

Link to comment
Share on other sites

  • 0
6 minutes ago, BoardBoss said:

If anyone can edit a published invoice, then than violates the law in (at least) many European countries. There have been calls to do the same sort of security in the US; however, I heard QuickBooks would be lobbying against any such changes because they would pretty much have to rewrite their code. Back to Blesta, why would anyone need to modify an invoice after it was sent to a client? I have not gotten that far in my testing yet, so I am basing this on my experience with WHMCS. In it you can create a draft invoice and then once it is ready publish it or publish it and send an email that the invoice was created.

Yeah, what I'm saying is that you can make it so that nobody can edit an invoice. Disable the staff ACL permission for "Edit Invoice" and enable caching (in 5.1), and invoices will not change at all once they are created.

Link to comment
Share on other sites

  • 0
3 minutes ago, Paul said:

Yeah, what I'm saying is that you can make it so that nobody can edit an invoice. Disable the staff ACL permission for "Edit Invoice" and enable caching (in 5.1), and invoices will not change at all once they are created.

Okay, my apologies for the misunderstanding. What about the ability to create a new invoice based off of the old invoice, or would the replacement invoice have to be created from scratch? So let's say I have 12 line items on the invoice and I need to add one more after the invoice has already been created. When I cancel the original invoice, can I make a copy of the cancelled invoice as a basis for the replacement invoice (with a new invoice number on it)?

Link to comment
Share on other sites

  • 0
7 minutes ago, BoardBoss said:

Okay, my apologies for the misunderstanding. What about the ability to create a new invoice based off of the old invoice, or would the replacement invoice have to be created from scratch? So let's say I have 12 line items on the invoice and I need to add one more after the invoice has already been created. When I cancel the original invoice, can I make a copy of the cancelled invoice as a basis for the replacement invoice (with a new invoice number on it)?

It's something we would certainly consider adding. I'm not sure if there are any feature requests for it yet https://requests.blesta.com but we do something similar with Packages (the "copy" link next to them can be used to clone them and edit, before saving/creating a new package). I don't see why we wouldn't do it for invoices too, we just haven't had many requests for it as far as I remember.

Link to comment
Share on other sites

  • 0
8 hours ago, Paul said:

A cached invoice insures that the contact details for the client, should they be updated in the system, are not also updated in previous invoices. There is a staff ACL permission called "Edit Invoice". Unless a staff member has access to this, they CANNOT modify an invoice. If a staff member does have access to this, and edits an invoice, it will be re-cached at that time.

So, I don't think this presents a problem. Do not let staff have edit access to invoices, and enable the invoice cache in 5.1 and invoices cannot change.

Unless I'm missing something else?

we have done this in our admin tools plugins, we have worked with it for a years, but finally is not the best solution, some times the cached invoices are emptied and a manual search for a requested invoice has become a nightmare for .

the best solution is to add client info and service info in the invoice table or a separate table then join them, this way we can see a list of invoice, print/download/search etc ...  from admin side. we have created a plugin that clone any created invoice in new table and save all the client/service/tax/coupon ...etc. we have created also credit note for our custom plugin, and now we are almost 95% EU compliant law.

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