# Generated by Django 5.0.1 on 2026-09-01 03:27

import django.db.models.deletion
from decimal import Decimal
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('accounting', '0010_alter_accounttransaction_payment_mode_and_more'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='JournalEntry',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('journal_number', models.CharField(db_index=True, max_length=50, unique=True)),
                ('entry_date', models.DateField()),
                ('voucher_reference', models.CharField(blank=True, default='', max_length=100, verbose_name='Voucher Reference')),
                ('notes', models.TextField(blank=True, default='', verbose_name='Notes / Narration')),
                ('notes_ta', models.TextField(blank=True, default='', verbose_name='Notes / Narration (Tamil)')),
                ('total_amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=12, verbose_name='Total Amount')),
                ('is_deleted', models.BooleanField(default=False)),
                ('change_log', models.JSONField(blank=True, default=list)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('entered_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='journal_entries', to=settings.AUTH_USER_MODEL, verbose_name='Entered By')),
            ],
            options={
                'verbose_name': 'Journal Entry',
                'verbose_name_plural': 'Journal Entries',
                'ordering': ['-entry_date', '-created_at'],
            },
        ),
        migrations.AddField(
            model_name='accounttransaction',
            name='journal_entry',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='transactions', to='accounting.journalentry'),
        ),
    ]
