Jump to content
PauloV

Lets Fix Blesta Eu Invoices And Make Vatmoss Compatible (All In One Thread)

Recommended Posts

Hello Paul/Tyson/Cody
 
EU Commission Information: http://ec.europa.eu/taxation_customs/taxation/vat/how_vat_works/telecom/index_en.htm
How to Register for and Use the VAT Mini One Stop Shop (MOSS): https://www.gov.uk/register-and-use-the-vat-mini-one-stop-shop
VAT Rates by Country: http://ec.europa.eu/taxation_customs/resources/documents/taxation/vat/how_vat_works/rates/vat_rates_en.pdf
 
We need to "polish" Eu Billing/Pro-Forma invoices in blesta, there is alredy alot of talk in blesta foruns and a recent one in WebHostinTalk about how blesta needs to go to be fully EU compatible, so I open this forum to male "pressure" for you acomplish every aspect asap  :blesta:
 
 
Im now finalising a new VAT MOSS Report for blesta (will release later today for free for evryone in EU)  (VAT moss its finished please check here )
 
 

The most completed and Biggest Thread to fix all issues with EU/Pro-Forma invoices in Blesta

 

Problem:  New EU Law Compilant for Data Protection :)
Solution: https://dev.blesta.com/browse/CORE-2463
 
Problem: Wirth the new EU Law that is active since 1 January 2015, EU consumers have to see prices with TAX of the country of origin. Wen activating tax inclusive or excluse, dosent reflect on order form prices.
Solution: Wen a client is not logged in, in blesta, it show show a POPUP to select country of origin, or use GEO to pre select the country, but always have an option to the client change saving as a cookie or session. After that the order forms have to diplay prices with and without TAX, and also shoe the tax rate, for exemple show like this example [Hostin Plan starting at €1.23 and then below a note saying (Prices incl. 23% VAT)]
 
Problem: Wen acidentaly creating an Pro-Forma invoice with "0" (zero) Euros, it converts automaticly to an "Final Invoice", this cannot happen, because sometimes we can make mistakes (i did, I put the price in the quantity field insted of the Unit Cost field)
Solution: Do not auto convert "0" (zero) invoices to final invoice.
 
Problem: Pro-Forma invoices numbering are not sequential. (CORE-1287)
Solution: Dont reuse numbering wen converting a pro-forma invoice to an invoice, wen creating a new pro-forma invoice.
 
Problem: Final invoices can be edited by Staff/Admin. (added sugestion naja7host) :blesta:
Solution: Wen Pro-Forma is enable on Blesta, put an option in ACL to disable Final invoice editing, only be able to edit "Notes" field on Invoice. Final Invoice (even if unpaid), cannot ever never be "EDITED" by any Staff/Admin with the ACL enable (i know in phpMyAdmin is always possible, but...).
 
Problem: Invoice Details are changed, wen a client changes details in contacts. (i think there is alredy a CORE TASK)
Solution: Save as an array the details in the invoice table in a new field
 
Problem: Wen converting to final invoice the date mantains the original date. (CORE-1605) Alredy Fixed but not confirmed
Solution: Wen converting to final invoice, put the date of the convertion. Wen there is a final invoice (Paid/UNpaid/Partial Paid), the date as to be always changed to the date of the convertion of the final invoice.
 
Problem: We cannot create a manual final invoice, only Pro-Forma invoices.
Solution: Wen Pro-Forma is enable on Blesta, add an option to convert to final invoice, even if unpaid. Sometimes we need to Creat a Final Invoice but "Unpaid".
 
Problem: As I saw in webhosting talk: "the way it handles rounding for the transactions, the system stores the values to 4dp in the db so things like tax rules (as mentioned earlier in thread) and auto foreign exchange rate calculations lead to unexpected results because Blesta does the math to 4dp but Paypal for e.g. only cares about 2dp so the user could pay an invoice and suddenly end up with a 1c credit without knowing what went wrong."
Solution: Calculate it better
:blesta: Alredy Fixed but not confirmed
 
Problem: Wen final invoice, the email is not sended to the client. (CORE-1561 but not completed with a second wen Full Paid) Fixed and Confirmed
Solution: Send an email with the invoice wen converted to final invoice, and also wen is full PAID.
 

Problem: We dont have an option to create "CREDIT NOTES" wen voiding an invoice.
Solution: Auto and Manually create a new type of document/invoice called "CREDIT NOTE" if voiding an invoice, with a new sequential numbering.
 
Problem: Total tax, is not being saved in database on "invoice_lines" table. The value must be saved because rounding issues, this way we have to alwaes calculate tha VAT that was in that time to try to get the correct VAT/TAX total. For exemple for the Vat MOSS to work I have to make extra calculations to make it right, but there are companies that like to round value in Total of the invoice, and people that like to round in total for each line.
Solution: Create a new field on invoice_lines table, and save the total vat/tax, also i think is better to sabe also the Tax Rate in this table, and not only the ID of the the external table to get the TAX Rate.
 Alredy Fixed but not confirmed
 
Problem: Creating an account dosent validate VAT MOSS requirements. 
Solution: On order from wen creating an account, add option to tell if its a Company or an Individual, if company in "EU Country List" show default blesta company TAX Rule, if its an individual, than use the Tax Rule from the individual country in "EU Country", if the Company and or Individual is outside of EU, then show default TAX Rule from Blesta Company Country.
 

Problem: Wen an pro-forma is converted to final invoice, we cannot find the old pro-forma number for tracking proposes.
Solution: Add an option to show on Admin/Staff client invoices a new colum with the old number, and be able to search with the old number also.

 

Problem: Custummers dosent have a Country Select Box to select "Country Tax" to show on Services and on Checkout (yes, i know after register the VAT is recalculated).
Solution: Add an option or better yet a BOX to show (wen pro forma is enable in admin) on any Blesta Page wen enterying for the first time, (If not Logged In), to select a Country Flag with a warning telling its to show prices with country VAT.
Exemple: All Flags or a drop box for countries 
 
 

 
If anyone elese as anything to add, or any opinion on how to, please share it here, we need this DONE :blesta: asap
 
Regards,
PV

Edited by PauloV
New EU Law for Data Protection on 2018

Share this post


Link to post
Share on other sites

 

Problem: Final invoices can be edited by Staff/Admin.

Solution: Wen Pro-Forma is enable on Blesta, put only be able to edit "Notes" field on Invoice. Final Invoice (even if unpaid), cannot ever never be "EDITED" by any Staff/Admin (i know in phpMyAdmin is always possible, but...).

 

Problem: Invoice Details are changed, wen a client changes details in contacts. (i think there is alredy a CORE TASK)

Solution: Save as an array the details in the invoice table in a new field

 

some countries law , is not stricted to this issue , so i think allow only admins to edit the info , and of cource add the edit action in the ACL list , that way i'm shure no one from my staff can edit invoices :)

 

 

Problem: We cannot create a manual final invoice, only Pro-Forma invoices.

Solution: Wen Pro-Forma is enable on Blesta, add an option to convert to final invoice, even if unpaid. Sometimes we need to Creat a Final Invoice but "Unpaid".

 

good piont here , i have already do a custom work for this piont , and is so easy to be implemented .

 

 

 

Problem: Wen acidentaly creating an Pro-Forma invoice with "0" (zero) Euros, it converts automaticly to an "Final Invoice", this cannot happen, because sometimes we can make mistakes (i did, I put the price in the quantity field insted of the Unit Cost field)

Solution: Do not auto convert "0" (zero) invoices to final invoice.

 

i imagine this is not a bug , also is not in high pritiority , but can be improuvement after the others pionts are done :)

 

 

Problem: We dont have an option to create "CREDIT NOTES" wen voiding an invoice.

Solution: Auto and Manually create a new type of document/invoice called "CREDIT NOTE" if voiding an invoice, with a new sequential numbering.

 

a must have feature , i vote to be in 3.5.0 ; is trivial for us .

Share this post


Link to post
Share on other sites

some countries law , is not stricted to this issue , so i think allow only admins to edit the info , and of cource add the edit action in the ACL list , that way i'm shure no one from my staff can edit invoices :)

 

 

good piont here , i have already do a custom work for this piont , and is so easy to be implemented .

 

 

 

i imagine this is not a bug , also is not in high pritiority , but can be improuvement after the others pionts are done :)

 

 

a must have feature , i vote to be in 3.5.0 ; is trivial for us .

 

Thanks naja7host :) I hve added your sugestion ;)

 

 

3.5.x is almost completed so won't be added in that version, maybe vote for it to be 4.0 :)

 

Yep, every day I went to Dev CORE dev.blesta.com/browse/CORE to see what is done :P

Share this post


Link to post
Share on other sites

Problem: Wen acidentaly creating an Pro-Forma invoice with "0" (zero) Euros, it converts automaticly to an "Final Invoice", this cannot happen, because sometimes we can make mistakes (i did, I put the price in the quantity field insted of the Unit Cost field)

Solution: Do not auto convert "0" (zero) invoices to final invoice.

 

How should this be handled? If the invoice is not positive, then close it but leave it as pro-forma?

Share this post


Link to post
Share on other sites

How should this be handled? If the invoice is not positive, then close it but leave it as pro-forma?

 

i don't think is the perfect solution , because i can give another case that need a proforma with "o"  to be converted to invoice .

 

what i imagine as a solution , a pop up modal  when proforma has "0" , to make the admin attention with it .

Share this post


Link to post
Share on other sites

How should this be handled? If the invoice is not positive, then close it but leave it as pro-forma?

 

i don't think is the perfect solution , because i can give another case that need a proforma with "o"  to be converted to invoice .

 

what i imagine as a solution , a pop up modal  when proforma has "0" , to make the admin attention with it .

Share this post


Link to post
Share on other sites
If i can, i would edit a point:

 

CORE-1561 "Requeue invoice for delivery when converted from proforma" seems work only with proforma generated by an order.

 

If i create "manually" a proforma and then send to client, when he pay and record the transaction proforma is converted to invoice as "not sended" (correct, fix the original issue) but Blesta doesn't send the invoice (issue).

 

Thanks

Share this post


Link to post
Share on other sites

How should this be handled? If the invoice is not positive, then close it but leave it as pro-forma?

 

My vote goes to naja7host ideia:

 

 

... what i imagine as a solution , a pop up modal  when proforma has "0" , to make the admin attention with it .

 

 

 

 

If i can, i would edit a point:
 
CORE-1561 "Requeue invoice for delivery when converted from proforma" seems work only with proforma generated by an order.
 
If i create "manually" a proforma and then send to client, when he pay and record the transaction proforma is converted to invoice as "not sended" (correct, fix the original issue) but Blesta doesn't send the invoice (issue).
 
Thanks

 

 

 

Thanks for test it, I have changed, and also have added a new issue founded, on first post :)

Share this post


Link to post
Share on other sites

 

If i can, i would edit a point:
 
CORE-1561 "Requeue invoice for delivery when converted from proforma" seems work only with proforma generated by an order.
 
If i create "manually" a proforma and then send to client, when he pay and record the transaction proforma is converted to invoice as "not sended" (correct, fix the original issue) but Blesta doesn't send the invoice (issue).
 
Thanks

 

 

How did you send the proforma invoice to the client?

 

Proforma invoices are only requeued for delivery if they were queued for delivery and sent before. If you don't click the "Email" checkbox when you create the invoice, then it was not originally queued for delivery. When it is later converted to a normal invoice it sees that it was not queued for delivery before so it will not be queued for delivery again. This is the intent of CORE-1561.

 

The system also makes no distinction between how the invoice was created (by order, manually, etc.) when requeuing it for delivery.

Share this post


Link to post
Share on other sites

i don't think is the perfect solution , because i can give another case that need a proforma with "o"  to be converted to invoice .

 

what i imagine as a solution , a pop up modal  when proforma has "0" , to make the admin attention with it .

 

What would be a use case where you would want a $0 invoice? And, what are the consequences of having a $0 due invoice if you accidentally submit a proforma invoice with a 0 balance?

 

It is simple for us to say, if invoice type is proforma, and amount is 0, do not convert to invoice. But, it is more difficult to pop up a modal box and request action from the staff member. Also consider that the system could potentially generate a $0 proforma invoice itself, and manual intervention is not possible. We want to go with the simplest solution that works in as many cases possible.

Share this post


Link to post
Share on other sites

What would be a use case where you would want a $0 invoice? And, what are the consequences of having a $0 due invoice if you accidentally submit a proforma invoice with a 0 balance?

 

It is simple for us to say, if invoice type is proforma, and amount is 0, do not convert to invoice. But, it is more difficult to pop up a modal box and request action from the staff member. Also consider that the system could potentially generate a $0 proforma invoice itself, and manual intervention is not possible. We want to go with the simplest solution that works in as many cases possible.

simple case i will give a client a free domaine , so i will create a preforma with 0€ , and it should normally converted to invoice :)

but i think you have misunderstand the PualoV case , go to admin side , select client , add new proforma . normally when adding a proforma it remain proforma until is paid . in case of proforma amount is 0 is not created as proforma and in thge next cronjob converted to invoice , it created directly invoice .

so the simple solution

1 - if invoice type is proforma, and amount is 0, do not convert to invoice auto and show a popup with this .

2 - in the cronjob add new cron to convert proformas with 0 to invoice .

the option 2 can be remplaced with what PauloV suggested about converting proforma to invoice even if not paid , in that case we can say .

1 - if invoice type is proforma, and amount is 0, do not convert to invoice .

then we can convert it manually :)

that's so easy :)

Share this post


Link to post
Share on other sites
Tyson, when we created the proforma we also checked for send email: so Blesta sent the proforma.

 

Then, users have paid these proforma: proforma began invoices with status "not sent" but... after more then a day these invoices were always here with status "not sent" (also log not reports anything).

 

At the end, we had to send it manually.

 

I hope that this (and my english ;)) can explain better the case.

 

Thanks

Share this post


Link to post
Share on other sites

 

Tyson, when we created the proforma we also checked for send email: so Blesta sent the proforma.
 
Then, users have paid these proforma: proforma began invoices with status "not sent" but... after more then a day these invoices were always here with status "not sent" (also log not reports anything).

 

 

I'm not able to duplicate that behavior.

 

If the invoice status is shown as "Unsent" in the interface, then it hasn't been delivered automatically. If you have checked the "Email" delivery option when you created the proforma invoice, it would have been queued for delivery via email and sent when the cron next ran. If it was then delivered successfully, the status would be shown as "Sent" in the admin interface. If the invoice is then paid and converted to a normal invoice, it would be requeued for delivery and emailed to the client when the cron runs next. Invoice delivery requeuing was added in v3.4.3 of Blesta.

 

If the status continues to show "Unsent", then there may be an issue with the cron running the "Deliver Invoices" task, or the server may be failing to deliver email properly.

Share this post


Link to post
Share on other sites

 

Tyson, when we created the proforma we also checked for send email: so Blesta sent the proforma.
 
Then, users have paid these proforma: proforma began invoices with status "not sent" but... after more then a day these invoices were always here with status "not sent" (also log not reports anything).
 
At the end, we had to send it manually.
 
I hope that this (and my english ;)) can explain better the case.
 
Thanks

 

 

 

I can confirm, that is working OK, wen I manual create an Pro-Forma invoice, and after the cron run (sent the pro-forma by email), I have submited Manual Payment in "Record Payment for invoice", then pay in full, I didnt check the option "Email Receip", then click on Continue, and in Closed invoices, the final invoice show emidiatly the status "sent" without time for the cron to run, but after 5 minuts (my cron runs) and I have recived the "Copy" email with the final invoice.

 

@Tyson: Its working ok :)

Share this post


Link to post
Share on other sites

Yes! For me too.

 

We did several tests and all works fine.

 

Sorry for bad submission, but we were confused by a fact: in Tools > Log > "Invoice delivery" we didn't see the invoice delivery as aspected because when a proforma begin invoice, "Invoice delivery" doesn't add a new record on top, but change only the invoice number of the proforma with the number of invoice (this is ok) but show date and time of proforma delivery and not of invoice (this isn't ok). [we have also verified that in "invoice_delivery" db table you store two records, one for proforma and one for invoice, but in "Invoice delivery" reports you show only one record with "date_sent" older).

 

Sorry... and thanks,

 

Achille

Share this post


Link to post
Share on other sites

Tyson, see attach.

 

Isn't a bug but only a thing that can generate confusion.

 

Two records seems the same, but only fron date_sent i understand that one is proforma, and other is the invoice.

 

Only, the real problem is that we lost history of proforma, but isn't a big problem because data useful to pay tax are only invoices.

 

Thanks

post-9466-0-70324600-1429346903_thumb.pn

Share this post


Link to post
Share on other sites

I see. The invoice number changed when it was converted from proforma to a normal invoice, and the system doesn't keep history of the old proforma invoice information for reference in that table.

This is bacause i think here it use a inner joir request, is better to store the field in the log table

Share this post


Link to post
Share on other sites

I have added a new problema to the list:

 

Problem: Wen an pro-forma is converted to final invoice, we cannot find the old pro-forma number for tracking proposes.
Solution: Add an option to show on Admin/Staff client invoices a new colum with the old number, and be able to search with the old number also.

Share this post


Link to post
Share on other sites

This is bacause i think here it use a inner joir request, is better to store the field in the log table

 

No, it's because the proforma invoice and the normal invoice are the same record.

 

 

 

I have added a new problema to the list:

 

Problem: Wen an pro-forma is converted to final invoice, we cannot find the old pro-forma number for tracking proposes.
Solution: Add an option to show on Admin/Staff client invoices a new colum with the old number, and be able to search with the old number also.

 

 

This isn't currently possible without either creating separate records for proforma/normal invoices, or keeping history of just the old proforma number. But since the proforma numbers can be reused, searching by proforma number could yield multiple results.

Share this post


Link to post
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...