Friday, June 26, 2009

Wanna perfect printed invoice? Let's find the system that can!

You’ve put all information into your system and it’s time to generate documents like letters and invoices. So, how do you get your data out of system and put it into a slick and readable document?

In upcoming series of posts I am going to compare methods different systems use to create such type of documents.

I will check if any business user has an opportunity to create such a document all by himself and make any changes in it in the future if needed.

While testing I’ll focus my attention on 2 peculiarities:
  • How the document is generated for master-detail bind (for example the invoice with variable number of line items in it)
  • The possibility to insert images stored in the database into the document (for example images of product)
These are key issues that need to be investigated and I am going to shed some light how web based services offer to do this. We will find out shortly.


  1. Hi Jane,

    To produce an invoice, it is normally necessary to create line items that are about both the product and the invoice, however, contain data unique to the relationship between them.

    For example, I have an invoice with "x" line items on it. Each line item is about a specific product. Therefore each line item needs to contain information about the product such as product name, and unit price. However, each line item also needs information specific to the relationship between the product and this invoice such as quantity, extended cost, etc.

    So, to solve this problem, one should first tackle the many-to-many relationship issue, which is substantial. Will you be looking at this issue as well?

    There is an easier alternative, which is to simply copy data from the product into the line item of the invoice, however, that results in a significant loss of functionality later on in other areas of the system. I don't think this method of generating invoices would be considered realistic by most SMB's.

  2. Actually, my goal is to figure out how to get a nice printed document. This testing is not about how to create the most complex invoice app possible.