Skip to content

paksaitsolutions/PaksaFinancialSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

351 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Paksa Financial System

Paksa Financial System

Enterprise-Grade Financial Management Platform

License: MIT Python 3.10+ Vue 3 FastAPI

Features β€’ Quick Start β€’ Documentation β€’ Contributing


πŸ“‹ Table of Contents

🎯 About

Paksa Financial System is a comprehensive, enterprise-grade financial management platform designed to streamline all aspects of business finance. Built with modern technologies and best practices, it provides a robust, scalable solution for organizations of all sizes.

Objectives

  • Unified Financial Management: Single platform for all financial operations
  • Real-time Insights: Live dashboards and analytics for informed decision-making
  • Compliance Ready: Built-in support for tax regulations and financial reporting standards
  • Scalable Architecture: Multi-tenant design supporting growth from startup to enterprise
  • Developer Friendly: Well-documented APIs and modern tech stack
  • User Experience: Intuitive interface with mobile-first responsive design

Key Benefits

  • βœ… Reduce manual data entry and errors
  • βœ… Improve cash flow visibility
  • βœ… Streamline approval workflows
  • βœ… Automate recurring transactions
  • βœ… Generate compliance reports instantly
  • βœ… Access financial data anywhere, anytime

🌟 Features

Core Financial Modules

General Ledger (GL)

  • πŸ“’ Complete double-entry accounting system
  • πŸ“ˆ Chart of Accounts management with hierarchical structure
  • ✍️ Journal entries (standard, recurring, and reversing)
  • πŸ“Š Trial balance and financial statements
  • πŸ”’ Period closing and year-end procedures
  • πŸ”„ Account reconciliation tools
  • πŸ’± Multi-currency support with real-time exchange rates

Accounts Payable (AP)

  • πŸ‘₯ Vendor management and relationship tracking
  • πŸ“ Bill/Invoice processing with approval workflows
  • πŸ’Έ Payment processing (single and batch)
  • πŸ“§ Credit memos and vendor credits
  • πŸ“„ 1099 form generation and filing
  • πŸ“… AP aging reports and analytics
  • ⏱️ Payment scheduling and reminders

Accounts Receivable (AR)

  • πŸ‘€ Customer management with credit limits
  • 🧾e Invoice generation and customization
  • πŸ’³ Payment processing and allocation
  • πŸ“© Collections management and dunning
  • πŸ“ˆ AR aging reports and analytics
  • πŸ“§ Automated payment reminders
  • πŸ“Š Revenue recognition and forecasting

Cash Management

  • 🏦 Bank account management and reconciliation
  • πŸ’΅ Transaction recording and categorization
  • πŸ” Bank reconciliation with matching algorithms
  • πŸ“‰ Cash flow forecasting and analysis
  • πŸ“Š Liquidity analysis and reporting
  • πŸ”” Low balance alerts

Fixed Assets

  • 🏭 Asset registration and tracking
  • πŸ“‰ Depreciation calculation (straight-line, declining balance)
  • πŸ—‘οΈ Asset disposal and write-offs
  • πŸ”§ Maintenance scheduling and tracking
  • πŸ“Š Asset valuation reports
  • πŸ“ Bulk operations for efficiency

Payroll

  • πŸ‘₯ Employee management and records
  • πŸ’° Pay run processing and calculations
  • πŸ“ Payslip generation and distribution
  • πŸ“Š Deductions and benefits management
  • πŸ’Έ Tax calculations and withholdings
  • πŸ“„ Payroll reports and analytics
  • πŸ“… Leave management integration

Budget Management

  • πŸ“Š Budget creation and planning
  • πŸ” Budget monitoring and tracking
  • πŸ“‰ Variance analysis (budget vs actual)
  • βœ… Approval workflows
  • πŸ›οΈ Department/Project allocation
  • πŸ“ˆ Forecasting and projections

Tax Management

  • πŸ’° Tax code management
  • 🌍 Multi-jurisdiction support
  • πŸ“„ Tax return filing and tracking
  • πŸ“ˆ Compliance reporting
  • ⏰ Tax payment scheduling
  • πŸ“Š Tax analytics and planning

Inventory Management

  • πŸ“¦ Item management and categorization
  • πŸ“ Location tracking
  • πŸ”’ Stock adjustments and cycle counting
  • πŸ“ Purchase order management
  • πŸ“Š Valuation methods (FIFO, LIFO, Average)
  • 🚨 Reorder point alerts

Technical Highlights

  • πŸš€ Modern Stack: FastAPI + Vue 3 + TypeScript + Vite
  • πŸ” Security: JWT authentication, RBAC, data encryption, audit trails
  • πŸ“Š Real-time: WebSocket support for live updates and notifications
  • πŸ“± Responsive: Mobile-first design with PrimeVue components
  • 🌐 i18n: Multi-language support (English, Arabic, Urdu, Chinese)
  • πŸ“¦ API-First: RESTful APIs with OpenAPI/Swagger documentation
  • πŸ“ˆ Analytics: Built-in BI dashboards and reporting engine
  • ☁️ Cloud-Ready: Docker containerization and Kubernetes support
  • πŸ”„ Multi-Tenant: Isolated data with shared infrastructure
  • 🧠 AI-Powered: Intelligent insights and automation

πŸ› οΈ Technology Stack

Backend

  • Framework: FastAPI 0.104+
  • Language: Python 3.10+
  • Database: PostgreSQL 13+ / SQLite (dev)
  • ORM: SQLAlchemy 2.0
  • Authentication: JWT with bcrypt
  • API Docs: OpenAPI/Swagger
  • Testing: Pytest (90.8% coverage)
  • Task Queue: Celery + Redis

Frontend

  • Framework: Vue 3 (Composition API)
  • Language: TypeScript 5.3+
  • Build Tool: Vite 7.1+
  • UI Library: PrimeVue 3.53+
  • State Management: Pinia
  • Routing: Vue Router 4
  • HTTP Client: Axios
  • Testing: Vitest + Playwright
  • Charts: Chart.js + ECharts

DevOps

  • Containerization: Docker + Docker Compose
  • Orchestration: Kubernetes
  • CI/CD: GitHub Actions
  • Monitoring: Prometheus + Grafana
  • Logging: ELK Stack

Development Tools

  • Code Quality: ESLint, Prettier, Black, isort
  • Version Control: Git
  • API Testing: Postman
  • Documentation: Markdown + OpenAPI

πŸš€ Quick Start

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • PostgreSQL 13+ (or SQLite for development)
  • Redis (for caching and WebSockets)

Environment Setup

  1. Clone the repository:

    git clone https://github.com/your-org/paksa-financial-system.git
    cd paksa-financial-system
  2. Set up backend:

    # Create and activate virtual environment
    python -m venv .venv
    .\.venv\Scripts\activate  # Windows
    # source .venv/bin/activate  # Linux/Mac
    
    # Install dependencies
    pip install -r backend/requirements.txt
    
    # Set up environment variables
    cp .env.example .env
    # Edit .env with your configuration
  3. Set up frontend:

    cd frontend
    npm install
    cp .env.example .env.local
    # Edit .env.local if needed

Running the Application

Development Mode

# Backend (from project root)
cd backend
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# Frontend (in a new terminal)
cd frontend
npm run dev

Production Deployment

# Build frontend
cd frontend
npm run build

# Run with Uvicorn (behind a reverse proxy like Nginx in production)
cd ../backend
uvicorn app.main:app --host 0.0.0.0 --port 8000

# Or using Docker
# docker-compose up -d --build

Troubleshooting

Backend Won't Start

Problem: ModuleNotFoundError: No module named 'app'

Solution: Make sure you're running from the correct directory:

# Option 1: Run from backend directory
cd backend
python -m uvicorn app.main:app --reload

# Option 2: Set PYTHONPATH from project root
set PYTHONPATH=%CD%\backend  # Windows
export PYTHONPATH=$PWD/backend  # Linux/Mac
uvicorn app.main:app --reload

Problem: Database initialization errors

Solution: Use the unified initialization script:

cd backend
python -m app.core.db.unified_init --mode development --sample-data

Problem: Circular import errors

Solution: The system now uses centralized error handling. If you see circular imports, check that you're using the latest code.

Frontend Issues

Problem: API calls failing

Solution: Check that backend is running and CORS is configured:

  • Backend should be at http://localhost:8000
  • Frontend at http://localhost:3003
  • Check .env files in both directories

Problem: Build errors

Solution:

cd frontend
rm -rf node_modules package-lock.json
npm install
npm run dev

πŸ” Authentication

Default admin credentials (change in production):

Configure initial superuser via environment variables:

FIRST_SUPERUSER_EMAIL=admin@paksa.com
FIRST_SUPERUSER_PASSWORD=your_secure_password

πŸ“š Documentation

For Users

For Developers

API Documentation

  • Interactive Docs: http://localhost:8000/docs (Swagger UI)
  • ReDoc: http://localhost:8000/redoc
  • OpenAPI Spec: http://localhost:8000/openapi.json

πŸ“ Project Structure

paksa-financial-system/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/              # API routes
β”‚   β”‚   β”œβ”€β”€ core/             # Core functionality
β”‚   β”‚   β”œβ”€β”€ models/           # Database models
β”‚   β”‚   β”œβ”€β”€ schemas/          # Pydantic schemas
β”‚   β”‚   β”œβ”€β”€ services/         # Business logic
β”‚   β”‚   └── main.py           # Application entry
β”‚   β”œβ”€β”€ tests/                # Test suite (90.8% coverage)
β”‚   └── requirements.txt      # Python dependencies
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/              # API services
β”‚   β”‚   β”œβ”€β”€ components/       # Vue components
β”‚   β”‚   β”œβ”€β”€ composables/      # Vue composables
β”‚   β”‚   β”œβ”€β”€ modules/          # Feature modules
β”‚   β”‚   β”œβ”€β”€ stores/           # Pinia stores
β”‚   β”‚   β”œβ”€β”€ types/            # TypeScript types
β”‚   β”‚   └── utils/            # Utilities
β”‚   β”œβ”€β”€ e2e/                  # E2E tests
β”‚   └── package.json          # Node dependencies
β”œβ”€β”€ docs/                     # Documentation
└── docker-compose.yml        # Docker configuration

πŸ§ͺ Testing

Backend Tests

cd backend
pytest                    # Run all tests
pytest --cov             # With coverage
pytest tests/test_ap_module.py  # Specific module

Coverage: 90.8% (138 passed, 11 failed, 3 errors out of 152 tests)

Frontend Tests

cd frontend
npm run test             # Unit tests
npm run test:coverage    # With coverage
npm run e2e              # E2E tests
npm run e2e:ui           # E2E with UI

Test Categories

  • Unit Tests: Component and service logic
  • Integration Tests: API endpoints and database
  • E2E Tests: Complete user workflows

πŸš€ Deployment

Docker Deployment

# Build and run
docker-compose up -d --build

# View logs
docker-compose logs -f

# Stop services
docker-compose down

Kubernetes Deployment

# Apply configurations
kubectl apply -f k8s/

# Check status
kubectl get pods
kubectl get services

Production Checklist

  • Change default admin credentials
  • Configure production database
  • Set up SSL/TLS certificates
  • Configure backup strategy
  • Set up monitoring and logging
  • Configure email service
  • Review security settings
  • Set up CDN for static assets
  • Configure rate limiting
  • Test disaster recovery

πŸ› οΈ Development

Code Style

Backend

black .              # Format code
isort .              # Sort imports
flake8 .             # Lint code

Frontend

npm run format       # Format code
npm run lint         # Lint code

Git Workflow

  1. Create feature branch: git checkout -b feature/feature-name
  2. Make changes and commit: git commit -m "feat: description"
  3. Push branch: git push origin feature/feature-name
  4. Create Pull Request
  5. Code review and merge

Commit Message Format

type(scope): subject

Types: feat, fix, docs, style, refactor, test, chore
Example: feat(ap): add vendor bulk import

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Quick Contribution Guide

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/AmazingFeature
  3. Make your changes
  4. Write/update tests
  5. Commit: git commit -m 'feat: Add AmazingFeature'
  6. Push: git push origin feature/AmazingFeature
  7. Open a Pull Request

Development Setup

See Setup Guide for detailed instructions.

Code Review Process

  • All PRs require at least one approval
  • Automated tests must pass
  • Code coverage should not decrease
  • Follow code style guidelines

πŸ› Bug Reports & Feature Requests

Reporting Bugs

  1. Check existing issues
  2. Create new issue with:
    • Clear description
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots (if applicable)
    • Environment details

Feature Requests

  1. Check existing feature requests
  2. Create new issue with:
    • Clear use case
    • Proposed solution
    • Alternative solutions considered
    • Additional context

πŸ’¬ Support & Community

Getting Help

Community

πŸ“ˆ Roadmap

Current Version: 1.0.0

Upcoming Features

  • Mobile apps (iOS/Android)
  • Advanced AI analytics
  • Blockchain integration
  • Enhanced multi-currency
  • Advanced workflow automation
  • Third-party integrations (Stripe, QuickBooks, etc.)

See TODO.md for detailed roadmap.

πŸ† Achievements

  • βœ… 90.8% test coverage
  • βœ… 10+ core financial modules
  • βœ… Multi-tenant architecture
  • βœ… Real-time updates
  • βœ… Comprehensive API documentation
  • βœ… Mobile-responsive design
  • βœ… Multi-language support

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License Summary

  • βœ… Commercial use
  • βœ… Modification
  • βœ… Distribution
  • βœ… Private use
  • ⚠️ License and copyright notice required

πŸ‘₯ Team

Core Team

  • Project Lead: Paksa IT Solutions
  • Backend Team: Python/FastAPI specialists
  • Frontend Team: Vue.js/TypeScript experts
  • DevOps Team: Cloud infrastructure engineers

Contributors

Thanks to all our contributors!

πŸ™ Acknowledgments

Built With

  • FastAPI - Modern Python web framework
  • Vue.js - Progressive JavaScript framework
  • PrimeVue - Rich UI component library
  • PostgreSQL - Advanced open source database
  • SQLAlchemy - Python SQL toolkit
  • Pinia - Vue state management
  • Vite - Next generation frontend tooling

Special Thanks

  • Open source community
  • All contributors and testers
  • Early adopters and feedback providers

Built with ❀️ by Paksa IT Solutions

Website β€’ Documentation β€’ Support

Β© 2024 Paksa IT Solutions. All rights reserved.

About

Enterprise-grade financial management platform built with FastAPI (backend) and Vue 3 + Vite (frontend). A comprehensive solution for managing all aspects of business finance.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors