26 lines
1.4 KiB
Python
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)
|