Skip to content

Commit 9f9ef7a

Browse files
committed
Gestion des impayes
1 parent 86dcdd9 commit 9f9ef7a

5 files changed

+198
-24
lines changed

generateur-quittances.py

+20-10
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818
# Classe qui permet de générer des quittances en PDF à partir d'un fichier YAML
1919
#
2020
class GenerateurQuittances:
21-
def __init__(self, fichier_bdd, mois = datetime.datetime.now().strftime("%m"), annee = datetime.datetime.now().strftime("%Y")):
21+
def __init__(self, fichier_bdd, mois = datetime.datetime.now().strftime("%m"), annee = datetime.datetime.now().strftime("%Y"), premierjour = 1):
2222
self.fichier_bdd = fichier_bdd
2323
self.mois = str(mois).zfill(2)
2424
self.annee = str(annee)
25+
self.premierjour = str(premierjour)
2526
def creerQuittances(self):
2627
self.bddVersQuittances()
2728

@@ -37,14 +38,18 @@ def rapporterVariablesProprioPourLatex(self, bdd):
3738
# Crée une chaine de variables avec les informations du locataire du lot
3839
def rapporterVariablesInfoLocatairePourLatex(self, lot):
3940
variables = ""
40-
variables += " \\def\\loyerchiffres{"+str(lot['montant_loyer'])+"} "
41-
variables += " \\def\\charges{"+str(lot['montant_charges'])+"} "
41+
variables += " \\def\\lotlocation{"+str(lot['numero'])+"} "
4242
variables += " \\def\\nomlocataire{"+str(lot['nom_locataire'])+"} "
4343
variables += " \\def\\adresselocataire{"+str(lot['adresse_locataire'])+"} "
4444
variables += " \\def\\villelocataire{"+str(lot['ville_locataire'])+"} "
45-
variables += " \\def\\lotlocation{"+str(lot['numero'])+"} "
46-
variables += " \\def\\totalpaiementchiffres{"+str(lot['montant_total_chiffres'])+"} "
47-
variables += " \\def\\totalpaiementlettres{"+str(lot['montant_total_lettres'])+"} "
45+
variables += " \\def\\typedelot{"+str(lot['type_lot'])+"} "
46+
variables += " \\def\\loyerchiffres{"+str(lot['montant_loyer'])+"} "
47+
variables += " \\def\\charges{"+str(lot['montant_charges'])+"} "
48+
variables += " \\def\\loyerccchiffres{"+str(lot['montant_total_chiffres'])+"} "
49+
variables += " \\def\\loyercclettres{"+str(lot['montant_total_lettres'])+"} "
50+
variables += " \\def\\montantrecuchiffres{"+str(lot['montant_recu_chiffres'])+"} "
51+
variables += " \\def\\montantreculettres{"+str(lot['montant_recu_lettres'])+"} "
52+
variables += " \\def\\montantimpayechiffres{"+str(round(float(lot['montant_total_chiffres'])-float(lot['montant_recu_chiffres']), 2))+"} "
4853
variables += " \\def\\datepaiement{"+str(lot['jour_paiement_mois']).zfill(2)+"/"+self.mois+"/"+self.annee+"} "
4954
return variables
5055

@@ -58,7 +63,7 @@ def rapporterVariablesAdresseLocationPourLatex(self, adresse):
5863
# Crée une chaine de variables avec les informations sur les différentes dates nécessaires
5964
def creerVariablesDatePourLatex(self):
6065
variables = ""
61-
date = datetime.datetime.strptime(self.annee+"-"+self.mois+"-01", "%Y-%m-%d")
66+
date = datetime.datetime.strptime(self.annee+"-"+self.mois+"-"+str(self.premierjour).zfill(2), "%Y-%m-%d")
6267
jour_fin_mois = str(calendar.monthrange(int(self.annee), int(self.mois))[1])
6368
variables += " \\def\\nommois{"+str(mois_francais[date.strftime("%m")])+"} "
6469
variables += " \\def\\numeromois{"+str(date.strftime("%m"))+"} "
@@ -84,9 +89,14 @@ def bddVersQuittances(self):
8489
toutes_variables_necessaires += self.rapporterVariablesInfoLocatairePourLatex(lot)
8590
toutes_variables_necessaires = " ".join(toutes_variables_necessaires.split())
8691
nom_famille_locataire = self.rapporterNomLocataire(lot)
87-
nom_fichier = "Quittance loyer "+nom_famille_locataire+" "+self.annee+"."+self.mois
88-
os.system(" pdflatex -jobname '"+nom_fichier+"' -output-format pdf \""+toutes_variables_necessaires+" \input{modele-quittance-"+lot['type_lot']+".tex}\" > "+nom_fichier+".log")
89-
print("Quittance pour "+lot['nom_locataire']+" générée dans '"+nom_fichier+".pdf'")
92+
recuouquittance = "quittance"
93+
recuouquittancetexte = "Quittance"
94+
if lot['montant_total_chiffres'] != lot['montant_recu_chiffres'] or lot['montant_total_lettres'] != lot['montant_recu_lettres']:
95+
recuouquittance = "reculoyer"
96+
recuouquittancetexte = "Recu"
97+
nom_fichier = recuouquittancetexte+" loyer "+nom_famille_locataire+" "+self.annee+"."+self.mois
98+
os.system(" pdflatex -jobname '"+nom_fichier+"' -output-format pdf \""+toutes_variables_necessaires+" \input{modele-"+recuouquittance+"-"+lot['type_lot']+".tex}\" > "+nom_fichier+".log")
99+
print(recuouquittancetexte+" de loyer pour "+lot['nom_locataire']+" générée dans '"+nom_fichier+".pdf'")
90100
if 'dossier_disque' in bdd['proprietaire']:
91101
destination = bdd['proprietaire']['dossier_disque']+"/Bien - Immeuble "+adresse_info['adresse_courte']+"/Location/"+lot['numero']+"/Locataire courant - "+lot['nom_locataire']
92102
text = input("Copier dans '"+destination+"' ? (y/N)'")

modele-quittance-appt-meuble-vide.tex

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
% Modèle LaTeX de quittance de location vide ou meublée
22

33
\documentclass[12pt,a4paper]{article}
4-
\usepackage[francais]{babel}
4+
\usepackage[french]{babel}
55
\usepackage[T1]{fontenc}
66
\usepackage{lmodern}
77
\usepackage{graphicx}
@@ -55,10 +55,7 @@
5555

5656
% Quittance de loyer
5757
\begin{flushleft}
58-
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du logement désigné ci-dessus, déclare avoir reçu
59-
de \nomlocataire, la somme de \totalpaiementchiffres\space euros (\totalpaiementlettres\space euros), au titre
60-
du paiement du loyer et des charges pour la période de location du \debutmois\space au
61-
\finmois\space et lui en donne quittance, sous réserve de tous mes droits.
58+
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du logement désigné ci-dessus, déclare avoir reçu de \nomlocataire, la somme de \montantrecuchiffres\space euros (\montantreculettres\space euros), au titre du paiement du loyer et des charges pour la période de location du \debutmois\space au \finmois\space et lui en donne quittance, sous réserve de tous mes droits.
6259
\end{flushleft}
6360

6461
\medskip
@@ -67,10 +64,10 @@
6764
\begin{flushleft}
6865
Détail du règlement :\\
6966
\begin{itemize}
70-
\item loyer : \loyerchiffres\space euros\\
67+
\item loyer hors charges : \loyerchiffres\space euros\\
7168
\item provision pour charges : \charges\space euros\\
7269
\end{itemize}
73-
Total : \totalpaiementchiffres\space euros\\
70+
Total : \loyerccchiffres\space euros\\
7471
Date du paiement : le \datepaiement
7572
\end{flushleft}
7673

modele-quittance-box-garage-remise.tex

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
% Modèle LaTeX de quittance de location de box, remise ou garage
22

33
\documentclass[12pt,a4paper]{article}
4-
\usepackage[francais]{babel}
4+
\usepackage[french]{babel}
55
\usepackage[T1]{fontenc}
66
\usepackage{lmodern}
77
\usepackage{graphicx}
@@ -55,10 +55,7 @@
5555

5656
% Quittance de loyer
5757
\begin{flushleft}
58-
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du box/garage/remise désigné ci-dessus, déclare avoir reçu
59-
de \nomlocataire, la somme de \totalpaiementchiffres\space euros (\totalpaiementlettres\space euros), au titre
60-
du paiement du loyer et des charges pour la période de location du \debutmois\space au
61-
\finmois\space et lui en donne quittance, sous réserve de tous mes droits.
58+
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du box/garage/remise désigné ci-dessus, déclare avoir reçu de \nomlocataire, la somme de \montantrecuchiffres\space euros (\montantreculettres\space euros), au titre du paiement du loyer et des charges pour la période de location du \debutmois\space au \finmois\space et lui en donne quittance, sous réserve de tous mes droits.
6259
\end{flushleft}
6360

6461
\medskip
@@ -67,10 +64,10 @@
6764
\begin{flushleft}
6865
Détail du règlement :\\
6966
\begin{itemize}
70-
\item loyer : \loyerchiffres\space euros\\
67+
\item loyer hors charges : \loyerchiffres\space euros\\
7168
\item provision pour charges : \charges\space euros\\
7269
\end{itemize}
73-
Total : \totalpaiementchiffres\space euros\\
70+
Total : \loyerccchiffres\space euros\\
7471
Date du paiement : le \datepaiement
7572
\end{flushleft}
7673

modele-reculoyer-appt-meuble-vide.tex

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
% Modèle LaTeX de quittance de location vide ou meublée
2+
3+
\documentclass[12pt,a4paper]{article}
4+
\usepackage[french]{babel}
5+
\usepackage[T1]{fontenc}
6+
\usepackage{lmodern}
7+
\usepackage{graphicx}
8+
9+
\begin{document}
10+
\thispagestyle{empty}
11+
12+
% Titre du document
13+
\begin{center}
14+
Location vide ou meublée à titre de résidence principale\\
15+
\begin{LARGE}
16+
Reçu - paiement partiel de loyer du mois de \nommois\space\annee
17+
\end{LARGE}
18+
\end{center}
19+
\bigskip
20+
21+
% Coordonnées du propriétaire
22+
\begin{flushleft}
23+
\nomproprio\\
24+
\adresseproprio\\
25+
\villeproprio
26+
\end{flushleft}
27+
28+
\medskip
29+
30+
% Coordonnées de la locataire
31+
\begin{flushright}
32+
\nomlocataire\\
33+
\adresselocataire\\
34+
\villelocataire
35+
\end{flushright}
36+
37+
\medskip
38+
39+
% Date et lieu
40+
\begin{flushright}
41+
Fait à \lieudocument, le \today
42+
\end{flushright}
43+
44+
\medskip
45+
46+
% Adresse de la location
47+
\begin{flushleft}
48+
Adresse de la location :\\
49+
\adresselocation\\
50+
\lotlocation\\
51+
\villelocation
52+
\end{flushleft}
53+
54+
\medskip
55+
56+
% Reçu de loyer
57+
\begin{flushleft}
58+
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du logement désigné ci-dessus, déclare avoir reçu de \nomlocataire, le \datepaiement, la somme de \montantrecuchiffres\space euros (\montantreculettres\space euros), au titre du paiement du loyer et des charges pour la période de location du \debutmois\space au \finmois\space.
59+
\end{flushleft}
60+
61+
\medskip
62+
63+
% Détail du règlement
64+
\begin{flushleft}
65+
Détail de la somme totale due :\\
66+
\begin{itemize}
67+
\item loyer hors charges : \loyerchiffres\space euros\\
68+
\item provision pour charges : \charges\space euros\\
69+
\item loyer charges comprises : \loyerccchiffres\space euros (\loyercclettres\space euros)\\
70+
\end{itemize}
71+
72+
\medskip
73+
74+
Somme restant due pour cette période : \montantimpayechiffres\space euros\\
75+
\end{flushleft}
76+
77+
\medskip
78+
79+
% Signature
80+
\begin{center}
81+
\includegraphics[width=0.3\linewidth]{Signature.PNG}
82+
\end{center}
83+
84+
85+
\end{document}
+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
% Modèle LaTeX de quittance de location de box, remise ou garage
2+
3+
\documentclass[12pt,a4paper]{article}
4+
\usepackage[french]{babel}
5+
\usepackage[T1]{fontenc}
6+
\usepackage{lmodern}
7+
\usepackage{graphicx}
8+
9+
\begin{document}
10+
\thispagestyle{empty}
11+
12+
% Titre du document
13+
\begin{center}
14+
Location de box, garage ou remise\\
15+
\begin{LARGE}
16+
Reçu - paiement partiel de loyer du mois de \nommois\space\annee
17+
\end{LARGE}
18+
\end{center}
19+
\bigskip
20+
21+
% Coordonnées du propriétaire
22+
\begin{flushleft}
23+
\nomproprio\\
24+
\adresseproprio\\
25+
\villeproprio
26+
\end{flushleft}
27+
28+
\medskip
29+
30+
% Coordonnées de la locataire
31+
\begin{flushright}
32+
\nomlocataire\\
33+
\adresselocataire\\
34+
\villelocataire
35+
\end{flushright}
36+
37+
\medskip
38+
39+
% Date et lieu
40+
\begin{flushright}
41+
Fait à \lieudocument, le \today
42+
\end{flushright}
43+
44+
\medskip
45+
46+
% Adresse de la location
47+
\begin{flushleft}
48+
Adresse de la location :\\
49+
\adresselocation\\
50+
\lotlocation\\
51+
\villelocation
52+
\end{flushleft}
53+
54+
\medskip
55+
56+
% Reçu de loyer
57+
\begin{flushleft}
58+
\-\hspace{0.5cm}Je, soussigné \nomproprio, propriétaire du box/garage/remise désigné ci-dessus, déclare avoir reçu de \nomlocataire, la somme de \montantrecuchiffres\space euros (\montantreculettres\space euros), au titre du paiement du loyer et des charges pour la période de location du \debutmois\space au \finmois\space.
59+
\end{flushleft}
60+
61+
\medskip
62+
63+
% Détail du règlement
64+
\begin{flushleft}
65+
Détail de la somme totale due :\\
66+
\begin{itemize}
67+
\item loyer hors charges : \loyerchiffres\space euros\\
68+
\item provision pour charges : \charges\space euros\\
69+
\item loyer charges comprises : \loyerccchiffres\space euros (\loyercclettres\space euros)\\
70+
\end{itemize}
71+
72+
\medskip
73+
74+
Somme restant due pour cette période : \montantimpayechiffres\space euros\\
75+
\end{flushleft}
76+
77+
\medskip
78+
79+
% Signature
80+
\begin{center}
81+
\includegraphics[width=0.3\linewidth]{Signature.PNG}
82+
\end{center}
83+
84+
85+
\end{document}

0 commit comments

Comments
 (0)