django-ledger 0.8.0__py3-none-any.whl → 0.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of django-ledger might be problematic. Click here for more details.
- django_ledger/__init__.py +1 -1
- django_ledger/forms/account.py +45 -46
- django_ledger/forms/data_import.py +182 -63
- django_ledger/io/io_core.py +507 -374
- django_ledger/migrations/0026_stagedtransactionmodel_customer_model_and_more.py +56 -0
- django_ledger/models/__init__.py +2 -1
- django_ledger/models/bill.py +337 -300
- django_ledger/models/customer.py +47 -34
- django_ledger/models/data_import.py +770 -289
- django_ledger/models/entity.py +882 -637
- django_ledger/models/mixins.py +421 -280
- django_ledger/models/receipt.py +1083 -0
- django_ledger/models/transactions.py +105 -41
- django_ledger/models/unit.py +42 -30
- django_ledger/models/utils.py +12 -2
- django_ledger/models/vendor.py +85 -66
- django_ledger/settings.py +1 -0
- django_ledger/templates/django_ledger/components/period_navigator.html +5 -3
- django_ledger/templates/django_ledger/customer/customer_detail.html +87 -0
- django_ledger/templates/django_ledger/customer/customer_list.html +0 -1
- django_ledger/templates/django_ledger/customer/tags/customer_table.html +3 -1
- django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_imported.html +24 -3
- django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html +26 -10
- django_ledger/templates/django_ledger/entity/entity_dashboard.html +2 -2
- django_ledger/templates/django_ledger/layouts/base.html +1 -1
- django_ledger/templates/django_ledger/layouts/content_layout_1.html +1 -1
- django_ledger/templates/django_ledger/receipt/customer_receipt_report.html +115 -0
- django_ledger/templates/django_ledger/receipt/receipt_delete.html +30 -0
- django_ledger/templates/django_ledger/receipt/receipt_detail.html +89 -0
- django_ledger/templates/django_ledger/receipt/receipt_list.html +134 -0
- django_ledger/templates/django_ledger/receipt/vendor_receipt_report.html +115 -0
- django_ledger/templates/django_ledger/vendor/tags/vendor_table.html +3 -2
- django_ledger/templates/django_ledger/vendor/vendor_detail.html +86 -0
- django_ledger/templatetags/django_ledger.py +338 -191
- django_ledger/urls/__init__.py +1 -0
- django_ledger/urls/customer.py +3 -0
- django_ledger/urls/data_import.py +3 -0
- django_ledger/urls/receipt.py +102 -0
- django_ledger/urls/vendor.py +1 -0
- django_ledger/views/__init__.py +1 -0
- django_ledger/views/customer.py +56 -14
- django_ledger/views/data_import.py +119 -66
- django_ledger/views/mixins.py +112 -86
- django_ledger/views/receipt.py +294 -0
- django_ledger/views/vendor.py +53 -14
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/METADATA +1 -1
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/RECORD +51 -40
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/WHEEL +0 -0
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/licenses/AUTHORS.md +0 -0
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/licenses/LICENSE +0 -0
- {django_ledger-0.8.0.dist-info → django_ledger-0.8.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-09-27 22:04
|
|
2
|
+
|
|
3
|
+
import django.core.validators
|
|
4
|
+
import django.db.models.deletion
|
|
5
|
+
import django_ledger.io.io_core
|
|
6
|
+
import uuid
|
|
7
|
+
from django.db import migrations, models
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Migration(migrations.Migration):
|
|
11
|
+
|
|
12
|
+
dependencies = [
|
|
13
|
+
('django_ledger', '0025_alter_billmodel_cash_account_and_more'),
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
operations = [
|
|
17
|
+
migrations.AddField(
|
|
18
|
+
model_name='stagedtransactionmodel',
|
|
19
|
+
name='customer_model',
|
|
20
|
+
field=models.ForeignKey(blank=True, help_text='The Customer associated with the transaction.', null=True, on_delete=django.db.models.deletion.RESTRICT, to='django_ledger.customermodel', verbose_name='Associated Customer Model'),
|
|
21
|
+
),
|
|
22
|
+
migrations.AddField(
|
|
23
|
+
model_name='stagedtransactionmodel',
|
|
24
|
+
name='receipt_type',
|
|
25
|
+
field=models.CharField(blank=True, choices=[('sales', 'Sales Receipt'), ('customer_refund', 'Sales Refund'), ('expense', 'Expense Receipt'), ('expense_refund', 'Expense Refund'), ('transfer', 'Transfer Receipt')], help_text='The receipt type of the transaction.', max_length=20, null=True, verbose_name='Receipt Type'),
|
|
26
|
+
),
|
|
27
|
+
migrations.AddField(
|
|
28
|
+
model_name='stagedtransactionmodel',
|
|
29
|
+
name='vendor_model',
|
|
30
|
+
field=models.ForeignKey(blank=True, help_text='The Vendor associated with the transaction.', null=True, on_delete=django.db.models.deletion.RESTRICT, to='django_ledger.vendormodel', verbose_name='Associated Vendor Model'),
|
|
31
|
+
),
|
|
32
|
+
migrations.CreateModel(
|
|
33
|
+
name='ReceiptModel',
|
|
34
|
+
fields=[
|
|
35
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
|
36
|
+
('updated', models.DateTimeField(auto_now=True, null=True)),
|
|
37
|
+
('markdown_notes', models.TextField(blank=True, null=True, verbose_name='Markdown Notes')),
|
|
38
|
+
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
|
39
|
+
('receipt_number', models.CharField(max_length=255, verbose_name='Receipt Number')),
|
|
40
|
+
('receipt_date', models.DateField(verbose_name='Receipt Date')),
|
|
41
|
+
('receipt_type', models.CharField(choices=[('sales', 'Sales Receipt'), ('customer_refund', 'Sales Refund'), ('expense', 'Expense Receipt'), ('expense_refund', 'Expense Refund'), ('transfer', 'Transfer Receipt')], verbose_name='Receipt Type')),
|
|
42
|
+
('amount', models.DecimalField(decimal_places=2, help_text='Amount of the receipt.', max_digits=20, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Receipt Amount')),
|
|
43
|
+
('charge_account', models.ForeignKey(help_text='The financial account (cash or credit) where this transaction was made.', on_delete=django.db.models.deletion.PROTECT, related_name='charge_receiptmodel_set', to='django_ledger.accountmodel', verbose_name='Charge Account')),
|
|
44
|
+
('customer_model', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_ledger.customermodel', verbose_name='Customer Model')),
|
|
45
|
+
('ledger_model', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.PROTECT, to='django_ledger.ledgermodel', verbose_name='Ledger Model')),
|
|
46
|
+
('receipt_account', models.ForeignKey(help_text='The income or expense account where this transaction will be reflected', on_delete=django.db.models.deletion.PROTECT, to='django_ledger.accountmodel', verbose_name='PnL Account')),
|
|
47
|
+
('staged_transaction_model', models.OneToOneField(blank=True, help_text='The staged transaction associated with the receipt from bank feeds.', null=True, on_delete=django.db.models.deletion.RESTRICT, to='django_ledger.stagedtransactionmodel', verbose_name='Staged Transaction Model')),
|
|
48
|
+
('unit_model', models.ForeignKey(blank=True, help_text='Helps segregate receipts and transactions into different classes or departments.', null=True, on_delete=django.db.models.deletion.PROTECT, to='django_ledger.entityunitmodel', verbose_name='Unit Model')),
|
|
49
|
+
('vendor_model', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='django_ledger.vendormodel', verbose_name='Vendor Model')),
|
|
50
|
+
],
|
|
51
|
+
options={
|
|
52
|
+
'abstract': False,
|
|
53
|
+
},
|
|
54
|
+
bases=(models.Model, django_ledger.io.io_core.IOMixIn),
|
|
55
|
+
),
|
|
56
|
+
]
|
django_ledger/models/__init__.py
CHANGED
|
@@ -15,4 +15,5 @@ from django_ledger.models.unit import *
|
|
|
15
15
|
from django_ledger.models.purchase_order import *
|
|
16
16
|
from django_ledger.models.closing_entry import *
|
|
17
17
|
from django_ledger.models.entity import *
|
|
18
|
-
from django_ledger.models.data_import import *
|
|
18
|
+
from django_ledger.models.data_import import *
|
|
19
|
+
from django_ledger.models.receipt import *
|