Problèmes d'arrondis

Bonjour,

Dans la version 2.4.4 (de nov. 2019) 2.4.4.19112711, j’ai noté des problèmes d’arrondis.
Il s’agit de la partie " Comptabilité " de Diacamma Syndic

Pour le calcul des répartitions, ventilations ou régularisations, il me semble qu’il est parfois pris des coefficients trop arrondis, ce qui peut entraîner des erreurs de centimes au final.
Par exemple, pour un propriétaire avec 3755 tantièmes sur 10000, il serait pris le ratio de 37,6 (en arrondi de 37,55 %) pour les calculs.
Je suis conscient que c’est plus facile à dire qu’à faire, mais il me semble que l’idéal serait de faire tous les calculs intermédiaires avec un maximum de précisions et de donner les résultats aux centièmes près (aux centimes d’euros) en s’assurant que la somme est bien cohérente avec la valeur à répartir.

De plus, dans le menu " copropriété > Etat financier ", les valeurs sont données au centimes près (OK) ; par contre, dans les impressions (PDF ou CSV), les valeurs ne sont pas arrondies (il apparaît parfois beaucoup de décimales, précision bien au delà des centimes d’euros).

Cordialement

Bonjour,

Une idée serait de maintenir un jeu de variables avec un maximum de précision (pour tous les calculs) et, pour les affichages, rapports ou impressions, de faire passer les variables par une fonction qui à partir d’une valeur de type numérique de précision maximum renverrait une valeur arrondie au centième près, ou bien une valeur entière selon le cas.
Par exemple, dans le cas d’un ratio de 2/3, la valeur de la variable « ratio » serait 66,66666667 % et pour les rapports ou impressions, elle deviendrait :
arrondit_pour_affichage(66,66666667, 2) = 66,67.
avec le 2ème paramètre de la fonction (ici 2) qui donne le nombre de décimales après la virgule.

Cordialement

Bonjour,

Merci de votre retour.
Je vais refaire une passe sur tout ces calcules mais normalement ces bien la fraction de tantième qui est utilisé pour réaliser les ventilation et non pas un pourcentage déjà arrondi.
Par contre, le système monétaire Euro n’accepte que 2 chiffres après la virgule: nous avons donc, à un moment, forcement un arrondi (comme votre exemple des 2/3).

Avez vous un exemple concret où la répartition tombe loin du compte (c’est à dire à plus d’un centime d’erreur) ?

Bonjour,
C’est moi qui vous remercie pour votre travail.

Je n’ai pas sous la main ce que je voulais (en particulier, il me semble qu’il y avait des erreurs d’arrondis lorsque que j’avais simulé une clôture de l’exercice avec répartition/régularisation automatique).
Voici tout de même un exemple.
Mais effectivement, cet exemple ne correspond pas à une prise en compte du ratio arrondi et ne diverge pas de plus d’un centime d’euro (au temps pour moi).

On a, pour l’appel de charge d’un copropriétaire (menu copropriété > les appels de fonds) :
Catégorie de charges N.: total * tantième/somme_des_tantièmes = montant
cf. P.J. :
Propriétaire A (les 3 catégories de charge) :
Categ1.: 875,00 * 3625/10000 = 317,1875 arrondi à 317,18 (au lieu de 317,19) <— mais a priori rectifié à 317,18 en tenant compte de la somme/total=875 des appels (avec les autres copropriétaires)
Categ2.: 50,00 * 2795/8295 = 16.8474984931, arrondi à 16,85 (OK)
Categ3.: 125,00 * 2795/8295 = 42.1187462327 arrondi à 42,12 (OK)

Pour la charge copropriété (la 1ère ligne, Categ1, des 3 catégories de charges) des autres copropriétaires, on a:
Propriétaire B :
Categ1.: 875,00 *3210/10000 = 280,88 € (pour 280,875)
Propriétaire C :
Categ1.: 875,00 * 3165/10000 = 276,94 € (pour 276,9375)

=> Je chipote peut-être un peu, mais ne serait-il pas plus rigoureux d’arrondir, pour la 1ère catégorie de charge, le propriétaire B (et non pas le A) :
propriétaire A : 317,19 (pour 317,1875) <— on ne rectifie pas ici
propriétaire B 280,87 € (pour 280,875) <— arrondi par défaut —> on fait plutôt ici la " rectification " en tenant compte du total=875
propriétaire C 276,94 € (pour 276,9375)

875 pour la somme (317,19 + 280,87 + 276,94) qui doit correspondre (1ère catégorie de charge)

En fait, il me semble qu’il faudrait plutôt rectifier les arrondis sur les valeurs les plus proches de leur valeur calculée.

Cordialement

Bonjour,

Je me demande comment se comporterait l’outil dans un cas comme celui qui suit avec les valeurs suivantes :
5 copropriétaires, pour une catégorie de charges répartie de façon strictement égale, soit 2000 tantièmes chacun sur 10000 au total.
Le montant total de l’appel (pour la catégorie de charges en question) étant 617,52 €
On aurait pour chacun des copropriétaires l’appel calculé de 123,504 (=617,52/5)‬, généralement arrondi à 123,50 €
Ce qui donnerait alors au total de l’appel : 5*123,50 = 617,50 € (au lieu de 617,52)
Il resterait donc 2 centimes d’euro à répartir ; l’algorithme le répartirait-il sur 2 personnes ou bien sur une seule (et alors là, on aurait plus d’un centime d’erreur) ?

Cordialement

J’ai fait un test avec un appel de fonds de 617,52 € sur 5 propriétaires
et la répartition de 617,52 € sur 5 copropriétaires (avec le même nombre de tantièmes) donne :
4 * 123,50 + 1 *123,52
et non pas :
3 * 123,50 + 2 *123,51

Cf. P.J.

Il semble alors que l’algorithme calcule le montant des n-1 copropriétaires et complète sur le dernier copropriétaire, ce qui peut engendrer des erreurs supérieures à 1 centime d’euro.
Evidemment, ce n’est pas le montant de quelques centimes d’euro qui est gênant, mais plutôt la difficulté à vérifier la justesse des comptes de l’exercice.
Et peut-être parfois l’incohérence avec le solde de chaque copropriétaire ou bien encore la régularisation des charges au moment de la clôture de l’exercice.

Cordialement

Bonjour,

La règle (l’algorithme) de répartition ne semble pas être la même pour les dépenses que pour les appels de fonds.

J’ai testé les Dépenses avec deux dépenses créées :
100,00 € d’électricité (100,00/5 = 20,00 €) → pas de problème
617,52 € d’eau (617,52/5 = 123,504, arrondi à 123,50 €) => POSE PROBLEME car il y a 2 centimes d’euros qui ne sont pas affectés

Cf. P.J., une impression d’écran de la fenêtre obtenue avec :
menu copropriété > Les Propriétaires et les lots
→ choix du copropriétaire E
→ onglet Situation courante
—> bouton décompte de charges

Il s’agit des mêmes valeurs pour les 5 copropriétaires (A, B, C, D et E), donc on a, pour [601] Eau :
5*123,50 = 617,50 pour 617,52 de dépense réelle
=> il y a donc 0,02 € (=617,52-617,50) qui ne sont pas pris en charge

Cordialement

Bonjour,

Pour les appels de fonds, le problème est plus mineur.
Pour la simple raison que les appels de fonds sont fait sur la base d’un budget prévisionnel, réalisé plusieurs mois avant.
On sait que les dépenses réelles ne pourront pas coller exactement avec ce prévisionnel.
C’est donc pour cela qu’en fin d’année, il y a un mécanisme de régularisation qui rééquilibre l’avance des copropriétaires via ces appels de fonds en fonction de ce qu’ils auraient vraiment du payé.
Donc, dans ce contexte, s’il manque quelques centimes d’appels de fonds sur l’année, ce n’est pas vraiment critique.

C’est en effet plus problématique dans le cas de la ventilation de charge.
En effet, comme vous l’évoquez dans votre exemple de facture d’eau, il pourrait resté quelque centime de trop ou manquant au moment de l’écriture de ventilation de fin d’écriture.
Notons déjà, qu’au moment de la régularisation, le calcule ne se fait pas facture par facture, mais sur une globalité catégorie de charge par catégorie de charge.
Cela évite déjà que d’éventuelle surplus ne se cumule.
Mais on pourrait quand même avoir quelque centime de décalage à la fin de l’exercice.

Actuellement, dans ce cas, ces centimes résiduelles sont attribués (en + ou en -) au copropriétaire ayant le plus gros tantième dans la catégorie de charge.
A priori, c’est à lui que l’erreur sera la plus faible par rapport à son budget annuel.
Mais il est vrai que cette façon de faire n’est pas académique et n’est non plus tout à fait satisfaisant.

Si l’on voulait être puriste, il faudrait définir dans la comptabilité un compte de réserver d’arrondis (un compte du genre 107xxx peut-être).
Ainsi, ces décalages d’arrondis alimenteraient une petite réserve et on pourrait espérer que sur plusieurs année, ce compte se compense.
Or, ce genre de compte n’a pas été prévu par le législateur dans le plan comptable officiel des copropriétés (Nomenclature des comptes).
Donc, quelque part, quoi que l’on fasse, on est pas dans les clous :frowning:

Bonjour,
Merci pour votre analyse et éclairage.
Cordialement