36996-vm/accounting/views.py
Flatlogic Bot 4713dc6305 beta
2025-12-16 14:42:48 +00:00

43 lines
1.4 KiB
Python

from django.shortcuts import render
from .models import Account, Ledger, Invoice, Bill
from django.db.models import Sum
def account_list(request):
accounts = Account.objects.all()
return render(request, 'accounting/account_list.html', {'accounts': accounts})
def trial_balance(request):
accounts = Account.objects.all()
report_data = []
total_debits = 0
total_credits = 0
for account in accounts:
debit_total = Ledger.objects.filter(account=account).aggregate(Sum('debit'))['debit__sum'] or 0
credit_total = Ledger.objects.filter(account=account).aggregate(Sum('credit'))['credit__sum'] or 0
balance = debit_total - credit_total
report_data.append({
'number': account.number,
'name': account.name,
'debit': debit_total,
'credit': credit_total,
})
total_debits += debit_total
total_credits += credit_total
return render(request, 'accounting/trial_balance.html', {
'report_data': report_data,
'total_debits': total_debits,
'total_credits': total_credits,
})
def invoice_list(request):
invoices = Invoice.objects.all()
return render(request, 'accounting/invoice_list.html', {'invoices': invoices})
def bill_list(request):
bills = Bill.objects.all()
return render(request, 'accounting/bill_list.html', {'bills': bills})