ACCTOS is a free and open source accounting application designed to simplify financial management for individuals and small businesses.
ACCTOS provides a set of features to help you manage a small business finances practically:
- 💸 Comprehensive Transaction Tracking: Easily record and categorize all your income and expenses to maintain a clear financial overview.
- 📊 Account Management: Set up and manage multiple bank accounts, track balances, and monitor financial flow across different categories.
- 📦 Inventory Management: Keep track of stock levels, manage products, and monitor asset values with integrated inventory features (
zalihe). - 🏷️ Flexible Categorization: Define and organize your financial data using custom categories (
kategorije) for better reporting and analysis. - 🌐 Open Source & Extensible: Built with Python, ACCTOS is fully open source, allowing for community contributions and easy customization to fit needs if you have them.
Follow these steps to get ACCTOS up and running on your local machine.
Ensure you have Python 3.8+ installed on your system.
First, clone the ACCTOS repository to your local machine:
git clone https://github.com/TryCaze/acctos.git
cd acctosIt's highly recommended to use a virtual environment to manage dependencies:
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`ACCTOS uses a few Python libraries. Install them using pip:
pip install -r requirements.txtNote: If requirements.txt is not present, you might need to install common libraries like SQLAlchemy or Tkinter (if it's a GUI app). For simplicity, we'll assume database.py handles standard Python DB operations or a requirements.txt will be added later.
ACCTOS uses an internal database to store your financial data. The database.py script handles its setup.
python database.pyThis command will initialize the necessary database structure.
Once installed, you can launch and start using ACCTOS.
To start ACCTOS, simply run the main.py script:
source venv/bin/activate # If you're still in the virtual environment
python main.pyThis will launch the ACCTOS application interface.
- Launch ACCTOS: Run
python main.py. - Create an Account: Navigate to the
racuni(accounts) section and add your bank accounts, cash accounts, etc. - Add Categories: Use the
kategorije(categories) section to define categories for your income and expenses (e.g., "Salary", "Groceries", "Rent"). - Record Transactions: Go to
transakcije(transactions) to input your financial activities, linking them to accounts and categories. - Manage Inventory: If applicable, use
zalihe(inventory) to add and track your stock items.
ACCTOS is continuously evolving. Here are some of the planned features and improvements:
- Version 1.0.0:
- Enhanced reporting and analytics features.
- Export data functionality (CSV, PDF).
- User interface improvements for better usability.
- Future Enhancements:
- Multi-user support with different access levels.
- Cloud synchronization for data backup and access across devices.
- Localization and multi-language support.
- Community-driven plugins and extensions(if any lol).
- Regular security audits and performance optimizations.
- User feedback incorporation for continuous improvement(if any lol).
- Comprehensive documentation and tutorials for new users.
- Collaboration with financial experts to enhance feature set.
We welcome contributions from the community to make ACCTOS even better! Please follow these guidelines:
- Use clear and descriptive variable/function names.
- Fork the repository and clone it.
- Create your feature branch (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m 'feat: Add new reporting module'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request, describing your changes and linking to any relevant issues.
- Ensure your code changes include appropriate unit and integration tests.
- All existing tests must pass.
This project is licensed under the MIT License.
See the LICENSE file for full details.
MIT License
Copyright (c) 2023 TryCaze
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

