# Procédure annuel pour updater les taxes (updated version 2026)

<p class="callout warning">Note: La procédure assume que les liens utilisés resteront les mêmes et que la structure des fichiers PDF ne changera pas. Si les liens sont modifiés ou si la structure des PDF change, le script devra être ajusté en conséquence.</p>

<p class="callout danger">S.V.P Veuillez tout lire avant de faire la procédure</p>

##### La mise à jour annuelle est maintenant automatisée avec le script :

<p class="callout info">node.js/exports/updateAnnualTaxData.js</p>

##### Le script utilise les sources suivantes :

- CRA / ARC T4032 pour les tables fédérales et provinciales ON, NB, PE, QC
- Revenu Québec pour les tables provinciales QC, RRQ, RQAP
- CRA / Revenu Québec pour les taux CPP, EI, GST/HST, QST

##### Les sources et valeurs configurées sont dans :

<p class="callout info">node.js/exports/annualTaxSources.json</p>

##### Comment ça fonctionne:

1. Copier manuellement le Google Sheet <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">income\_taxes\_&lt;année précédente&gt;</span>.
2. Renommer la copie en changeant l'année précédente par l'année en cours
3. Copier l’ID du nouveau Google Sheet. ( L’ID est la partie dans l’URL entre <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">/d/</span> et <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">/edit</span>.)   
    Exemple: https://docs.google.com/spreadsheets/d/**190fSZq-r3K65Fb\_g1D0oTQQZv5ijtIMjXvthD8MlhwM**/edit
4. Lancer le self-test : <p class="callout info">node exports/updateAnnualTaxData.js --year 2026 --templateYear 2025 --mode full --selfTest</p>
    
    Ce test vérifie :
    
    
    - que les PDFs officiels sont accessibles
    - que les tables sont parsées correctement
    - que chaque table commence avec la ligne <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">min\_salary = 0</span>
    - que les salaires minimums sont en ordre croissant
    - que les tables Québec sont mappées correctement (cas spécial)
    - que les zéros sont exportés au bon format pour Google Sheets
5. Lancer un dry run : <p class="callout info">node exports/updateAnnualTaxData.js --year 2026 --templateYear 2025 --mode full --dryRun --incomeTaxesSpreadsheetId &lt;SPREADSHEET\_ID&gt;</p>
    
    Le dry run ne modifie rien. Il affiche :
    
    
    - les sources utilisées
    - les fichiers qui seraient changés
    - les onglets Google Sheets qui seraient modifiés
    - les PDFs qui seraient uploadés
    - les changements de taux entre l’année précédente et la nouvelle année
6. Lancer l’export réel : <p class="callout info">node exports/updateAnnualTaxData.js --year 2026 --templateYear 2025 --mode full --apply --incomeTaxesSpreadsheetId &lt;SPREADSHEET\_ID&gt;</p>

#### **Utilisation Dans VS Code**

Les configurations mentionnées ci-dessus existent dans `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">.vscode/launch.json</span>` :

<p class="callout info">Annual Tax Export - Self Test  
Annual Tax Export - Dry Run  
Annual Tax Export - Run</p>

##### Lors du lancement, VS Code demande :

- `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">taxYear</span>` : l’année à générer, ex. <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">2026</span>
- `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">templateTaxYear</span>` : l’année précédente à utiliser comme modèle, ex. <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">2025</span>
- `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">incomeTaxesSpreadsheetId</span>` : l’ID du Google Sheet copié manuellement
- `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">annualTaxTargets</span>` : les destinations à mettre à jour
- `setDefaultYear`: si on veut changer l'année en cours ou non

##### Choix Des Destinations

Le script permet de relancer seulement une partie du processus avec <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">--targets</span>.

**Options disponibles :**

<p class="callout info">all  
incomeTaxes  
byModule  
do  
incomeTaxes,byModule  
incomeTaxes,do  
byModule,do</p>

##### Signification :

##### `incomeTaxes`

Met à jour le Google Sheet copié <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">income\_taxes\_&lt;année&gt;</span> :

- écrit les onglets de tables d’impôt
- renomme les tabs de l’année précédente vers la nouvelle année
- met à jour <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">exports/exportAllData.js</span> avec le nouvel ID de sheet et les gids des tabs

##### `byModule`

Met à jour les colonnes de la nouvelle année dans le Google Sheet principal :

- <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">taxes</span>
- <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">income\_taxes</span>
- <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">employer\_income\_taxes</span>
- <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">interests</span>

##### <span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">`do`  
</span>

Upload les PDFs officiels dans DigitalOcean Spaces :

<div data-theme="dark" id="bkmrk-acc1%2F%3Cann%C3%A9e%3E%2F%3Ctheme"><div><div><div><div data-theme="dark"><div>`acc1/<année>/<theme>_<lang>`</div></div></div></div></div></div>##### Fichiers Modifiés Par Le Script

Selon les targets choisis, le script peut modifier :

<p class="callout info">game/Assets/GameSpecific/byModule/Resources/data\_byModule/income\_tax\_\*\_&lt;année&gt;.json  
game/Assets/GameSpecific/byModule/Resources/data\_byModule/taxes.json  
game/Assets/GameSpecific/byModule/Resources/data\_byModule/income\_taxes.json  
game/Assets/GameSpecific/byModule/Resources/data\_byModule/employer\_income\_taxes.json  
game/Assets/GameSpecific/byModule/Resources/data\_byModule/interests.json  
node.js/exports/exportAllData.js</p>

Si `<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">--setDefaultYear</span>` est utilisé, il modifie aussi :

<p class="callout info">game/Assets/GameSpecific/byModule/Resources/data\_byModule/act\_settings.json  
uniksimweb/uniksim-back-end/src/node.js/server/backend\_braincloud.js</p>

`<span class="_inlineMarkdown_wo5r6_47 inline-markdown text-size-chat-sm font-mono blend bg-token-text-code-block-background rounded-sm px-1.5 py-0.5 leading-none extension:bg-token-foreground/10 electron:bg-token-list-hover-background/60">--setDefaultYear</span>` change l'année en cours utilisé dans la simulation.

<p class="callout warning">Veuillez vous référer aux étapes ci-dessous si vous décider de ne pas changer l'année tout de suite.</p>

- Modifier le champs year pour l'année par défaut voulu (`act_settings.json`)

<span style="text-decoration: line-through;">![](https://wiki.uniksim.com/uploads/images/gallery/2023-07-Jul/scaled-840-0/image-1689349217892.png)</span>

- Modifier l'année par défaut pour la création de sims démo (`backend_braincloud.js`)  
    <span style="text-decoration: line-through;">![](https://wiki.uniksim.com/uploads/images/gallery/2025-04-Apr/scaled-840-0/image-1743609472785.png)</span><span style="text-decoration: line-through;">  
    </span>
- Exporter les scripts acc1/acc2 et income\_taxes\_\*

##### ![](https://wiki.uniksim.com/uploads/images/gallery/2026-06-Jun/scaled-840-0/image-1781270967797.png)

##### ![](https://wiki.uniksim.com/uploads/images/gallery/2026-06-Jun/scaled-840-0/image-1781270980368.png)  
  


##### Finalement, il faut incrémenter la version dans version.txt et build pour que la nouvelle année en cours prenne effet.

<p class="callout info">Assets\\Resources\\data\\version.txt</p>

#####   
Diagramme qui montre comment le script fonctionne:

[![mermaid-diagram-2026-06-12-101748.png](https://wiki.uniksim.com/uploads/images/gallery/2026-06-Jun/scaled-840-0/mermaid-diagram-2026-06-12-101748.png)](https://wiki.uniksim.com/uploads/images/gallery/2026-06-Jun/mermaid-diagram-2026-06-12-101748.png)