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:
- Aller dans Bilans et statistiques > Rapports guidés près du bouton « Rechercher » en jaune
- Cliquer sur le lien « Créer à partir de SQL »
- 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
- Enregistrer
Liste des rapports de paiement de cet article:
- Rapport de base pour une date et toutes les bibliothèques
- Rapport pour une date et une bibliothèque précise
- Rapport pour une période de dates et toutes les bibliothèques
- Rapport pour une période de dates et une bibliothèque précise
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_codeRapport 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_codeRapport 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_codeRapport 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_codeVoir aussi
- Rapport : Nombre de nouveaux abonnés par catégorie dans une plage de date
- Rapport : Nombre de prêts, retours, renouvellements et consultations sur place dans une plage de dates
Ressources de la communauté Koha
- SQL reports library (anglais)
- Basic SQL for Koha users (anglais)