Immobilisations et amortissement
Responsabilité
Les immobilisations couvrent la génération des achats d'immobilisations, leur durée de vie, leur mode d'amortissement, les rapports d'immobilisations, les taxes associées et les écritures de régularisation.
Static data
La configuration principale se trouve dans immobilizations.json et les settings/modules qui activent les préférences liées aux immobilisations. La page Configuration Accounting — guide des JSON décrit la source de configuration.
Serveur
classes/bills/immobilizations/ImmobilizationsBill.js: bill d'acquisition;ImmobilizationsTaxesBill.js: taxes municipales/scolaires ou autre taxe configurée;reports/ImmobilizationsReportBill.js: rapport basé sur les immobilisations référencées;utilsByModule.getImmobilizationDepreciation(): calcul d'amortissement selon le type d'unité;BillCreationContext._usedImmobilizationsByType: contexte utilisé pendant la génération.
Modèles Unity
ImmobilizationData;SeededImmobilizationetSeededImmobilizationPlus;BillDataImmobilization;ImmobilizationBillEntry;ImmobilizationTaxeetImmobilizationTaxesBillEntry.
UI
Les rapports possèdent des contrôles dédiés : ImmobilizationsReportControl, variante Plus, rapports degressive/by usage et ImmobilizationsTaxesReportControl. Le contrôle détecte notamment le type d'amortissement pour adapter le contenu affiché.
flowchart LR
CFG[immobilizations.json] --> CREATE[Create Module Type Data]
CREATE --> SEED[SeededImmobilization]
SEED --> BILL[ImmobilizationsBill]
BILL --> ACC[Accounts / Journal]
SEED --> DEP[Depreciation calculation]
DEP --> REPORT[Immobilizations Report]
REPORT --> REG[Regularization entries]
Points d'attention
- Le type d'immobilisation détermine le compte impacté.
- Le calcul dépend des dates fiscales de l'activité.
- Les contextes suivants peuvent réutiliser les immobilisations précédentes.
- Un changement doit être testé dans création des données, answer key et grading.