Générateur de Factures pour auteurs KDP Kindle Direct Publishing - Guide d'Installation et d'Utilisation v3.3
Avant d'installer le générateur, assurez-vous d'avoir :
- Python 3.7 ou plus récent installé sur votre ordinateur (https://www.python.org/downloads/)
- Un fichier Excel ou CSV des paiements KDP d'Amazon téléchargé depuis votre compte KDP (https://kdpreports.amazon.com/payments)
Ouvrez un terminal (Command Prompt sur Windows, Terminal sur Mac/Linux) et exécutez :
pip install pandas openpyxl python-docx fpdf2Téléchargez et sauvegardez dans un même dossier les fichiers suivants :
lancer_generateur_facture_kdp.bat(pour Windows - lance l'interface graphique)kdp_invoice_generator.py(le script principal de génération)generateur_factures_kdp.py(l'interface graphique)config.json(le fichier de configuration - utilisez le template fourni)facture_simple.bat(script batch alternatif pour ligne de commande)
Ouvrez le fichier config.json et remplacez toutes les informations entre crochets par vos vraies données.
Si vous utilisez l'interface graphique, vous pouvez mettre à jour ces informations dans l'onglet "Paramétrage".
{
"entreprise": {
"nom": "MONSIEUR JEAN DUPONT",
"adresse": "123 rue de la Paix\n75001 Paris\nFRANCE",
"siret": "12345678901234",
"tva_intra": "FR12345678901",
"code_ape": "5811Z -- Édition de livres",
"forme_juridique": "Entrepreneur individuel",
"iban": "FR7612345987650123456789012",
"bic": "BDFEFRPPXXX"
},
"client": {
"nom": "Amazon Media EU S.à r.l.",
"adresse": "5 rue Plaetis\nL-2338 Luxembourg\nLUXEMBOURG",
"tva_intra": "LU20260743"
},
"facture": {
"prefixe_numero": "FACT",
"format_numero": "{annee}-{mois:02d}-01",
"date_paiement_defaut": "30 jours date de facture",
"mode_reglement": "Virement bancaire"
},
"fichiers": {
"nom_fichier_excel_kdp": "KDP_Payments_rapport_juillet_2025.xlsx",
"dossier_sortie": "./",
"format_nom_sortie": "Facture_KDP_{annee}-{mois:02d}.docx"
},
"messages": {
"autoliquidation": "Autoliquidation -- TVA due par le preneur, conformément à l'article 283-2 du CGI et à la directive 2006/112/CE. Facture émise hors taxes. Le client, assujetti établi dans un autre État membre de l'UE, est redevable de la TVA."
}
}Double-cliquez sur lancer_generateur_facture_kdp.bat (Windows) ou exécutez :
python generateur_factures_kdp.pyL'interface graphique propose 3 onglets :
- Sélection du fichier : Cliquez sur "Parcourir..." pour choisir votre fichier Excel ou CSV KDP, vous pouvez le télécharger sur la page https://kdpreports.amazon.com/payments
- Période : Sélectionnez l'année (liste déroulante de 2007 à 2036) et le mois (liste déroulante 1-12) pour le début et la fin de la génération par lots
- Format de sortie : Choisissez entre DOCX, PDF ou les deux formats
- Génération : Cliquez sur "Générer la facture" pour une génération unique ou "Générer par lots" pour plusieurs périodes
- Journal : Suivez le processus en temps réel
- Modifiez votre configuration directement dans l'interface
- Validation automatique des champs obligatoires
- Sauvegarde sécurisée avec vérification des données
- Informations sur la version et les développeurs
Modifiez le fichier facture_simple.bat pour pointer vers votre fichier Excel, puis double-cliquez dessus :
@echo off
cls
echo ========================================
echo GENERATEUR DE FACTURES KDP v3.3
echo ========================================
REM Modifiez le nom du fichier ci-dessous
set FICHIER_KDP=KDP_Payments_votre_fichier.xlsx
set /p ANNEE="Entrez l'annee (ex: 2025) ou laissez vide pour le mois precedent: "
set /p MOIS="Entrez le mois (1-12) ou laissez vide pour le mois precedent: "
set /p FORMAT="Entrez le format (docx, pdf, both) [defaut: both]: "
python kdp_invoice_generator.py "%FICHIER_KDP%" %ANNEE_ARG% %MOIS_ARG% --format %FORMAT%
pausepython kdp_invoice_generator.pypython kdp_invoice_generator.py "KDP_Payments_votre_fichier.xlsx"
python kdp_invoice_generator.py "KDP_Payments_votre_fichier.csv"python kdp_invoice_generator.py --annee 2025 --mois 5 --format both| Option | Description | Exemple |
|---|---|---|
--config |
Fichier de configuration personnalisé | --config ma_config.json |
--annee |
Année de la période | --annee 2025 |
--mois |
Mois de la période (1-12) | --mois 5 |
--format |
Format de sortie | --format docx ou --format pdf ou --format both |
--numero-facture |
Numéro personnalisé | --numero-facture "FACT-2025-05" |
--date-paiement |
Date de paiement constatée | --date-paiement "31/08/2025" |
Mon_Dossier_Factures_KDP/
├── kdp_invoice_generator.py ← Script principal de génération
├── generateur_factures_kdp.py ← Interface graphique
├── config.json ← Votre configuration personnalisée
├── lancer_generateur_facture_kdp.bat ← Lanceur interface graphique (Windows)
├── facture_simple.bat ← Script batch alternatif (Windows)
└── Factures_Generees/ ← Dossier des factures créées
├── Facture_KDP_2025-04.docx
├── Facture_KDP_2025-04.pdf
├── Facture_KDP_2025-05.docx
└── Facture_KDP_2025-05.pdf
{
"facture": {
"prefixe_numero": "FACTURE", // Préfixe des numéros
"format_numero": "{annee}-{mois:02d}-001", // Format du numéro
"date_paiement_defaut": "Fin de mois", // Date de paiement par défaut
"mode_reglement": "Virement SEPA" // Mode de règlement
}
}{
"fichiers": {
"nom_fichier_excel_kdp": "KDP_Payments_2025.xlsx", // Fichier par défaut
"dossier_sortie": "./Factures_2025/", // Dossier de destination
"format_nom_sortie": "Facture_{annee}_{mois:02d}.docx" // Format du nom
}
}{
"messages": {
"autoliquidation": "Votre message TVA personnalisé selon vos besoins..."
}
}Pour tester votre installation :
-
Test avec l'interface graphique :
python generateur_factures_kdp.py
-
Test en ligne de commande :
python kdp_invoice_generator.py --annee 2025 --mois 1 --format both
Si vous voyez des erreurs du type :
"Le champ 'entreprise.nom' n'est pas configuré""[Votre IBAN]" dans le fichier généré
➡️ Vérifiez que vous avez bien remplacé TOUTES les valeurs entre crochets dans config.json
- Anonymisation : Le fichier
template_config.jsonfourni ne contient aucune donnée réelle - Protection : Ajoutez
config.jsonà votre.gitignoresi vous versionnez le code - Sauvegarde : Gardez une copie de votre
config.jsonconfiguré en lieu sûr
➡️ Assurez-vous que config.json est dans le même dossier que les scripts Python
➡️ Ouvrez config.json et remplacez toutes les valeurs [entre crochets] par vos vraies informations
➡️ Vérifiez que votre fichier Excel contient des données for cette période et que le format correspond à celui attendu par KDP
➡️ Vérifiez que tkinter est installé : python -m tkinter (devrait ouvrir une fenêtre test)
➡️ Assurez-vous d'avoir installé fpdf2 : pip install fpdf2
➡️ Ajoutez Python à votre PATH système ou utilisez le chemin complet vers python.exe
- Interface graphique complète avec onglets (Génération, Paramétrage, Version)
- Génération PDF native avec la bibliothèque
fpdf2 - Validation avancée des champs de configuration
- Gestion améliorée des détails de revenus par marché
- Ouverture automatique des fichiers générés
- Journal en temps réel des opérations
- Support des formats multiples (DOCX, PDF, ou les deux)
Le générateur analyse automatiquement les fichiers Excel ou CSV KDP avec les colonnes :
Période de vente - Date de débutMarché(Amazon.fr, Amazon.com, etc.)Numéro de paiementDeviseRedevance accumuléeMontant du paiementTaux de changeDétailouSource(pour les lignes de détail)
- Support des fichiers CSV : En plus des fichiers Excel, le générateur accepte maintenant les fichiers CSV (séparateur ;, encodage UTF-8 ou Latin-1)
- Génération par lots : Possibilité de générer des factures pour plusieurs périodes en une seule opération via l'interface graphique
- Amélioration de la gestion des paiements multi-mois : Les paiements couvrant plusieurs mois n'apparaissent que sur la facture du mois de paiement, évitant les duplications
- Listes déroulantes pour les années : Interface améliorée avec sélections par dropdown pour les années (2007-2036)
- Cohérence détail/total : Correction pour assurer que la somme des détails correspond au total de la facture
- Optimisations diverses : Corrections de bugs et améliorations de performance
Ce générateur a été développé par Sébastien Baudry, avec l'assistance des IA génératives suivantes :
- Claude 4 Sonnet (Anthropic)
- Gemini Pro 2.5 (Google DeepMind)
- ChatGPT-4o (OpenAI)
Si ce logiciel vous est utile et que vous souhaitez soutenir son développement, vous pouvez faire un don via LibrePay : Soutenir sur LibrePay Votre soutien est précieux et nous aide à continuer d'améliorer ce projet.
Ce générateur est distribué sous licence MIT :
Copyright (c) 2025 Sébastien Baudry
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Pour plus d'informations : https://opensource.org/licenses/MIT
Version 3.3 - Support CSV, génération par lots, et corrections pour paiements multi-mois