Sage100-vps/schemas/society/societe.py
2026-01-13 17:03:18 +03:00

50 lines
1.4 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional, List
class ExerciceComptable(BaseModel):
numero: int
debut: Optional[str] = None
fin: Optional[str] = None
class SocieteInfo(BaseModel):
# Identification
raison_sociale: str = Field(..., description="Raison sociale")
numero_dossier: str = Field(..., description="Code du dossier")
siret: Optional[str] = Field(None, description="Numéro SIRET")
code_ape: Optional[str] = Field(None, description="Code APE/NAF")
numero_tva: Optional[str] = Field(None, description="Numéro TVA intracommunautaire")
# Adresse
adresse: Optional[str] = None
complement_adresse: Optional[str] = None
code_postal: Optional[str] = None
ville: Optional[str] = None
code_region: Optional[str] = None
pays: Optional[str] = None
# Contacts
telephone: Optional[str] = None
telecopie: Optional[str] = None
email: Optional[str] = None
email_societe: Optional[str] = None
site_web: Optional[str] = None
# Informations juridiques
capital: float = 0.0
forme_juridique: Optional[str] = None
# Exercices comptables
exercices: List[ExerciceComptable] = []
# Configuration
devise_compte: int = 0
devise_equivalent: int = 0
longueur_compte_general: int = 0
longueur_compte_analytique: int = 0
regime_fec: int = 0
# Autres
base_modele: Optional[str] = None
marqueur: int = 0