PotapovaA ba172f8e99 init
2026-09-15 15:53:46 +03:00

26 lines
1.4 KiB
Python

from src.models.base import Base, UUIDPrimaryMixin
from decimal import Decimal
import uuid
from sqlalchemy import ForeignKey, String, Enum as SAEnum, Numeric
from sqlalchemy.orm import Mapped, mapped_column
from src.schemas.enums import CounterpartyType
class OsvEntry(Base, UUIDPrimaryMixin):
__tablename__ = "osv_entry"
recognition_job_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("recognition_job.id"), nullable=False)
legal_entity_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("legal_entity.id"))
stored_file_id: Mapped[uuid.UUID] = mapped_column(ForeignKey('stored_file.id'), nullable=False)
account_code: Mapped[str] = mapped_column(String)
account_id: Mapped[uuid.UUID] = mapped_column(ForeignKey('chart_of_account.id'))
account_root: Mapped[str] = mapped_column(String)
counterparty_name: Mapped[str] = mapped_column(String)
counterparty_inn: Mapped[str] = mapped_column(String)
counterparty_id: Mapped[uuid.UUID] = mapped_column(ForeignKey("legal_entity.id"), nullable=True)
opening_debit: Mapped[Decimal] = mapped_column(Numeric)
opening_credit: Mapped[Decimal] = mapped_column(Numeric)
turnover_debit: Mapped[Decimal] = mapped_column(Numeric)
turnover_credit: Mapped[Decimal] = mapped_column(Numeric)
closing_debit: Mapped[Decimal] = mapped_column(Numeric)
closing_credit: Mapped[Decimal] = mapped_column(Numeric)