50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
|
|
|
|
class ExerciceComptable(BaseModel):
|
|
numero: int
|
|
debut: str
|
|
fin: Optional[str] = None
|
|
|
|
|
|
class SocieteInfo(BaseModel):
|
|
# Identification
|
|
raison_sociale: str
|
|
numero_dossier: str
|
|
siret: Optional[str] = None
|
|
code_ape: Optional[str] = None
|
|
numero_tva: Optional[str] = None
|
|
|
|
# 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
|