Comprendre les calculs de per diem à travers les fuseaux horaires

Pour effectuer des calculs, notre module de per diem repose sur deux facteurs clés : la configuration du per diem (généralement définie par la réglementation du pays ou personnalisée par l'entreprise) et les informations de voyage saisies par l'utilisateur dans Expensya (y compris les lieux de départ/retour, les dates, les heures, les étapes du voyage et l'indemnité choisie).

Une fois la configuration identifiée, nous appliquons les règles définies : comment une journée est-elle considérée (soit comme une journée calendaire, soit comme une période de 24 heures), et quelle logique de sélection est suivie lorsque plusieurs lieux sont visités en une seule journée (par exemple, premier lieu visité, dernier lieu visité, lieu où le plus de temps a été passé, ou lieu à l’étranger privilégié). De plus, nous tenons compte des règles du forfait et des conditions d'indemnité.

Les conditions d'indemnité peuvent être réparties en deux catégories : celles basées sur des plages horaires et celles basées sur des conditions horaires spécifiques.

En examinant les informations de voyage fournies par l'utilisateur, nous pouvons rencontrer plusieurs fuseaux horaires dans une même étape du voyage.

Étude de cas :

Prenons l'exemple suivant :

  • (01/09) New York UTC-4 6h00
  • (01/09) Londres UTC+1 18h00
  • (02/09) Dubaï UTC+4 14h00
  • (03/09) New York UTC-4 8h00

Le 1er septembre, l'utilisateur était à la fois à New York et à Londres, passant du temps dans deux fuseaux horaires différents.

En fonction du type d'informations nécessaires au calcul, des conversions peuvent être nécessaires :

Pour les conditions basées sur des plages horaires, aucune conversion n'est nécessaire. Par exemple, une règle pourrait stipuler : « Fournir une indemnité réduite si l'utilisateur revient avant 19h ». Dans ce cas, nous utilisons l'heure de retour dans le fuseau horaire local du lieu de retour.

Dans l'exemple fourni, l'utilisateur revient à New York à 8h00, donc une indemnité réduite sera appliquée.

Les conditions de plage horaire se basent toujours sur l'heure de départ ou de retour, ce qui signifie qu'aucune conversion n'est requise.

Cependant, pour les conditions basées sur le temps passé, nous devons déterminer quand les conversions sont nécessaires.

Les limites de la journée (début et fin) servent à définir le type de journée. Pour le premier jour, c'est de l'heure de départ jusqu'à 23h59 ; pour le dernier jour, c'est de 00h00 jusqu'à l'heure de retour. Pour les jours intermédiaires, c'est de 00h00 à 23h59 selon la règle du jour calendaire. Selon la règle des 24 heures, chaque jour commence à l'heure de départ et se termine à la même heure le jour suivant, avec le dernier jour se terminant à l'heure de retour.

Les limites de la journée sont toujours indépendantes des fuseaux horaires, ce qui signifie qu'aucune conversion n'est nécessaire.

Le temps passé dans un lieu est utilisé pour déterminer la logique du lieu (par exemple, si la règle stipule : « Considérer le lieu où l'utilisateur a passé le plus de temps ce jour-là »). Dans ce cas, des conversions sont nécessaires pour calculer avec précision le temps réel passé.

Règles de conversion des fuseaux horaires

Règle de conversion n°1

Lorsque l'employé fournit des informations sur son voyage :

  • [Lieu A] [Date de départ] [Heure de départ]
  • [Lieu B] [Date d'arrivée] [Heure d'arrivée]
  • [Lieu C] [Date d'arrivée] [Heure d'arrivée]
  • [Lieu A] [Date de retour] [Heure de retour]

Pour calculer le temps passé au Lieu A, nous devons convertir l'heure d'arrivée au Lieu B dans le fuseau horaire du Lieu A.

Règle de conversion n°2

Dans les cas où une indemnité est accordée en fonction du temps passé, elle sera limitée à l'indemnité des 24 heures. Les réglementations nationales ne définissent généralement pas d'indemnités pour des périodes supérieures à 24 heures. Si le temps passé dépasse 24 heures, il sera plafonné à l'indemnité des 24 heures.

Règle de conversion n°3

Si la conversion résulte en une durée dépassant 24 heures avant le premier jour ou après le dernier jour, il ne faut pas ajouter un jour supplémentaire, car cela ne doit pas affecter les limites établies de la journée, qui sont régies soit par la règle du jour calendaire, soit par la règle des 24 heures.

Règle de conversion n°4

De plus, une « journée intermédiaire » sera toujours considérée comme 24 heures d'absence. Même si l'utilisateur passe moins ou plus de 24 heures à cause des conversions de fuseaux horaires, le temps passé sur une journée intermédiaire est toujours considéré comme étant de 24 heures.

  • Exemple de voyage :

A > B > C > A

  1. Lieu A = Paris UTC +2
  2. Lieu B = Rio de Janeiro UTC -3
  3. Lieu C = Bangkok UTC+7

01/09 Paris UTC+2 6h00

02/09 Rio UTC-3 10h00

04/09 Bangkok UTC+7 1h00

05/09 Paris UTC+2 22h00

Pour calculer le temps passé dans chaque lieu chaque jour, nous devons définir les éléments suivants :

  • Les limites de la journée : dans le cas d'une journée calendaire, ce sera de 00h00 à 23h59.
  • Les lieux visités ce jour-là.
  • Le temps passé dans chaque lieu, en fonction des conversions de fuseaux horaires mentionnées plus haut.

Pour le 1er septembre :

  • Les limites de la journée sont fixées de 6h00 à 23h59.
  • Le seul lieu visité ce jour-là est Paris.
  • Le temps passé ne nécessite pas de conversion, car l'utilisateur n'a passé du temps que dans un seul fuseau horaire, soit un total de 18 heures à Paris.

Pour le 2 septembre :

  • Les limites de la journée sont définies de 00h00 à 23h59.
  • Les lieux visités ce jour-là incluent Paris et Rio.

Pour calculer le temps passé, nous devons convertir l'heure à Paris (UTC+2). Selon la règle n°1, 10h00 en UTC-3 équivaut à 15h00 en UTC+2. Nous calculerons ensuite le temps passé à Rio sans conversion.

  • Temps passé à Paris : de 00h00 à 15h00, soit un total de 15 heures.

  • Temps passé à Rio : de 15h00 à 23h59, soit 14 heures.

La règle de conversion n°4 s'applique : le temps passé ce jour-là sera considéré comme 24 heures, peu importe le temps réel passé.

Pour le 3 septembre :

Les limites de la journée sont définies de 00h00 à 23h59. Cependant, la journée suivante commence à Bangkok (UTC+7) à 1h00, ce qui signifie que le 3 septembre se terminera effectivement à 15h00, heure de Rio.

Règle de conversion des fuseaux horaires numéro 5

Le jour suivant correspond à une nouvelle destination, et l'heure d'arrivée à cette destination, lorsqu'elle est convertie au fuseau horaire du dernier lieu visité pour le jour en cours, se produit avant la fin de la journée. Par conséquent, l'heure d'arrivée à cette nouvelle destination est considérée comme la fin de la journée, et le dernier lieu visité pour le jour en cours ne doit pas être listé comme lieu de départ avec minuit comme heure pour le jour suivant.

Dans ce cas, nous convertirons l'heure de limite de journée pour calculer la durée. Cependant, pour une journée "intermédiaire" (ni un jour de départ ni un jour de retour), l'heure limite de la journée doit toujours être de 00h00 à 23h59 en suivant une base calendaire.

Le seul lieu visité ce jour-là est Rio.

Le temps passé à Rio, selon les Règles de Conversion des Fuseaux Horaires #1 et #4, est de 00h00 à 15h00 (ce qui correspond à 1h00, heure de Bangkok), totalisant 15 heures.

La Règle de Conversion des Fuseaux Horaires #4 s'applique ici : le temps passé ce jour-là sera considéré comme étant de 24 heures, quel que soit le temps réel passé.

Pour le 4 septembre :

Les limites de la journée sont définies de 00h00 à 23h59.

Le seul lieu visité ce jour-là est Bangkok (le temps passé à Rio entre 00h00 et 1h00 a déjà été comptabilisé dans la journée précédente).

Pour calculer le temps passé, nous n'utiliserons que le fuseau horaire de Bangkok (UTC+7).

Le temps passé à Bangkok est de 1h00 à 23h59, totalisant 23 heures.

La Règle de Conversion des Fuseaux Horaires #4 s'applique ici : le temps passé ce jour-là sera considéré comme étant de 24 heures, quel que soit le temps réel passé.

Pour le 5 septembre :

Les limites de la journée sont définies de 00h00 à 22h00.

Les lieux visités ce jour-là sont Bangkok et Paris.

Pour calculer le temps passé, nous devons convertir l'heure de retour de Paris en heure de Bangkok (UTC+7) selon la Règle de Conversion des Fuseaux Horaires numéro 1. Ainsi, 22h00 (UTC+2) se convertit en 3h00 le jour suivant (UTC+7). Selon les Règles de Conversion des Fuseaux Horaires numéro 2 et numéro 3 :

Temps passé à Bangkok = de 00h00 à 23h59 UTC+7 (24h) (le temps passé est en fait supérieur à 24h, mais nous le limitons afin de ne pas tenir compte du 06/09, lorsqu'il n'a effectivement pas voyagé).


Cet article vous a-t-il été utile ?


Powered by HelpDocs (opens in a new tab)