Aller au contenu

Rapports comptables

La page Rapports comptables affiche et exporte les états financiers réglementaires marocains : Bilan, Compte de Produits et Charges (CPC), États de Soldes de Gestion (ESG) et Tableau de Financement. Elle se base sur le modèle de rapport sélectionné et les données de l’exercice fiscal en cours.

Voir le tutoriel pas à pas

La page est divisée en deux onglets :

  • Vue du rapport — affiche le rapport généré (tableau par sections et lignes) avec possibilité d’exporter en Excel ou PDF
  • Configuration — affiche la structure du modèle (sections, lignes, zones, sources de calcul)

Le rapport est généré automatiquement lorsqu’un exercice fiscal est sélectionné.

Le modèle actif (ex. BILAN_MA, CPC_MA, ESG_MA, TF_MA) est chargé via le paramètre slug de l’URL (/accounting/reports/<code>). Chaque modèle définit :

  • Les sections (blocs du rapport : Actif, Passif, Produits, Charges, etc.)
  • Les lignes numérotées au sein de chaque section
  • Les zones (colonnes : N, N-1, Brut, Amort., Net, etc.)
  • Les sources de calcul (balance, balance_debit, balance_credit, debit_moves, credit_moves, formula)

L’onglet Vue du rapport ($t('accounting.report_view')) affiche :

  • Un tableau structuré par sections et lignes
  • Les cellules calculées pour chaque zone (valeurs numériques)
  • Un bouton d’export Excel et un bouton d’export PDF en haut du tableau

Cliquez sur une ligne pour ouvrir le panneau latéral avec :

  • Le détail des cellules de la ligne (libellé, valeur, sources, formule)
  • L’option d’étendre le compte (handleExpandAccount) pour voir les écritures du grand livre associées
  • Un bouton d’accès au glossaire (GlossaryDialog)

L’onglet Configuration ($t('accounting.report_config')) affiche l’arborescence du modèle :

  • Sections avec leurs lignes et zones
  • Pour chaque zone : code, libellé, code officiel, colonne, sources
  • Les sources définissent la méthode de calcul et le motif de compte ou la formule

Les boutons Exporter Excel ($t('accounting.export_excel')) et Exporter PDF ($t('accounting.export_pdf')) déclenchent exportReport() avec le modèle, l’exercice sélectionné et le format choisi. Un indicateur visuel (exportingXlsx, exportingPdf) signale l’export en cours.

En cliquant sur une ligne du tableau, un panneau latéral (Dialog côté droit) s’ouvre avec :

  • Le libellé de la ligne
  • Les cellules avec leurs valeurs calculées
  • Le libellé de l’exercice (selectedFY?.label)
  • L’état d’expansion du compte (expandedAccno) et les écritures du grand livre (ledgerEntries)
  • Le bouton Glossaire (GlossaryDialog) expliquant méthodes, motifs et formules
  1. Ouvrez /accounting/reports/<CODE> (ex. BILAN_MA, CPC_MA)
  2. Vérifiez que l’onglet Vue du rapport est actif
  3. Consultez le tableau par sections et lignes
  4. Cliquez sur une ligne pour afficher le détail et les sources
  1. Dans l’onglet Vue du rapport, cliquez sur Exporter Excel ou Exporter PDF
  2. Attendez la fin du téléchargement (le bouton affiche un indicateur de chargement)
  3. Le fichier est téléchargé avec le nom généré (filename) ou par défaut report.xlsx / report.pdf
  1. Cliquez sur une ligne du rapport pour ouvrir le panneau de détail
  2. Dans le panneau, cliquez sur le bouton d’expansion du compte (onExpandAccount)
  3. Les écritures du grand livre (ledgerEntries) s’affichent, triées par accno, entry_date, entry_number
  4. Cliquez à nouveau pour réduire
  1. Passez à l’onglet Configuration
  2. Parcourez l’arborescence des sections et lignes
  3. Consultez les zones et leurs sources (méthode, motif, formule)
  • La page redirige depuis /accounting/reports/ vers /accounting/reports/bilan_ma via +layout.svelte et +page.svelte
  • L’exercice fiscal (selectedFY) et la période (period.fiscalYearId) sont chargés depuis le parent (await parent())
  • Si aucune période n’est configurée (period.fiscalYearId est vide), generateReport() retourne null et le rapport reste vide
  • Le panneau latéral conserve selectedLine, expandedAccno et ledgerEntries en état local ($state)
  • Aucun rapport affiché : vérifiez qu’un exercice fiscal est sélectionné (selectedFiscalYearId) et que le modèle (template) existe. Si le slug ne correspond à aucun modèle, une erreur 404 est renvoyée (if (!template) error(404, 'Report not found')).
  • Export échoué : un message d’erreur (addLocalError) s’affiche et les indicateurs de chargement sont réinitialisés (finally)
  • Panneau vide après clic sur une ligne : le reportSections est dérivé depuis data.lines. Si aucune ligne n’est définie dans le modèle, le tableau reste vide
  • Écritures du grand livre vides : la requête accounting_ledger filtre par company_id, accno (avec like), fiscal_year_id et trie par date et numéro d’écriture

Pages liées : Éditeur de rapports, Exercices fiscaux, Plan comptable