Skip to content

Latest commit

ย 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GST Billing & Inventory Management Software (India ๐Ÿ‡ฎ๐Ÿ‡ณ)

A powerful GST billing software for Indian businesses with inventory management, invoice generation, and offline-first PWA support.

Supports:

  • GST invoicing (CGST, SGST, IGST)
  • Inventory & stock management
  • Offline billing system
  • Small business / shop billing use-case

GST Billing & Inventory Management PWA

A high-performance, mobile-first Progressive Web Application (PWA) built for robust, offline-capable GST billing and inventory management. This application has been developed to adhere strictly to Indian taxation requirements (CGST, SGST, IGST calculations) with fully localized numerical formatting.

Features

  • Progressive Web App (PWA): Installable on iOS and Android devices directly from the browser. Supports offline caching for core modules.
  • Inventory Management: Real-time stock tracking, expiration alerts, and comprehensive batch management (FIFO/LIFO ready).
  • Billing Engine: Automated, error-free GST calculations, smart autocomplete for returning products, and instant dynamic total generation.
  • Document Generation: Print-ready A4 formatting for generating hard-copy or PDF invoices.
  • Reporting & Dashboard: Visual representation of monthly sales velocities and key performance indicators.
  • Data Governance: Zero cloud dependency. 100% data ownership with built-in export (CSV) and full SQLite database backup/restore mechanics.

Tech Stack

  • Frontend: React 18 (TypeScript), Vite, Tailwind CSS, Recharts, Zustand, Date-FNS.
  • Backend: FastAPI (Python), SQLAlchemy, SQLite, Pydantic, PassLib.
  • Deployment: Docker, Nginx.

Local Development Setup

1. Backend Setup

Ensure you have Python 3.11+ installed.

cd backend
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt

Run the backend development server:

uvicorn main:app --reload --port 8000

The API will be available at http://localhost:8000.

2. Frontend Setup

Ensure you have Node.js 18+ installed.

cd frontend
npm install --legacy-peer-deps

Run the frontend development server:

npm run dev

The UI will be available at http://localhost:5173.

Docker Production Deployment

This application comes with a production-ready Docker Compose configuration.

  1. Ensure Docker and Docker Compose are installed.
  2. Copy the .env.example file to .env:
    cp .env.example .env
  3. Update the .env file with a secure, random SECRET_KEY.
  4. Build and start the containers:
    docker-compose up --build -d

The application will now be running at http://localhost:80 (Frontend) and http://localhost:8000 (Backend API).

Application Architecture

  • Auth: JWT-based authentication storing tokens locally.
  • Database: SQLite database stored locally. In a Docker environment, it uses a persistent Docker Volume db_data to ensure your data survives container restarts.
  • PWA Config: Utilizes vite-plugin-pwa alongside Workbox to aggressively cache CSS, JS, and essential API endpoints for partial offline resilience.

Constraints & Security

  • Strict Formatting: Rupee (โ‚น) formatting with exactly 2 decimal places.
  • No Third-Party APIs: This system is completely self-contained. It relies on zero external APIs to ensure total data sovereignty and operation in low-connectivity zones.

About

Offline-first GST billing & inventory management PWA for India ๐Ÿ‡ฎ๐Ÿ‡ณ | FastAPI + React | Invoice generation, stock tracking, and GST-compliant calculations (CGST/SGST/IGST)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages