Jump to content

[Final Invoices] - Store Client Details On Invoice


PauloV

Recommended Posts

Hello :)

 

We are almost done to go in Production and migrate from WHMCS to Blesta 3.3 but it needs some more twicking for future pruposes :)

 

We realize that Client Details (Name, Adress, Phone, VAT ID, Custum Fields) are not Hard Stored in a "Final Invoice".

 

For exemple, if a client changes some data, it will reflect on a new downloaded Final Invoice, and for legall propuses that cant happen wen its a final invoice.

 

My sugesttion is to store in an Array on a new field in invoices table all details and retrive from there only if its a final invoice

 

Anouther exemple is for "Merge Client" that is not finish yet, but, it can fix this problem also if the Data is stored on Invoice Database :)

 

Keepup the great work ;)

Link to comment
Share on other sites

+1 and it must have tis option . in v2.5 we have alot of reclamation and support tickets just for this .... and we have solved this probleme by storing all generated invoice in pdf format in a floder , with this we can track how it was before .

but really really this must have option , maybe in US is not p^roblemeto change a final invoice , but in europe it can cause a big probleme .

my suggestion is to make the final invoice a stored pdf invoice in webhost , or add array info as paulov suggested .

Link to comment
Share on other sites

>my suggestion is to make the final invoice a stored pdf invoice in webhost , or add array info as paulov suggested .

 

PDF caching alone is not good enough, also need the information on the invoice easily accessible in the database for taxation purposes.

Need to know the country and VAT number of the customer as it was on the day the invoice was issued at a minimum.

Link to comment
Share on other sites

Have you seen CORE-923? Your thoughts on this method?

 

Also, Blesta tracks all client contact information updates, you can see these logged under Tools > Logs > Contacts. In the future, we'll allow contact details to be "rolled back". It *may* be possible, but perhaps expensive query-wise, to fetch the proper details for the invoice from here.

Link to comment
Share on other sites

Have you seen CORE-923? Your thoughts on this method?

 

Also, Blesta tracks all client contact information updates, you can see these logged under Tools > Logs > Contacts. In the future, we'll allow contact details to be "rolled back". It *may* be possible, but perhaps expensive query-wise, to fetch the proper details for the invoice from here.

 

 

My first concern is Backups :) For exemple, Blesta Backups, only Backups the DataBase, so if we have any problems we can upload the DataBase but never recover the PDF Cached Invoices :)

(yes we do daily offline backups of files, but we never know the day after tomorow :P )

 

I Love CORE-923, but in the case that the Blesta dosent find the Cached File?, and for exemple a corrupted PDF Invoice?, its better to store the Client Details on the DataBase, because we sometimes need to acess the data on Blesta API to search Invoice Details to find an invoice to resend or consult details ;)

Link to comment
Share on other sites

with the PAuloV aprouch , we store what will be in the invoice in a array (date , invoice number , cleint id and all other detail , even if the company setting (phone, fax, adresse , email .....ect ) so any data should be saved even if the background and logo images .

per CORE-923 , cody has mentioned a probleme with cached PDF , the size !!!! also this solution , what happen if the files is deleted ?

What we need is a good and reliable solution .

Link to comment
Share on other sites

Have you seen CORE-923? Your thoughts on this method?

 

Also, Blesta tracks all client contact information updates, you can see these logged under Tools > Logs > Contacts. In the future, we'll allow contact details to be "rolled back". It *may* be possible, but perhaps expensive query-wise, to fetch the proper details for the invoice from here.

 

Personally, I think just storing all fields de-normalized in the invoice table (for generating reports), in addition to .pdf caching and an option to mass-download the .pdfs (for invoice retention), is the most practicable method.

Whatever method you choose, keep in mind that the invoices must be retained long term.

That doesn't necessarily mean they have to stay in Blesta long term, but if not, they must be easy to transfer over to your computer to store locally.

In that case viewing older invoices that have been transferred and removed from Blesta, must be disabled, and not allow the user to generate a new pdf.

 

By reading things like "Option to delete archived copy after X months" I think you may not have a clear idea about the actual legal non-negotiable requirements yet.

Most EU countries require around 7 years of retention for the actual invoices sent and received, see page 19 on: European Retention Periods.pdf

If this is a problem due to the size of Blesta's PDFs, than the first priority would be to reduce those, not embedding the unicode font in the pdf when no non-ASCII characters are used.

Other customer records (page 25) have a shorter retention period. E.g. you are supposed to delete the personal details of an inactive customer from your system within 2 years here (although that often does not happen in practice).

 

Storing customer data at Amazon AWS -or any other US company or hoster- like suggested in CORE-923 is problematic for EU companies.

First there are privacy laws that restrict the processing of personal data outside the EU. In short the company you are storing the data at must guarantee they comply with the EU rules (are on the EU-US safe harbour list), and you may have to inform your customers that you are shipping their data there...

Second some countries have laws requiring accounting data to be stored within their jurisdiction for enforcement reasons.

They do not like the idea of you being able to claim that you stored your accounting data on some vague cloud service in the other end of the world, and that it happens to be down, the moment the tax inspector pays a surprise visit... :rolleyes:

Link to comment
Share on other sites

Today , i have in meeting and i have meet a chef executive of a Software . i have asked him about this subject , how do you keep invoice intact after creating it , the response was so easy , is like MAX answer , the data should be stored in the same invoice line (in proforma you have the right to change it , in final invoice you can't unless you change it in database .

so +1 for storring data in the invoice field .

Link to comment
Share on other sites

  • 7 months later...

finnaly , that task is not the adequate solution for this case . the best and reliable solution is to store the info in the database not the file system .

so i hope see a new CORE-ID for this special case .

 

I agree with you naja7host, I also hope Paul/Tyson/Cody change the task and add as an array or blob in the database

 

An exemple is, how to get the invoice data by API? if the data is store in file will be very dificult to get by API, the only solution is to store in database :)

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