diff --git a/wizard/accounting_file_wizard.py b/wizard/accounting_file_wizard.py index 58917fa..6fd7206 100644 --- a/wizard/accounting_file_wizard.py +++ b/wizard/accounting_file_wizard.py @@ -97,7 +97,7 @@ class AccountingFileWizard(models.TransientModel): #N° de pièce: ref transaction , ex: txD-457 - fic_line="N° mouvement;Code du journal;Date;N° de compte;Libellé;Débit;Crédit;N° de pièce"+"\n" + fic_line='"N° mouvement;Code du journal;Date;N° de compte;Libellé;Débit;Crédit;N° de pièce'+'"'+"\n" f.write(fic_line) @@ -135,7 +135,10 @@ class AccountingFileWizard(models.TransientModel): } - + def _accounting_line(self,no_mvt,date_line,account_number,lib,debit,credit,lib_piece): + + return '"'+str(no_mvt)+';'+'IN'+';'+date_line+';'+account_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'"'+'\n' + def donation_lines(self,f): global total_debit global total_credit @@ -192,14 +195,16 @@ class AccountingFileWizard(models.TransientModel): debit='' credit=str(amount) total_credit+=amount + account_number=account_credit_number - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 #debit line debit=str(amount) credit='' - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) total_debit+=amount no_mvt+=1 @@ -260,15 +265,16 @@ class AccountingFileWizard(models.TransientModel): lib=lib1+' '+lib2 debit='' credit=str(amount) - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount #debit line debit=str(amount) credit='' - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_debit+=amount @@ -339,15 +345,16 @@ class AccountingFileWizard(models.TransientModel): lib=lib1+' '+lib2 debit='' credit=str(amount-membership_amount) - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount #debit line debit=str(amount-membership_amount) credit='' - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_debit+=amount @@ -412,14 +419,16 @@ class AccountingFileWizard(models.TransientModel): debit=str(amount) credit='' lib_piece=self._file_format(reg.end_of_stay_invoice_id.name,20) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_debit+=amount #écriture de crédit debit='' credit=str(amount-membership_amount-donation_amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount @@ -427,8 +436,8 @@ class AccountingFileWizard(models.TransientModel): if membership_credit_line: debit='' credit=str(membership_amount) - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+self._file_format('756100',6)+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=self._file_format('756100',6) + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=membership_amount @@ -438,7 +447,8 @@ class AccountingFileWizard(models.TransientModel): debit='' amount=d.amount_total credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount @@ -478,7 +488,7 @@ class AccountingFileWizard(models.TransientModel): lib=lib1+' '+lib2 #si pas de facture d'acompte et facture payée: - if not reg.down_payment_invoice_id and reg.invoice_id.payment_state=='paid' and reg.date_compta==False : + if not reg.down_payment_invoice_id and reg.balance_invoice_id.amount_total>0 and reg.invoice_id.payment_state=='paid' and reg.date_compta==False : _logger.error('CC1') if reg.date_payment and reg.date_payment=self.start_date.date(): + down_payment_already_in_accounting=False + amount=reg.down_payment_invoice_id.amount_total+reg.balance_invoice_id.amount_total + else: + amount=reg.balance_invoice_id.amount_total + + if case_line==3:amount=reg.down_payment_invoice_id.amount_total if case_line==4:amount=reg.balance_invoice_id.amount_total if amount==0: continue credit='' debit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_debit+=amount @@ -648,23 +675,27 @@ class AccountingFileWizard(models.TransientModel): amount=amount-membership_amount-donation_amount debit='' credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount if case_line==2: - amount=reg.down_payment_invoice_id.amount_total - debit='' - credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' - f.write(fic_line) - no_mvt=no_mvt+1 - total_credit+=amount + if not down_payment_already_in_accounting: + amount=reg.down_payment_invoice_id.amount_total + debit='' + credit=str(amount) + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) + f.write(fic_line) + no_mvt=no_mvt+1 + total_credit+=amount amount=float(reg.balance_invoice_id.amount_total)-float(membership_amount)-float(donation_amount) debit='' credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount @@ -672,7 +703,8 @@ class AccountingFileWizard(models.TransientModel): amount=reg.down_payment_invoice_id.amount_total debit='' credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount @@ -680,7 +712,8 @@ class AccountingFileWizard(models.TransientModel): amount=reg.balance_invoice_id.amount_total-membership_amount-donation_amount debit='' credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount @@ -690,8 +723,8 @@ class AccountingFileWizard(models.TransientModel): if membership_credit_line: debit='' credit=str(membership_amount) - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+self._file_format('756100',6)+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=self._file_format('756100',6) + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=membership_amount @@ -701,7 +734,8 @@ class AccountingFileWizard(models.TransientModel): debit='' amount=d.amount_total credit=str(amount) - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt=no_mvt+1 total_credit+=amount @@ -747,8 +781,8 @@ class AccountingFileWizard(models.TransientModel): if amount==0: continue debit=str(amount) credit='' - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_debit+=amount @@ -756,7 +790,8 @@ class AccountingFileWizard(models.TransientModel): debit='' credit=str(amount) account_credit_number='411000' - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount @@ -805,8 +840,8 @@ class AccountingFileWizard(models.TransientModel): if amount==0: continue debit=str(amount) credit='' - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_debit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_debit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_debit+=amount @@ -818,8 +853,8 @@ class AccountingFileWizard(models.TransientModel): else: account_credit_number=self._payment_account_number(invoice) - - fic_line=str(no_mvt)+';'+'IN'+';'+date_line+';'+account_credit_number+';'+lib+';'+debit+';'+credit+';'+lib_piece+'\n' + account_number=account_credit_number + fic_line=self._accounting_line(no_mvt,date_line,account_number,lib,debit,credit,lib_piece) f.write(fic_line) no_mvt+=1 total_credit+=amount