Skip to main content

Simple Accounting App

A simple accounting application built with Python, Streamlit, and SQLAlchemy.

Features

  • Multi-language Support: Available in English, French, and German
  • Chart of Accounts Management: Add, edit, and manage accounts categorized as Active (Assets), Passive (Liabilities/Equity), Expenses, and Products (Revenue)
  • Journal Entries: Record double-entry bookkeeping transactions with validation
  • Account Balances: View balances for all accounts with filtering and detailed transaction history
  • Balance Sheet: Generate and view balance sheet with automatic balance validation
  • Result Sheet (Income Statement): View revenue and expenses with net income calculation
  • Excel Export: Export all accounting data to formatted Excel workbooks
  • Database Management: Backup, restore, and manage database files
  • Year-End Closing: Automated year-end closing with comprehensive backup packages

Technologies Used

  • Frontend: Streamlit for web interface
  • Database: SQLite with SQLAlchemy ORM
  • Data Processing: Pandas for data manipulation and analysis
  • Export: XlsxWriter for Excel report generation
  • Visualization: Plotly for charts (if needed)

Installation

From PyPI (Recommended)

pip install accountr

From Source

  1. Clone or download this repository
  2. Install the package in development mode:
    pip install -e .
    

Usage

After Installation from PyPI

accounting-app

From Source or Development

python main.py

Or alternatively:

streamlit run src/accounting/app.py
  1. Open your web browser and navigate to the URL shown in the terminal (usually http://localhost:8501)

  2. Select your preferred language from the dropdown (English, French, or German)

Application Structure

The application follows a modular architecture with clear separation of concerns:

Core Modules (src/accounting/)

  • app.py: Main Streamlit application entry point with navigation
  • database.py: SQLAlchemy models (Account, JournalEntry) and database configuration
  • constants.py: Centralized configuration values and magic numbers
  • helpers.py: Common helper functions for validation and formatting
  • accounting_utils.py: Business logic for accounting calculations (balance, trial balance, etc.)
  • translation_utils.py: Multi-language support utilities (English, French, German)
  • translations.py: Translation strings for all supported languages

Page Modules (src/accounting/pages/)

  • chart_of_accounts_page.py: Chart of Accounts management
  • journal_entries_page.py: Journal entry recording and editing
  • account_balances_page.py: Account balance viewing with filtering
  • result_sheet_page.py: Income Statement (Result Sheet) generation
  • balance_sheet_page.py: Balance Sheet generation with validation

File Management

  • database_switcher.py: Database backup, restore, and file operations
  • database_management_ui.py: UI components for file management and year-end closing
  • excel_utils.py: Excel formatting utilities and configuration
  • excel_export.py: Excel export logic for all accounting reports

Database

  • Default database stored in src/accounting/server_files/
  • requirements.txt: Legacy dependency file (now replaced by pyproject.toml)

Database

The application uses SQLite for data storage. The database file (accounting.db) will be created automatically in the same directory as the application.

Features Overview

Chart of Accounts Tab

  • View all active accounts in a table format
  • Add new accounts with account codes, names, types, and categories
  • Deactivate accounts (soft delete)

Journal Entries Tab

  • View recent journal entries
  • Add new journal entries with double-entry validation
  • Select debit and credit accounts from dropdown menus

Account Balances Tab

  • View balances for all accounts
  • Filter by category or account type
  • Summary metrics showing totals by account type

Balance Sheet Tab

  • Traditional balance sheet format
  • Shows Assets on the left, Liabilities and Equity on the right
  • Automatic balance validation (Assets = Liabilities + Equity)

Code Quality

This project follows professional coding standards:

  • No Magic Numbers: All configuration values centralized in constants.py
  • DRY Principle: Common functionality extracted into helper modules
  • Separation of Concerns: Clear boundaries between UI, business logic, and data layers
  • Modular Architecture: Focused modules with single responsibilities
  • Type Hints: Function signatures include type information where appropriate
  • Documentation: Functions include docstrings explaining purpose and parameters

Metadata

Release files for accountr 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for accountr 0.1.1
File Interpreter ABI Platform
accountr-0.1.1-py3-none-any.whl Python 3 none any Details

Release files / accountr-0.1.1-py3-none-any.whl

Download URL accountr-0.1.1-py3-none-any.whl
Size 51.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f54539e1c69448c6fb3a5c755ad1a3b0bad1dd7eafeb1b04cfbc830edf2f403
BLAKE2b-256 checksum
How to use checksums
cd6ac75dfb98e3104d1fbf0cd77eba1071412d1f664fd6891609ac113b3e7ca4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 2, 2026.

Transparency log

Security for accountr 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 1 file in this release has been uploaded with provenance metadata.

Attestation for accountr-0.1.1-py3-none-any.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page