Class JournalVoucher

java.lang.Object
com.storedobject.core.StoredObject
com.storedobject.core.JournalVoucher
All Implemented Interfaces:
Displayable, StringFiller, HasId, HasReference, OfEntity

public class JournalVoucher extends StoredObject implements OfEntity, HasReference

Represents a Journal Voucher (JV). All financial transactions require a JV and this is the only way to create financial ledger entries (referred as "entries" in this documentation) in the system. A JV is owned by an instanceof a StoredObject and that is the one creating the entries. For example, an "Cash Sales Invoice" object may be creating a "Sales JV" by debiting the "cash account" with the "invoice amount", crediting the "sales account" with the "items total" and crediting the "tax account" with the "tax part" of the invoice.

JV entries, once created can not be changed. The only way to change any financial transaction is to pass reversal entries via some reversal JVs. So, a "reversal JV" system needs to be designed separately for such cases.

Author:
Syam