##[1.0.6] - 2026-07-02
- Dependance a Saturne supprimee : le module redevient autonome. Chargement des langues via $langs->load('recsubst@recsubst') au lieu de saturne_load_langs(). modSaturne retire de depends.
##[1.0.5] - 2026-07-01
- INVOICE_DATE_NEXT_INVOICE_BEFORE_GEN et INVOICE...AFTER_GEN (+ alias PREVIOUS_) : ces balises representent desormais la PERIODE SUIVANTE (celle que la prochaine facture couvrira), et non la date de facture. Pour une facture couvrant juin (01/06 -> 30/06) : BEFORE_GEN = 01/07 (1er jour du mois suivant), AFTER_GEN = 31/07 (dernier jour du mois suivant). Calcul par mois calendaire via dol_get_first_day / dol_get_last_day (insensible au fuseau). Fallback jours/semaines conserve.
##[1.0.4] - 2026-07-01
- INVOICE_DATE_NEXT_INVOICE_BEFORE_GEN et INVOICE_DATE_NEXT_INVOICE_AFTER_GEN (+ alias PREVIOUS_) : suppression de l'ancrage a midi introduit en 1.0.2, qui decalait ces dates d'un jour (ex. 01/07 -> 30/06). Ces balises reviennent au calcul direct sur la date de facture (comportement correct de la 1.0.1). L'ancrage n'etait pas necessaire dans l'environnement cible et cassait ces deux dates. Les balises mois/annee reviennent aussi au calcul direct.
- La periode START/END conserve la logique "mois calendaire complet" de la 1.0.3 (non concernee par l'ancrage).
##[1.0.3] - 2026-07-01
- Periode INVOICE_DATE_PREV_INVOICE__START / END : bornes desormais calees sur le MOIS CALENDAIRE complet (1er -> dernier jour) au lieu d'une soustraction de duree glissante. La periode = le mois calendaire du jour precedant la date de facture, donc une facture datee du 30/06 comme du 01/07 facture bien juin (01/06 -> 30/06). Bornes construites via dol_get_first_day / dol_get_last_day (insensible au fuseau). Fallback en soustraction de duree pour les frequences en jours/semaines.
##[1.0.2] - 2026-07-01
- Dates calculees par mois/annee decalees d'un jour (ex. periode INVOICE_DATE_PREV_INVOICE__START = 31/05 au lieu de 01/06 pour une facture du 01/07). Cause : les dates sont stockees a minuit heure locale alors que dol_time_plus_duree() calcule en UTC -> sur un fuseau positif (Europe/Paris) un "-1 mois" repassait la veille. Correctif : ancrage de tous les calculs a midi (12h) pour neutraliser le decalage de fuseau. Concerne aussi INVOICE_NEXT_MONTH, AFTER_GEN, etc.
##[1.0.1] - 2026-07-01
- Prise en charge de la balise INVOICE_DATE_NEXT_INVOICE_BEFORE_GEN (date de la facture generee = date_when avant generation).
- Prise en charge de la balise INVOICE_DATE_NEXT_INVOICE_AFTER_GEN (date de la prochaine generation = date facture + 1 frequence).
- Alias de compatibilite INVOICE_PREVIOUS_DATE_NEXT_INVOICE_AFTER_GEN (orthographe non standard rencontree dans certains modeles) -> meme valeur que AFTER_GEN.
##[1.0.0]
- Version initiale : substitution des balises sur les lignes (description + label, sous-totaux inclus) et sur la reference client des factures recurrentes generees (trigger BILL_CREATE).