Você está na página 1de 17

Financial Diary Application

General Description
Index

General Overview /Design Document 3


Introduction 3
Glossary 5
General Overview 6

Technical Overview 6

Technical Documentation 7
Overall table structure of Financial Diary Application 7
Table description 8
2.1 DTB_PROFIT_CENTER 8
2.2 DTB_PAYMENT_METHOD 9
2.3 DTB_CASHBOX 10
2.4 DTB_CATEGORY 11
2.5 DTB_PARTNER 12
2.6 DTB_CURRENCY 13
2.7 DTB_TRANSACTION_STATUS 14
2.8 DTB_TRANSACTION_TYPE 15
2.9 DTB_DIARY 16
General Overview /Design Document

1. Introduction

Bookkeeping journals are the daily diaries of a business into which all transactions are
recorded in date order, much like personal journals in which people record the events
that happen in their life in date order.

While the financial journals show which ledger account should be debited with the
transaction amount and which one should be credited with the same amount, Financial
Diary app should contain only the note of the transaction with the most basic information
without getting into which account is debited or credited on the other side like in the
double entry system.

Financial Diary Application is for inputting the transactions by adding all the requested
information and then displaying that information in a form of a grid for an easy overview
of all the transactions that were documented by the client. The transactions are ordered
chronologically by input date.

Financial diary should contain all relevant information about:

1. Date and time when the transaction occurred, is due, is documented, and an
audit date
2. User who documented/edited the transaction and made the record in the db
3. Profit center where the income/expense happened
4. Payment method for the transaction (cash/bank account)
5. Cashbox
6. Transaction description
7. Amount of money for the transaction, and if that amount is debit or credit
8. Currency used for the transaction
9. Category of the expense/income that was documented in the transaction
10. Status of the transaction (pending*, booked*, cancelled)
2. Glossary

Cost center​: A cost center is a ​subunit​ (or a department) which takes care of the
costs ​of the company. Because this app should be usable for personal financial needs
too, in this context cost center could be all the people which produce costs in the
household.

Profit center​ is similar to cost center with the exception that beside generating and
managing ​costs​ it also independently produces and controls its own ​profits​.

Payment method​: The way that a buyer chooses to compensate the seller of a good or
service that is also acceptable to the seller. Typical payment methods used in a modern
business context include cash, checks, credit or debit cards, money orders, bank
transfers and online ​payment​ services such as PayPal.

Cashbox​ is defined as an account that is affected by the transaction that occurred.


There are different types of cashboxes, for example one cashbox could be an​ account
at one particular bank, other could be from another bank, or it could represent ​petty
cash​ (an accessible store of money kept by an organization for expenditure on small
items).

Description ​is a field in DTB_DIARY table which should contain closer definition of a
transaction that occurred. It should be a text field where a user can enter his
explanation of a transaction, and when reviewing that transaction at a later date can
easily recognize what the transaction was for.
Hashtags ​represent the form of labels that are prefixed by a symbol ‘#’ and are used to
tag the transaction with one or multiple words or phrases, for easier filtering and
searching.

Amount​ is the amount of money that was booked for the occurring transaction.
Depending on the type of the transaction which can be an income or expense, the
amount is booked as ​debit amount​ or ​credit amount​.

Category​: It is a category of expenses, it could be defined by the user, depending on


the types of expenses he is experiencing.

Partner​: Represents the business partner of the client. If the transactions between
partner and the client happen often, partner should be added to the table, for easier
booking of the transactions.

3. General Overview

Technical Overview
Technical Documentation

1. Overall table structure of Financial Diary Application


2. Table description

2.1 DTB_PROFIT_CENTER

Table description

Represents locations where the expenses or incomes occurred in the company. This table’s
foreign key is in the DTB_DIARY table.

Column description

● PROFIT_CENTER_ID - ID of the particular profit center

● CODE - Code or abbreviation for the profit center that can contain up to 5 characters

● NAME - Name of the particular profit center


2.2 DTB_PAYMENT_METHOD

Table description

Represents the payment methods available for the transaction. This table’s foreign key is in the
DTB_CASHBOX table.

Column description

● PAYMENT_METHOD_ID - ID of the particular payment method

● NAME - name of the particular payment method


2.3 DTB_CASHBOX

Table description

Represents all the cashboxes the client has available. This table’s foreign key is in the
DTB_DIARY table.

Column description

● CASHBOX_ID - Represents the ID of the particular cashbox.

● NAME - The name of the particular cashbox

● CODE - Three character code of the particular cashbox

● CURRENCY_ID - Foreign key of the DTB_CURRENCY table

● PAYMENT_METHOD_ID - Foreign key of the DTB_PAYMENT_METHOD table


2.4 DTB_CATEGORY

Table description

Represents the collection of all categories of expenses that occur in the company. This table’s
foreign key is in DTB_DIARY table.

Column description

● CATEGORY_ID - ID of the particular category of expense

● NAME - name of the particular category

● TYPE - type of the category (what types of expenses belong in that category)

● CODE - three character long code for the category


2.5 DTB_PARTNER

Table description

This table contains information about business partners that are connected to the transaction.
This table’s foreign key is located in DTB_DIARY table.

Column description

● PARTNER_ID - Contains ID of the particular partner

● NAME - Contains name of the particular partner

● CODE - Contains code of the partner, or abbreviation up to five characters


2.6 DTB_CURRENCY

Table description

This table contains information about currencies that client uses. This table’s foreign key is
located in DTB_CASHBOX table.

Column description

● CURRENCY_ID - Contains ID of the particular currency

● NAME - Contains name of the particular currency

● CODE - Contains code of the currency, three character long according to ​ISO 4217
2.7 DTB_TRANSACTION_STATUS

Table description

This table contains information about the status of the transaction. This table’s foreign key is
located in DTB_DIARY table.

Column description

● TRANSACTION_STATUS_ID - Contains ID of the particular transaction status

● NAME - Contains name of the particular transaction status


2.8 DTB_TRANSACTION_TYPE

Table description

This table contains information about the type of the particular transaction. This table’s foreign
key is located in DTB_DIARY table.

Column description

● TRANSACTION_TYPE_ID - Contains ID of the particular transaction type

● NAME - Contains name of the particular transaction type

● CODE - Contains code of the transaction type, or abbreviation up to three characters


2.9 DTB_DIARY

Table description

This is the main table that contains all the relevant data for the particular transaction. It includes
the foreign keys of all other tables in this module, with the exception of DTB_CURRENCY and
DTB_PAYMENT_METHOD which foreign keys are located in the DTB_CASHBOX table.
Column description

● ID - ID of the particular transaction


● PROGRAM_ID - represents the client who made the transaction* currently hardcoded
● TRANSACTION_CODE - Code that identifies particular transaction and all connecting
transactions
● TRANSACTION_DATE - date when the transaction occurred
● INPUT_DATE - date when the transaction was booked in the Financial Diary App
● DUE_DATE - date when the expense is due to be paid if due date is different than
transaction date
● PROFIT_CENTER_ID - foreign key of the DTB_PROFIT_CENTER table
● FL_VERIFIED - flag that shows if the transaction has a due date or if it’s paid
immediately
● DEBIT_AMOUNT - amount of money paid or received for the particular transaction
● CREDIT_AMOUNT - Flag that shows if transaction amount is debit or credit
● CASHBOX_ID - foreign key of the DTB_CASHBOX table
● CATEGORY_ID - foreign key of the DTB_CATEGORY table
● DESCRIPTION - contains the closer explanation of the particular transaction
● PARTNER_ID - foreign key of the DTB_PARTNER table
● TRANSACTION_STATUS_ID - foreign key of DTB_TRANSACTION_STATUS table
● HASHTAGS - labels that are used to tag the particular transaction with a keyword or a
phrase that is prefixed by a ‘#’ and divided by ‘,’, used for filtering and searching for
particular transactions that were hashtagged
● AUDIT_USER - user which made the record of the particular transaction in the database
● AUDIT_DATE - date when the record of the particular transaction was made in the
database
● UPDATE_USER - user which editted of the particular transaction
● UPDATE_DATE - edit date of the particular transaction
● TRANSACTION_TYPE_ID - foreign key of the DTB_TRANSACTION_TYPE table
● CUSTOM1 -
● CUSTOM2 -
● CUSTOM3 -
● CUSTOM4 -
● CUSTOM5 -

Você também pode gostar