What is an appropriate abstraction which encompasses both 'receipt' and 'invoice'?

Is there a common supertype (parent class) for a 'receipt' type (class) and an 'invoice' type (class)? It should be possible to state "an instance of receipt/invoice is a supertype."


I think the least ambiguous term that could encompass both an invoice and a reciept would be bill. This is what I would recommend if you wanted an informal description. Some of the accounting and legal terms suggested by others might be better if your target audience is accountants and lawyers. If you're looking for a good class name that will mostly be consumed by programmers, then I would stick with "bill".


Source document is one term that's used in accounting: http://en.wikipedia.org/wiki/Category:Accounting_source_documents


Maybe Billing Statement or Financial Statement? I've never heard a single word that fits exactly what you want, but maybe these two options are pretty close?


The word voucher is used as an official legal/accounting translation of such an abstract term from Greek παραστατικό.

Merriam-Webster contains the following compatible definition 2.b: "a documentary record of a business transaction", as well as an incompatible definition 2.d: "a form or check indicating a credit against future purchases or expenditures" which semantically fits more with Wikipedia's definition: "A voucher is a bond which is worth a certain monetary value and which may be spent only for specific reasons or on specific goods."

However, under Accounts Payable, the Wikipedia article also gives the following definition: "A voucher is an accounting document representing an internal intent to make a payment to an external entity, such as a vendor or service provider."