Backend: - Add payment_methods and payment_mode fields to Receipt model - Add payment method extraction (CARD/NUMERAR) with auto-suggestion logic - Improve OCR service with TVA validation and reverse calculation - Fix nomenclature service supplier limit (was 50, now unlimited) - Add OCR fields migrations (ocr_raw_text, ocr_confidence, payment_mode) Frontend: - Fix AutoComplete to properly display supplier name after OCR - Add payment methods display in OCR preview with suggested payment mode - Improve ReceiptCreateView form handling and OCR data application Database migrations: - 20251215_add_ocr_fields_to_receipt.py - 20251215_remove_partner_id.py - 20251216_add_payment_mode.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
838 B
Python
30 lines
838 B
Python
"""Remove partner_id from receipts - supplier data is text-only
|
|
|
|
Revision ID: 20251215_remove_partner_id
|
|
Revises: 20251216_payment_mode
|
|
Create Date: 2025-12-15
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = '20251215_remove_partner_id'
|
|
down_revision: Union[str, None] = '20251216_payment_mode'
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Remove partner_id column - supplier data is now text-only (partner_name, cui)."""
|
|
# Drop the partner_id column
|
|
op.drop_column('receipts', 'partner_id')
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Re-add partner_id column."""
|
|
op.add_column('receipts', sa.Column('partner_id', sa.Integer(), nullable=True))
|