This is the documentation for TataruBook.

What is TataruBook?

TataruBook is an individual or family-oriented bookkeeping and financial income calculation tool using simplified double-entry bookkeeping, based on SQL tables and views, and executed from the command-line. The tool assists users in entering data such as assets, accounts, and transaction details into a DB file and calculates various statistics such as net worth, categorized income and expenses, and ROI.

How to download and install TataruBook?

There are 2 approaches:

  1. (Recommended) First install Python 3.8 or above, and then download tatarubook.py from Github repository or Gitee repository, and run it later using python tatarubook.py. This works on any operating system that can support Python.
  2. Download tatarubook.zip package from the Github release page or Gitee release page, extract it to any folder, and run the tatarubook.exe program from it. This approach does not require Python to be installed, but is only available for Windows operating systems with Windows 10 or above.

TataruBook is a command-line program, that means if you double-click the tatarubook.exe file directly on Windows, most likely you’ll see a flash of a black window and then nothing else happens. The correct way to run a command-line program is to open a command-line terminal first (on windows, run Command Prompt), and then type (or paste) the program name with specified subcommand and proper arguments.

The first approach is recommended because when run tatarubook.py script with this approach, it directly uses the latest Python interpreter, SQLite and other dependent libraries in the runtime environment, so it only takes up very little disk space. With the second approach, the Python interpreter, SQLite, and other dependent Python libraries are downloaded and take up disk space, but the advantage is that if these libraries are missing or faulty in the runtime environment, it will not affect the operation of the TataruBook software.

Note: After installing the software using the second approach, the tatarubook.exe program depends on other files in the zip package to run. Therefore, please make sure to extract all files in tatarubook.zip in the same directory and keep the directory structure the same as in the archive.

How to use TataruBook for bookkeeping?

You need to understand some concepts first:

TataruBook is just a program (technically a Python script), it doesn’t contain any financial data itself, all the data is stored in DB files, which are files named by the user and have the suffix .db. TataruBook can operate on DB files specified on the command-line.

What is a DB file?

A DB file is a file that holds financial data and related reports. Each DB file is a SQLite format database file that can be viewed and modified using any software that supports the SQLite file format.

If you use other software to view and modify the DB files generated by TataruBook, make sure that these software support some of the new features of SQLite (such as the STRICT attribute). For example, to open a DB file using DB Browser for SQLite, you must use the nightly version of DB Browser for SQLite to support the STRICT attribute.

NOTICE: When using other software to modify the DB file, you can only add, delete, and modify records, you cannot modify the table and view definitions! Otherwise, TataruBook will not be able to guarantee that it will be able to operate this DB file correctly in the future.

Typically, all the historical financial data of a user or family/organization is placed in the same DB file. DB file has some reports that will consider all the internal accounts in that DB file as a portfolio and show the net worth, rate of return, and inflows and outflows of that portfolio. Therefore, it is expected that the account data involved in the statistics should all be in the same DB file. TataruBook does not support calculations across DB files.

Some users are accustomed to splitting financial data by time period, such as putting each year’s financial data in a separate DB file. There is no need to do this when using TataruBook, because TataruBook supports displaying financial statements for any specified time period (down to the day). Storing all historical financial data in a single DB file maintains a consistent and accurate financial record and eliminates the need to carry forward balances for each account when creating a new DB file.

Where do I start?

For first time users of TataruBook, we recommend reading quick start. This tutorial helps new users to quickly grasp the main usage of TataruBook by going from simple to deep use cases.

Tables and views describes all the tables and views in the DB file and how they are related to each other. When you have questions about certain table or view fields, refer to this document.

Command-line manual describes all the command usage and notes of TataruBook.

If you feel that the existing views in the DB file are not enough for you and you know how to use the SQL language, you can use other software that supports the SQLite format (make sure that they support some of the new features of SQLite) to open the DB file and write your own SQL statements to query and edit the data (but do not modify the definitions of the existing tables and views).

For investors, the return on investment is of great interest, and TataruBook has several views that present the return on investment from various perspectives. Rate of return describes in detail how the various rates of return are calculated and how they are used in TataruBook’s views.

How to improve the efficiency of importing external data is a key challenge in actual bookkeeping, Data importing guide gives efficient data processing and importing methods for reference.

How do I give feedback on issues and requirements?

Please submit an issue on Github repository or Gitee repository and I’ll check it out and respond.