Skip to content

About

Modern, open-source digital accounting system for local shop owners. Track contacts (customer/supplier), cash & bank, expenses, products (with critical stock alerts) and employee salaries. Runs locally with SQLite — no cloud, no subscription. PDF & Excel statements built-in. TR + EN.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

💼 LedgerLite

Modern, açık kaynaklı dijital muhasebe sistemi — yerel esnaf için

Bakkal, market, kafe, restoran, kuaför, tamirci, toptancı ve her türlü küçük işletme için
cari takibi, kasa/banka yönetimi, gider kaydı, stok kontrolü ve personel maaşları — tek kurulumda.

License: AGPL v3 Python Flask SQLite PRs Welcome Stars

🇹🇷 Türkçe · 🇬🇧 English


🇹🇷 Türkçe

🎯 Nedir Bu?

LedgerLite, yerel esnafın defter, Excel ve dağınık not kağıtlarına veda etmesini sağlayan hafif, sade ve tamamen yerel bir dijital muhasebe sistemidir. İnternet gerektirmez, verileriniz bilgisayarınızdan çıkmaz, aylık abonelik yoktur.

Kurulum sonrası 5 dakikada işletmenizi oluşturur, müşteri ve tedarikçilerinizi eklersiniz, ürünlerinizi tanımlarsınız ve kullanmaya başlarsınız. Cari hesap kimden ne kadar alacağınızı, kime ne kadar borcunuz olduğunu net gösterir. Kasa ve banka hareketleri günlük olarak kayıt altına alınır. Giderleriniz kategori bazlı takip edilir. Kritik stok uyarıları sizi haberdar eder. Personel maaş, avans ve prim ödemeleriniz tek yerde durur.

💡 Neden LedgerLite?

  • 🚀 Sıfır kurulum karmaşası — SQLite dosya tabanlı, harici sunucu gerektirmez
  • 📱 Mobil uyumlu — telefonda da tablette de kusursuz çalışır
  • 👥 Cari hesap takibi — müşteri ve tedarikçi bazlı borç/alacak
  • 📄 PDF ve Excel ekstre — müşteriye tek tıkla ekstre gönderin
  • 💰 Kasa, banka, POS — günlük nakit akışı ve gün sonu raporu
  • 📉 Kategori bazlı giderler — kira, elektrik, su, SGK, personel, mal alımı
  • 📊 Canlı dashboard — aylık ciro, net kâr, en çok borçlular
  • 📦 Kritik stok uyarıları — belirlenen adedin altına düşünce haber verir
  • 👨‍💼 Personel yönetimi — maaş, avans, prim takibi
  • 🔓 Açık kaynak — AGPL-3.0, kendi sunucunuzda barındırın
  • 🇹🇷 Türkçe öncelikli — yerel esnaf için tasarlandı
  • 🔌 Genişletilebilir mimari — fatura, POS, e-fatura modülleri eklenebilir

✨ Özellikler

🎉 İşletme Kurulumu

  • ✅ İlk açılışta kurulum sihirbazı
  • ✅ İşletme türü seçimi (Bakkal, Market, Kafe, Restoran, Kuaför, Toptancı, Eczane, Diğer)
  • ✅ İşletme bilgileri (isim, sahip, telefon, e-posta, adres, vergi no, para birimi)
  • ✅ Yönetici kullanıcı oluşturma
  • ✅ Kurulum tamamlandıktan sonra /setup otomatik kapanır

👥 Cari Hesap (Müşteri & Tedarikçi)

  • ✅ Müşteri ve tedarikçi kayıtları
  • ✅ Kimden ne kadar alacak, kime ne kadar borç (canlı bakiye)
  • ✅ Borç/alacak işlemleri (debit / credit)
  • ✅ Müşteri bazlı hesap ekstresi
  • ✅ PDF ve Excel çıktısı — tek tıkla indir
  • ✅ İşlem geçmişi ve bakiye takibi

💰 Kasa & Banka Takibi

  • ✅ Nakit, POS/Kredi Kartı, Havale/EFT hesapları
  • ✅ Giriş / çıkış hareketleri
  • ✅ Gün sonu kasa raporu — açılış, giriş, çıkış, kapanış bakiyesi
  • ✅ Hesap bazlı toplam bakiye

📉 Gelir & Gider Takibi

  • ✅ Kategori bazlı giderler (Kira, Elektrik, Su, İnternet, Personel, SGK, Mal Alımı, Vergi, Bakım, Diğer)
  • ✅ Aylık gider özeti
  • ✅ Ödeme yöntemi (Nakit / Banka / POS)
  • ✅ Dashboard — aylık ciro, net kâr, en çok borçlu olunanlar

📦 Stok & Ürün Yönetimi

  • ✅ Ürün/hizmet kartları (barkod, isim, birim)
  • ✅ Alış fiyatı, satış fiyatı, KDV oranı
  • ✅ Stok adedi ve kritik stok seviyesi
  • ✅ Otomatik kritik stok uyarısı (Dashboard + ürün listesi)
  • ✅ Ürün arama (isim / barkod)

👨‍💼 Personel & Maaş Takibi

  • ✅ Çalışan kayıtları (isim, telefon, pozisyon)
  • ✅ Maaş, avans, prim kayıtları
  • ✅ İşe giriş tarihi, aktif/pasif durumu
  • ✅ Personel bazlı ödeme geçmişi

🎨 Tasarım

  • ✅ Modern minimalist arayüz
  • ✅ Koyu sidebar + beyaz içerik paleti
  • ✅ Responsive (mobil / tablet / masaüstü)
  • ✅ Framework yok, saf HTML/CSS
  • ✅ Sade, hızlı, hafif

🖼️ Ekran Görüntüleri

Dashboard Contacts Contact Detail Account Statement Cash & Bank Expenses Products


🛠️ Teknoloji Yığını

Katman Teknoloji
Backend Python 3.10+, Flask 3.0
Veritabanı SQLite (dosya tabanlı)
Frontend Vanilla HTML5, CSS3
Şablon Jinja2
Kimlik Doğrulama Flask-Login + Werkzeug
PDF Üretimi ReportLab
Excel Üretimi openpyxl

🚀 Kurulum

Gereksinimler

  • Python 3.10 veya üzeri
  • pip

Adım Adım

# 1. Repoyu klonla
git clone https://github.com/mdaedalus/ledgerlite.git
cd ledgerlite

# 2. Sanal ortam oluştur
python -m venv venv

# Windows:
venv\Scripts\activate

# macOS/Linux:
source venv/bin/activate

# 3. Bağımlılıkları yükle
pip install -r requirements.txt

# 4. Uygulamayı başlat
python app.py

Tarayıcınızda açın: http://localhost:5000

İlk açılışta kurulum sihirbazı karşınıza çıkar. İşletmenizi oluşturup yönetici hesabınızı tanımlayın. Bir daha /setup sayfası görünmez.


🎬 Demo Verisi

Ekran görüntüsü almak veya sistemi test etmek için:

python seed.py --reset

Bu komut sıfırdan veritabanı oluşturur, örnek bir işletme, müşteri/tedarikçi, ürün, personel, kasa hareketi ve gider kaydı basar.

Varsayılan giriş bilgisi:
Kullanıcı: admin
Şifre: admin123

Farklı işletme türleriyle denemek için:

python seed.py --reset --business cafe
python seed.py --reset --business services
python seed.py --reset --business wholesale
python seed.py --reset --business pharmacy

🗺️ Kullanım Akışı

Adres Yaptığı İş
/setup İlk kurulum sihirbazı (yalnızca bir kez)
/login Giriş
/dashboard Genel bakış (ciro, kâr, kasa, kritik stok)
/contacts Müşteri & tedarikçi listesi
/contacts/new Yeni cari kart
/contacts/<id> Cari detay + işlem geçmişi
/contacts/<id>/statement Hesap ekstresi (PDF / Excel)
/transactions Tüm borç/alacak işlemleri
/cash Kasa & banka hareketleri
/cash/daily Gün sonu kasa raporu
/expenses Giderler (kategori bazlı)
/products Ürün & stok yönetimi
/employees Personel listesi
/employees/<id> Personel detay + ödeme geçmişi

📁 Proje Yapısı

ledgerlite/
├── app.py                       # Ana Flask uygulaması
├── config.py                    # Yapılandırma
├── seed.py                      # Test verisi oluşturucu
├── requirements.txt
├── LICENSE                      # AGPL-3.0
├── README.md
├── .gitignore
│
├── img/                         # 📸 Ekran görüntüleri (1.png - 7.png)
│
├── modules/                     # Blueprint'ler
│   ├── __init__.py
│   ├── database.py              # SQLite başlatma
│   ├── auth.py                  # Giriş/çıkış
│   ├── setup.py                 # Kurulum sihirbazı
│   ├── dashboard.py             # Genel bakış
│   ├── contacts.py              # Cari hesap
│   ├── transactions.py          # Borç/alacak işlemleri
│   ├── cash.py                  # Kasa & banka
│   ├── expenses.py              # Giderler
│   ├── products.py              # Ürünler
│   ├── employees.py             # Personel
│   └── reports.py               # PDF / Excel ekstre
│
├── templates/                   # Jinja2 şablonları
│   ├── base.html
│   ├── setup.html
│   ├── login.html
│   ├── dashboard.html
│   ├── contacts/
│   ├── transactions/
│   ├── cash/
│   ├── expenses/
│   ├── products/
│   ├── employees/
│   └── reports/
│
├── static/
│   └── css/style.css
│
└── ledgerlite.db                # SQLite veritabanı (otomatik oluşur)

🔧 Özelleştirme

Para Birimi

Kurulum ekranında seçilir: TRY ₺ / USD $ / EUR €

Gider Kategorileri

modules/expenses.py içindeki DEFAULT_CATEGORIES listesini düzenleyin:

DEFAULT_CATEGORIES = ["Rent", "Electricity", "Water", "Internet",
                      "Salary", "SGK", "Purchase", "Tax",
                      "Maintenance", "Other"]

Kritik Stok Eşiği

Her ürün için ayrı tanımlanır. Varsayılan 5'tir. Ürün formundan değiştirilebilir.


🗺️ Yol Haritası

  • v0.1 — Kurulum sihirbazı + kimlik doğrulama
  • v0.2 — Cari hesap (müşteri / tedarikçi) yönetimi
  • v0.3 — Kasa & banka takibi + gün sonu raporu
  • v0.4 — Gider takibi (kategori bazlı)
  • v0.5 — Ürün & stok yönetimi (kritik stok uyarısı)
  • v0.6 — Personel & maaş takibi
  • v0.7 — PDF & Excel ekstre
  • v0.8 — Hızlı satış / POS ekranı
  • v0.9 — Fatura modülü (e-fatura entegrasyonu)
  • v1.0 — Çoklu kullanıcı + rol yönetimi
  • v1.1 — Veritabanı yedekleme / geri yükleme
  • v1.2 — Grafik dashboard (Chart.js)
  • v1.3 — Barkod okuyucu entegrasyonu
  • v1.4 — Türkçe / İngilizce dil desteği
  • v2.0 — Docker + PostgreSQL

🤝 Katkıda Bulunma

Katkılarınızı bekliyoruz! Büyük değişiklikler için önce bir issue açın.

# Fork → Clone → Branch → Commit → Push → PR
git checkout -b feature/yeni-ozellik
git commit -m "feat: yeni özellik eklendi"
git push origin feature/yeni-ozellik

Commit Kuralları

  • feat: yeni özellik
  • fix: hata düzeltme
  • docs: dokümantasyon
  • style: kod formatı
  • refactor: yeniden düzenleme
  • test: test ekleme

💼 Ticari Kullanım & Lisanslama

Bu proje AGPL-3.0 ile lisanslanmıştır.

✅ Yapabilirsiniz

  • Ücretsiz kullanmak, değiştirmek, dağıtmak
  • Ticari amaçla kullanmak (açık kaynak şartıyla)
  • Kendi sunucunuzda barındırmak
  • Kendi işletmenizde kullanmak

⚠️ Şartlar

  • Değiştirdiğiniz kodu açık kaynak olarak paylaşmalısınız
  • Ağ üzerinden (SaaS) sunsanız bile kaynak kodu vermelisiniz

💰 Ticari Lisans (Kapalı Kaynak İsteyenler İçin)

Kodunuzu kapatmak veya SaaS olarak satmak istiyorsanız ticari lisans için iletişime geçin:

📧 eminnesatg@gmail.com


🇬🇧 English

🎯 What Is This?

LedgerLite is a lightweight, minimal and fully local digital accounting system that lets local shop owners say goodbye to paper ledgers, scattered Excel sheets and sticky notes. No internet required, your data never leaves your computer, no monthly subscription.

Within 5 minutes after setup, you create your business, add your customers and suppliers, define your products, and start using it. The contact ledger shows exactly who owes you and whom you owe. Cash and bank movements are recorded daily. Expenses are tracked by category. Critical stock alerts notify you. Employee salaries, advances and bonuses live in one place.

💡 Why LedgerLite?

  • 🚀 Zero setup hassle — SQLite file-based, no external server required
  • 📱 Mobile-friendly — works flawlessly on phone and tablet
  • 👥 Contact ledger — customer & supplier based debt/receivable
  • 📄 PDF & Excel statements — send a statement with one click
  • 💰 Cash, bank, POS — daily cash flow and end-of-day report
  • 📉 Category-based expenses — rent, electricity, water, SGK, salary, purchase
  • 📊 Live dashboard — monthly revenue, net profit, top debtors
  • 📦 Critical stock alerts — notifies you when below threshold
  • 👨‍💼 Employee management — salary, advance, bonus tracking
  • 🔓 Open source — AGPL-3.0, host it on your own server
  • 🇹🇷 Turkish-first — designed for local shop owners
  • 🔌 Extensible architecture — invoice, POS, e-invoice modules can be added

✨ Features

🎉 Business Setup

  • ✅ Setup wizard on first launch
  • ✅ Business type selection (Grocery, Market, Cafe, Restaurant, Barber, Wholesale, Pharmacy, Other)
  • ✅ Business info (name, owner, phone, email, address, tax number, currency)
  • ✅ Admin user creation
  • ✅ /setup automatically closes after completion

👥 Contact Ledger (Customer & Supplier)

  • ✅ Customer and supplier records
  • ✅ Who owes you how much, whom you owe (live balance)
  • ✅ Debit / credit transactions
  • ✅ Per-contact account statement
  • ✅ PDF and Excel export — download with one click
  • ✅ Transaction history and balance tracking

💰 Cash & Bank Tracking

  • ✅ Cash, POS/Credit Card, Wire/EFT accounts
  • ✅ In / out movements
  • ✅ End-of-day cash report — opening, in, out, closing balance
  • ✅ Per-account total balance

📉 Income & Expense Tracking

  • ✅ Category-based expenses (Rent, Electricity, Water, Internet, Salary, SGK, Purchase, Tax, Maintenance, Other)
  • ✅ Monthly expense summary
  • ✅ Payment method (Cash / Bank / POS)
  • ✅ Dashboard — monthly revenue, net profit, top debtors

📦 Stock & Product Management

  • ✅ Product/service cards (barcode, name, unit)
  • ✅ Purchase price, sale price, VAT rate
  • ✅ Stock quantity and critical stock level
  • ✅ Automatic critical stock alert (Dashboard + product list)
  • ✅ Product search (name / barcode)

👨‍💼 Employee & Salary Tracking

  • ✅ Employee records (name, phone, position)
  • ✅ Salary, advance, bonus entries
  • ✅ Hire date, active/inactive status
  • ✅ Per-employee payment history

🎨 Design

  • ✅ Modern minimalist interface
  • ✅ Dark sidebar + white content palette
  • ✅ Responsive (mobile / tablet / desktop)
  • ✅ No frameworks, pure HTML/CSS
  • ✅ Clean, fast, lightweight

🖼️ Screenshots

Dashboard Contacts Contact Detail Account Statement Cash & Bank Expenses Products


🛠️ Tech Stack

Layer Technology
Backend Python 3.10+, Flask 3.0
Database SQLite (file-based)
Frontend Vanilla HTML5, CSS3
Templating Jinja2
Auth Flask-Login + Werkzeug
PDF Generation ReportLab
Excel Generation openpyxl

🚀 Installation

Requirements

  • Python 3.10 or higher
  • pip

Step by Step

# 1. Clone the repo
git clone https://github.com/mdaedalus/ledgerlite.git
cd ledgerlite

# 2. Create virtual environment
python -m venv venv

# Windows:
venv\Scripts\activate

# macOS/Linux:
source venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

# 4. Start the app
python app.py

Open in your browser: http://localhost:5000

On first launch, the setup wizard appears. Create your business and admin account. The /setup page will never appear again.


🎬 Demo Data

To generate screenshots or test the system:

python seed.py --reset

This command recreates the database from scratch with a sample business, contacts, products, employees, cash movements and expenses.

Default login:
Username: admin
Password: admin123

Try different business types:

python seed.py --reset --business cafe
python seed.py --reset --business services
python seed.py --reset --business wholesale
python seed.py --reset --business pharmacy

🗺️ Usage Flow

URL What It Does
/setup First-time setup wizard (only once)
/login Login
/dashboard Overview (revenue, profit, cash, critical stock)
/contacts Customer & supplier list
/contacts/new New contact
/contacts/<id> Contact detail + transaction history
/contacts/<id>/statement Account statement (PDF / Excel)
/transactions All debit/credit transactions
/cash Cash & bank movements
/cash/daily End-of-day cash report
/expenses Expenses (category-based)
/products Product & stock management
/employees Employee list
/employees/<id> Employee detail + payment history

📁 Project Structure

ledgerlite/
├── app.py                       # Main Flask app
├── config.py                    # Configuration
├── seed.py                      # Test data generator
├── requirements.txt
├── LICENSE                      # AGPL-3.0
├── README.md
├── .gitignore
│
├── img/                         # 📸 Screenshots (1.png - 7.png)
│
├── modules/                     # Blueprints
│   ├── __init__.py
│   ├── database.py              # SQLite init
│   ├── auth.py                  # Login/logout
│   ├── setup.py                 # Setup wizard
│   ├── dashboard.py             # Overview
│   ├── contacts.py              # Contact ledger
│   ├── transactions.py          # Debit/credit
│   ├── cash.py                  # Cash & bank
│   ├── expenses.py              # Expenses
│   ├── products.py              # Products
│   ├── employees.py             # Employees
│   └── reports.py               # PDF / Excel statement
│
├── templates/                   # Jinja2 templates
│   ├── base.html
│   ├── setup.html
│   ├── login.html
│   ├── dashboard.html
│   ├── contacts/
│   ├── transactions/
│   ├── cash/
│   ├── expenses/
│   ├── products/
│   ├── employees/
│   └── reports/
│
├── static/
│   └── css/style.css
│
└── ledgerlite.db                # SQLite database (auto-created)

🔧 Customization

Currency

Selected during setup: TRY ₺ / USD $ / EUR €

Expense Categories

Edit DEFAULT_CATEGORIES in modules/expenses.py:

DEFAULT_CATEGORIES = ["Rent", "Electricity", "Water", "Internet",
                      "Salary", "SGK", "Purchase", "Tax",
                      "Maintenance", "Other"]

Critical Stock Threshold

Defined per product. Default is 5. Editable from the product form.


🗺️ Roadmap

  • v0.1 — Setup wizard + authentication
  • v0.2 — Contact ledger (customer / supplier)
  • v0.3 — Cash & bank tracking + end-of-day report
  • v0.4 — Expense tracking (category-based)
  • v0.5 — Product & stock management (critical stock alert)
  • v0.6 — Employee & salary tracking
  • v0.7 — PDF & Excel statements
  • v0.8 — Quick sale / POS screen
  • v0.9 — Invoice module (e-invoice integration)
  • v1.0 — Multi-user + role management
  • v1.1 — Database backup / restore
  • v1.2 — Chart dashboard (Chart.js)
  • v1.3 — Barcode reader integration
  • v1.4 — Turkish / English language support
  • v2.0 — Docker + PostgreSQL

🤝 Contributing

Contributions are welcome! For major changes, please open an issue first.

# Fork → Clone → Branch → Commit → Push → PR
git checkout -b feature/new-feature
git commit -m "feat: added new feature"
git push origin feature/new-feature

Commit Conventions

  • feat: new feature
  • fix: bug fix
  • docs: documentation
  • style: code formatting
  • refactor: refactoring
  • test: adding tests

💼 Commercial Use & Licensing

This project is licensed under AGPL-3.0.

✅ You Can

  • Use, modify, distribute for free
  • Use commercially (with open-source obligation)
  • Host on your own server
  • Use in your own business

⚠️ Conditions

  • You must share your modified code as open source
  • Even if you serve it over the network (SaaS), you must provide the source code

💰 Commercial License (For Closed-Source Users)

If you want to close your code or sell it as SaaS, contact us for a commercial license:

📧 eminnesatg@gmail.com


👨‍💻 Author

Emin Neşat Gürses


📄 License

This project is licensed under the GNU Affero General Public License v3.0.
See the LICENSE file for details.


⭐ If you like this project, don't forget to star it!

🐛 Report Bug · 💡 Request Feature · 📖 Wiki

```

About

Modern, open-source digital accounting system for local shop owners. Track contacts (customer/supplier), cash & bank, expenses, products (with critical stock alerts) and employee salaries. Runs locally with SQLite — no cloud, no subscription. PDF & Excel statements built-in. TR + EN.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages