Cash-Book Requirements

Cash-Bank Books

ID: CB001
Description: The cash book allows the recording of the incomes and expenditures of a company.
Rationale: The main purpose of accounting on cash basis is the recording of the incomes and expenditures of a company. The cash book provides the feature to store these recordings.
Fit Criterion: The ea-Geier provides an interface to enter incomes and expenditures. [pA1]
ID: CB002
Description: The cash book acts as a combined cash-bank book.
Rationale: The incomes and expenditures of a company may be in cash or bank transactions. The system has to be able to differentiate between those kind of transactions.
Fit Criterion: The ea-Geier allows to specify incomes and expenditures as cash or bank transactions. [pA1]
ID: CB003
Description: New bank books may be added on a client basis by the respective owner.
Rationale: If there are more bank accounts available the owner of a client might want to enter their transactions on multiple bank books.
Fit Criterion: The owner of a client can configure multiple bank accounts to which incomes and expenditures may be assigned. [pA1]
ID: CB003a
Description: Deleting is limited to empty bank books.
Rationale: If transactions are assigned to a bank book and the owner of a client deletes those books, the transactions are not assigned to a bank account any more.
Fit Criterion: Added bank books can only be deleted if no transactions are assigned to these books. [pA1]

Transaction Data

ID: CB004
Description: Each record has a unique id provided by the system and a voucher id defined by the user.
Rationale: The user may define a voucher id for each transaction e.g. K1, K2, etc. for cash transaction and B1, B2, etc for bank transactions. In addition the system will give each transaction an unique id in the order of entering the transactions.
Fit Criterion: Each transaction has two ids – one provided by the system, one by the user. [pA1]
ID: CB004a
Description: Voucher ids provided by the customer are checked for uniqueness.
Rationale: User-provided ids should be unique but might not due to typing errors.
Fit Criterion: The system will check the user-provided ids and generate warnings, if they are not unique. [pA1]
ID: CB005
Description: Each record has name field describing the transaction.
Rationale: To name a transaction the user needs a text field.
Fit Criterion: Each transaction holds a not-empty text field describing the transaction. [pA1]
ID: CB006
Description: Each record stores the transaction date given by the user, and the dates for the generation and last manipulation of the record.
Rationale: The user has to define the date of the transaction. In addition the system will store the date of the generation and manipulation of the record.
Fit Criterion: Each transaction stores the date given by the user, the first generation and the last manipulation of the record. [pA1]
ID: CB007
Description: Net, gross, and tax values are stored by the system.
Rationale: A transaction consists of a net, gross, and tax value.
Fit Criterion: Each record stores the net, gross, and tax value of a transaction. [pA1]
ID: CB007a
Description: Incomes and expenditures may be sorted into categories defined by the owner of client.
Rationale: The user may define tax categories e.g. for 20 % for Austrian value added tax (VAT). When the net, gross, and tax values given by the user do not match with the tax category, the system can generate an appropriate warning.
Fit Criterion: The owner of a client can defined tax categories for incomes and expenditures. Using these categories, the system checks the net, gross, and tax entries. [pA1]
ID: CB007b
Description: The number format is configurable on a client basis.
Rationale: The number format may be different depending on the country of the user. e.g. 123,45 EUR compared to 123.45 USD.
Fit Criterion: The owner of a client can define the number format in which the data will be entered and displayed. [pA1]
ID: CB008
Description: Incomes and expenditures may be sorted into categories defined by the owner of client.
Rationale: To specify for what kind of a specific transaction in more detail, the the incomes and expenditures might be distributed into categories defined by the owner of client. Categories for incomes might be for example international sales, sales inside the European Union with and without VAT. Categories for expenditures might be for example rent, office material, vehicle, staff, communication, insurance, etc.
Fit Criterion: The owner of a client can defined categories for incomes and expenditures. These categories are used to define the type of transaction. [pA1]
ID: CB008a
Description: Deleting is limited to empty categories.
Rationale: If transactions are assigned to a category and the owner of a client deletes this category, the transactions are not assigned to a category any more.
Fit Criterion: Added categories can only be deleted if no transactions are assigned to these categories. [pA1]

Display

ID: CB009
Description: The system shows sortable tables of a certain amount of records.
Rationale: To provide an overview of the entries the system has provide a list of the entries. To navigate inside this list it needs to be sortable and paginated.
Fit Criterion: The system is able to show the data as sortable tables with pages limited to a user-specific number of entries. [pA1]
ID: CB010
Description: The system shows a detailed data of single records.
Rationale: To see all available data for a record a list would be too complex.
Fit Criterion: The system is able to show the detailed data of a single record. [pA1]
ID: CB011
Description: The user can search for specific records.
Rationale: The user might also want to search for a specific record.
Fit Criterion: A search function provides means to find specific records defined by date, records, etc. [pA1]
ID: CB012
Description: The user can print single records, parts, or the complete cash-bank book.
Rationale: The user will want to print the cash-bank books.
Fit Criterion: A print function allows to print single records, parts as well as the complete cash-bank book. [pA4]

Additional Functionality

ID: CB013
Description: A history log stores all data changes.
Rationale: To provide the complete history of a transaction, the system has to log all changes.
Fit Criterion: The system stores each manipulation of a record. [future feature – depends on used database]
ID: CB014
Description: A template system helps to reduce entry efforts.
Rationale: If the same kind of transaction appears more often, the user might have to enter all data again.
Fit Criterion: The system provides a template system to reoccurring transactions. [pA1]