Aller au contenu principal
Vous êtes ici :
< Retour

Si vous souhaitez identifier rapidement les paiements par type de frais, voici une liste de rapports qui pourront vous aider.

Créer le rapport

Pour créer le rapport:

  1. Aller dans Bilans et statistiques > Rapports guidés près du bouton « Rechercher » en jaune
  2. Cliquer sur le lien « Créer à partir de SQL »
  3. Dans le formulaire:
    • donner un nom au rapport
    • au besoin, le classer dans un groupe/sous-groupe
    • Dans la boîte SQL, coller le code de l’un des rapports ci-dessous selon vos besoins
  4. Enregistrer

Liste des rapports de paiement de cet article:

Notes

La structure des données financières Koha a énormément changées depuis ses débuts. Certains champs SQL ont changé de noms et d’autres ont changé d’utilité depuis la version 22.05.

Les rapports suivants ont été vérifiés et sont normalement compatibles avec les versions 25.05 et supérieures.

Rapport de paiement par type de frais

Il ne reste qu’à coller le code de l’un de ces rapports…

Rapport de base pour une date précise

Cette version récupère l’ensemble des transactions de votre réseau pour une date précise.

SELECT
     account_debit_types.description AS "Type de frais",
     SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
     account_offsets
     JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
     JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
     JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
WHERE
     DATE(account_offsets.created_on) = <<Date entre le(aaaa-mm-jj)|date>>
     AND credit.credit_type_code IN ('PAYMENT')
     AND account_offsets.type IN ("APPLY")
     AND account_offsets.debit_id IS NOT NULL
     AND credit.status IS NULL
GROUP BY debit.debit_type_code

***Si votre bibliothèque utilise le module « Point de vente », sachez que les transactions de ce module « Point de vente » ne seront pas récupérées par le rapport ci-dessus. Il faut donc modifier le rapport pour les obtenir.

rapport de base avec transactions du module Point de vente

Pour inclure les transactions du module « Point de vente » dans la version, modifiez le critère de la section « WHERE » pour y retrouver credit.credit_type_code IN (‘PURCHASE’)

Copier plutôt ce code de rapport:

SELECT
     account_debit_types.description AS "Type de frais",
     SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
     account_offsets
     JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
     JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
     JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
WHERE
     DATE(account_offsets.created_on) = <<Date entre le(aaaa-mm-jj)|date>>
     AND credit.credit_type_code IN ('PAYMENT', 'PURCHASE')
     AND account_offsets.type IN ("APPLY")
     AND account_offsets.debit_id IS NOT NULL
     AND credit.status IS NULL
GROUP BY debit.debit_type_code

Rapport pour une date et une bibliothèque précise

Cette version ajoute un choix de bibliothèque durant l’exécution du rapport.

SELECT
   account_debit_types.description AS "Type de frais",
   SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
   account_offsets
   JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
   JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
   JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
   LEFT JOIN borrowers ON (credit.manager_id = borrowers.borrowernumber)
WHERE
   DATE(account_offsets.created_on) = <<Date entre le(aaaa-mm-jj)|date>>
   AND credit.credit_type_code IN ('PAYMENT')
   AND account_offsets.type IN ("APPLY")
   AND account_offsets.debit_id IS NOT NULL
   AND credit.status IS NULL
   AND borrowers.branchcode=<<Bibliothèque |branches>>
GROUP BY debit.debit_type_code

***Si votre bibliothèque utilise le module « Point de vente », sachez que les transactions de ce module « Point de vente » ne seront pas récupérées par le rapport ci-dessus. Il faut donc modifier le rapport pour les obtenir.

rapport pour une date et bibliothèque avec transactions du module Point de vente

Pour inclure les transactions du module « Point de vente » dans la version, modifiez le critère de la section « WHERE » pour y retrouver credit.credit_type_code IN (‘PURCHASE’)

Copier plutôt ce code de rapport:

SELECT
   account_debit_types.description AS "Type de frais",
   SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
   account_offsets
   JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
   JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
   JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
   LEFT JOIN borrowers ON (credit.manager_id = borrowers.borrowernumber)
WHERE
   DATE(account_offsets.created_on) = <<Date entre le(aaaa-mm-jj)|date>>
   AND credit.credit_type_code IN ('PAYMENT', 'PURCHASE')
   AND account_offsets.type IN ("APPLY")
   AND account_offsets.debit_id IS NOT NULL
   AND credit.status IS NULL
   AND borrowers.branchcode=<<Bibliothèque |branches>>
GROUP BY debit.debit_type_code

Rapport pour période de dates pour l’ensemble de vos bibliothèques

Cette version donne un total des frais payés pour l’ensemble des bibliothèques selon une période donnée.

SELECT
   account_debit_types.description AS "Type de frais",
   SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
   account_offsets
   JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
   JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
   JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
WHERE
   DATE(account_offsets.created_on) BETWEEN <<Date entre le(aaaa-mm-jj)|date>> AND <<et le|date>>
   AND credit.credit_type_code IN ('PAYMENT')
   AND account_offsets.type IN ("APPLY")
   AND account_offsets.debit_id IS NOT NULL
   AND credit.status IS NULL
GROUP BY debit.debit_type_code

***Si votre bibliothèque utilise le module « Point de vente », sachez que les transactions de ce module « Point de vente » ne seront pas récupérées par le rapport ci-dessus. Il faut donc modifier le rapport pour les obtenir.

rapport selon une période - incluant les transactions du module Point de vente

Pour inclure les transactions du module « Point de vente » dans la version, modifiez le critère de la section « WHERE » pour y retrouver credit.credit_type_code IN (‘PURCHASE’)

Copier plutôt ce code du rapport:

SELECT
   account_debit_types.description AS "Type de frais",
   SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
   account_offsets
   JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
   JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
   JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
WHERE
   DATE(account_offsets.created_on) BETWEEN <<Date entre le(aaaa-mm-jj)|date>> AND <<et le|date>>
   AND credit.credit_type_code IN ('PAYMENT', 'PURCHASE')
   AND account_offsets.type IN ("APPLY")
   AND account_offsets.debit_id IS NOT NULL
   AND credit.status IS NULL
GROUP BY debit.debit_type_code

Rapport d’une période de dates et une bibliothèques précise

Cette version permet d’isoler les paiements par bibliothèque selon une période donnée.

SELECT
  account_debit_types.description AS "Type de frais",
  SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
  account_offsets
  JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
  JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
  JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
  LEFT JOIN borrowers ON (credit.manager_id = borrowers.borrowernumber)
WHERE
  DATE(account_offsets.created_on) BETWEEN <<Date entre le(aaaa-mm-jj)|date>> AND <<et le|date>>
  AND credit.credit_type_code IN ('PAYMENT')
  AND account_offsets.type IN ("APPLY")
  AND account_offsets.debit_id IS NOT NULL
  AND credit.status IS NULL
  AND borrowers.branchcode=<<Bibliothèque |branches>>
GROUP BY debit.debit_type_code

***Si votre bibliothèque utilise le module « Point de vente », sachez que les transactions de ce module « Point de vente » ne seront pas récupérées par le rapport ci-dessus. Il faut donc modifier le rapport pour les obtenir.

rapport pour une période et bibliothèque précise - incluant les transactions du module Point de vente

Pour inclure les transactions du module « Point de vente » dans la version, modifiez le critère de la section « WHERE » pour y retrouver credit.credit_type_code IN (‘PURCHASE’)

Copier plutôt ce code du rapport:

SELECT
  account_debit_types.description AS "Type de frais",
  SUM(ABS(ROUND(account_offsets.amount,2))) AS "Montant"
FROM
  account_offsets
  JOIN accountlines AS debit ON (debit.accountlines_id = account_offsets.debit_id)
  JOIN accountlines AS credit ON (credit.accountlines_id = account_offsets.credit_id)
  JOIN account_debit_types ON (debit.debit_type_code = account_debit_types.code)
  LEFT JOIN borrowers ON (credit.manager_id = borrowers.borrowernumber)
WHERE
  DATE(account_offsets.created_on) BETWEEN <<Date entre le(aaaa-mm-jj)|date>> AND <<et le|date>>
  AND credit.credit_type_code IN ('PAYMENT', 'PURCHASE')
  AND account_offsets.type IN ("APPLY")
  AND account_offsets.debit_id IS NOT NULL
  AND credit.status IS NULL
  AND borrowers.branchcode=<<Bibliothèque |branches>>
GROUP BY debit.debit_type_code

Voir aussi

Ressources de la communauté Koha

Table des matières