Introduction
Mia! Accounting is an accounting module for Flask applications. It is designed both for mobile and desktop environments. It implements double-entry bookkeeping. It generates the following accounting reports:
Trial balance
Income statement
Balance sheet
In addition, Mia! Accounting tracks offsets for unpaid payables and receivables.
Live Demonstration and Test Site
There is a live demonstration for Mia! Accounting. It runs the same code as the test site in the source distribution. It is the simplest website that works with Mia! Accounting. It is also used in the automatic tests.
If you do not have a running Flask application or do not know how to start one, you may start with the test site.
Installation
Install Mia! Accounting with pip:
pip install mia-accounting
You may also download from the PyPI project page or the release page on the Git repository.
Prerequisites
You need a running Flask application with database user login. The primary key of the user data model must be integer. You also need at least one user.
The following front-end JavaScript libraries must be loaded. You may download it locally or use CDN.
Bootstrap 5.2.3 or above
FontAwesome 6.4.0 or above
decimal.js 10.4.3 or above, or decimal.js-light 2.5.1 or above.
Tempus-Dominus 6.7.7 or above
Configuration
You need to pass the Flask app and an implementation of
accounting.utils.user.UserUtilityInterface to the
accounting.init_app() function. UserUtilityInterface
contains everything Mia! Accounting needs.
See an example in An Example Configuration.
Database Initialization
After the configuration, run the accounting-init-db console
command to initialize the accounting database. You need to specify
the username of a user as the data creator.
% flask --app myapp accounting-init-db -u username