Skip to main content

Contrats

Responsabilité

Les contrats Accounting sont des données métier persistées/générées qui servent à créer des bills et rapports de contrat, puis à calculer les montants payés/reçus d'avance ou restant à payer/recevoir en fin de période.

Serveur

  • classes/bills/contracts/ContractBill.js : création du contrat/bill;
  • classes/bills/reports/ContractsReportBill.js : rapport des contrats utilisés;
  • BillCreationContext._usedContractsByType : registre des contrats générés;
  • utilsByModule.getContractPaidOrReceivedInAdvance();
  • utilsByModule.getContractToPayOrReceive().

Types de contrats

Le code traite notamment des contrats fournisseur, client, investissement et prêt court terme. Le type de contrat est stocké dans billData.contractType et influence taxes, comptes et sens de l'écriture.

Modèle Unity

SeededContract contient date, contractRegularizationData, liste de SeededContractBillEntry et unités. Il peut calculer son subtotal pour un type de bill donné.

Relation avec les produits/services

ContractBill réutilise les classes de bill data produit ou service pour stocker les entrées du contrat. Le contrat conserve aussi l'UID de régularisation correspondant.

flowchart LR
CFG[Contract config] --> CB[ContractBill]
CB --> USED[_usedContractsByType]
USED --> REPORT[ContractsReportBill]
USED --> REG[Contract Regularization]
REG --> GJ[Journal / Accounts]

Debug

Pour un montant de contrat incorrect, inspecter d'abord le bill et ses entries, puis contractType, les dates fiscales, contract_regularization_uid et enfin le calcul de régularisation.