From 54f9fc56f49597ddbfc4c0c07e3e692a14bb8007 Mon Sep 17 00:00:00 2001 From: admin Date: Tue, 30 Jun 2026 00:43:18 +0200 Subject: [PATCH] =?UTF-8?q?Cat=C3=A9gories=20globales=20+=20flag=20neutre?= =?UTF-8?q?=20+=20seed=5Freference?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compta/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 111 bytes compta/__pycache__/admin.cpython-310.pyc | Bin 0 -> 4222 bytes compta/__pycache__/apps.cpython-310.pyc | Bin 0 -> 435 bytes compta/__pycache__/models.cpython-310.pyc | Bin 0 -> 12868 bytes compta/__pycache__/services.cpython-310.pyc | Bin 0 -> 6388 bytes compta/__pycache__/urls.cpython-310.pyc | Bin 0 -> 485 bytes compta/__pycache__/views.cpython-310.pyc | Bin 0 -> 3539 bytes .../__pycache__/views_saisie.cpython-310.pyc | Bin 0 -> 3547 bytes compta/admin.py | 26 +++++--- .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 131 bytes .../__pycache__/seed_demo.cpython-310.pyc | Bin 0 -> 3418 bytes .../seed_reference.cpython-310.pyc | Bin 0 -> 2408 bytes compta/management/commands/seed_demo.py | 51 ++++++--------- compta/management/commands/seed_reference.py | 60 ++++++++++++++++++ ...reprise_vue_tva_alter_depense_categorie.py | 46 ++++++++++++++ .../__pycache__/0001_initial.cpython-310.pyc | Bin 0 -> 3966 bytes ..._alter_entreprise_activite.cpython-310.pyc | Bin 0 -> 1144 bytes ..._depense_taux_tva_and_more.cpython-310.pyc | Bin 0 -> 1613 bytes ..._paiement_depense_paiement.cpython-310.pyc | Bin 0 -> 1607 bytes ...va_alter_depense_categorie.cpython-310.pyc | Bin 0 -> 1793 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 170 bytes compta/models.py | 49 +++++++++++++- compta/templates/compta/saisie_paiement.html | 18 ++++-- compta/views_saisie.py | 11 ++-- config/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 159 bytes config/__pycache__/settings.cpython-310.pyc | Bin 0 -> 3237 bytes config/__pycache__/urls.cpython-310.pyc | Bin 0 -> 601 bytes db.sqlite3 | 0 entrypoint.sh | 5 +- 29 files changed, 210 insertions(+), 56 deletions(-) create mode 100644 compta/__pycache__/__init__.cpython-310.pyc create mode 100644 compta/__pycache__/admin.cpython-310.pyc create mode 100644 compta/__pycache__/apps.cpython-310.pyc create mode 100644 compta/__pycache__/models.cpython-310.pyc create mode 100644 compta/__pycache__/services.cpython-310.pyc create mode 100644 compta/__pycache__/urls.cpython-310.pyc create mode 100644 compta/__pycache__/views.cpython-310.pyc create mode 100644 compta/__pycache__/views_saisie.cpython-310.pyc create mode 100644 compta/management/commands/__pycache__/__init__.cpython-310.pyc create mode 100644 compta/management/commands/__pycache__/seed_demo.cpython-310.pyc create mode 100644 compta/management/commands/__pycache__/seed_reference.cpython-310.pyc create mode 100644 compta/management/commands/seed_reference.py create mode 100644 compta/migrations/0005_categorie_entreprise_vue_tva_alter_depense_categorie.py create mode 100644 compta/migrations/__pycache__/0001_initial.cpython-310.pyc create mode 100644 compta/migrations/__pycache__/0002_depense_activite_alter_entreprise_activite.cpython-310.pyc create mode 100644 compta/migrations/__pycache__/0003_depense_regime_tva_depense_taux_tva_and_more.cpython-310.pyc create mode 100644 compta/migrations/__pycache__/0004_paiement_depense_paiement.cpython-310.pyc create mode 100644 compta/migrations/__pycache__/0005_categorie_entreprise_vue_tva_alter_depense_categorie.cpython-310.pyc create mode 100644 compta/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 config/__pycache__/__init__.cpython-310.pyc create mode 100644 config/__pycache__/settings.cpython-310.pyc create mode 100644 config/__pycache__/urls.cpython-310.pyc create mode 100644 db.sqlite3 diff --git a/compta/__pycache__/__init__.cpython-310.pyc b/compta/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..97dd05d924632e2e7f2d092701c5556c70b450b4 GIT binary patch literal 111 zcmd1j<>g`k0TZlX-=vgNNq6_kYHf|0AF1bQUCw| literal 0 HcmV?d00001 diff --git a/compta/__pycache__/admin.cpython-310.pyc b/compta/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a98e87d5078d54eee51d528b00ee9e0ddcd3cd8 GIT binary patch literal 4222 zcma)9S#upn6`tkJ+_`fXEtYIa4wR?@;v0w(prDE(1TP`15#YE23{d0IbW0jBi`+dU zY?t2bsuT|{{(}9e-{F7JuRP`1Z+YT7XYOW8N|;-Hrsteq&VJ6VhQrXp^Pg9@kKP|y z)_>_^@$v9+6GPv$ElXI!&aJ|ZY@6mz?i6n1V(yAg-YLAuEBweWx>2_XqM+zSy&{al zq965(K{T)}X+Iyz!3+CWmhgoC)Dph5k48`2Cw8>NG>>Ur5r7uVXv<9Vnbs2_XyJ^u z!n7{a`eFduU`AWTJwq`9ZUo$wCvLQc_qtdT%g=1FB37STxcMrd5bz0C#2Qx9s+Oy3 zIAL8}1rDqDgbiNZ=hfH51}MNxR&O#bWZI_K0&QzX+Y;A5wZ?CKLAo8=#!Ezzm6!x| zR>;RyDZhYzt#M%d+li8eG~qAHTFGOTX=(gBc_z!+bU#kgx>3>$exDtba{AT%NFK`) z>w-Tf8TMjj?@m(7gGyyGr5hI?y5}Z_ehWZaku9vq5q9JXC+Y|{@q0SQDPbSd&q-EG)31}}VcaOKlYO(2>?L*0h6A@6+B99JpX4Uc zvdMC2*o@j)eUij`iI!tWeFOKaZvyO&J#~dXh$FR5;3|P@1ZHBlv+IN-)06VG4?yw; z4&yGB_0nBp_R@ywUG;<2xV_ zQ3n8Qeh0=U?4=4(-v$+e_uJ5Hh3>TcgowaN=&EYhEzfiOuKGSLxrnWI zLHHKNoGtQ6!d}XjUi3-nBA{*9$bpSqv$~ixepBXIDOCrD?T*jstOvC55P~u{o_q*< zT*%;iSVmf(x)HHQxQ0yhNunM!QfP9K^RgLg1ADd^NWLItYr=gtf3x%&bY=$S*6h{W49y~!OCv0;2&Cv{Vs z6@f$;Pbrie5uJW>OlUCiWH6tc{m7fe@42%u{dkQ|RRTx@P73L~>pv@*`l zmt-960Bkwx=Xj+UuRU}nJ^BNHivue1W%t020@(u$g%|ZdxAtw}i|*4P8hj3wL_QzCuJQU)}}w5Q+&=p>J&Mf zyq0&g(RT}<$UVQHBl_(fNZVDRnBc10w45xaJ_1Oof0#Zrr-VZ~(AxmD^~8E^pW3I+ zse9Ua(Xq+G4q3Lf>Y2R@Yk9gkMtUFUgqzl?M z4%AQaGF?jEISOqrg+;j6Xw!YDgR?TqQeYNq}s;Ld1KZ65uO4xZg3pF?^3Ox!%qUy|e3aJLlM9#^e zS?-@W^!|aptno8j(K$SCs8Zd1dB%GcnLnkhGks`IwjxcvqL4eakB}wR$C#oJ#dw`L z>UVe>PH~`e;g!Oc_9Zx_!|+KgKMvIFf+&Q*G0Sf z6P-bxsO}OV-I?yBQ)QL2tcv-VD`D>1f5(R3VrYuVwhL(kIdnohbVGaKj%-D%&bhh^ zxWi!NoB7cR$UDKE6{ zKXFY)m$G#?76si|IAC`izL}M-(k^bHH)+P^C8H`nj?P{1<+&M;K)8>gM*#DD96B%_ z(RRnzQ5cR;gsPnsC0HTY*;fV=WK(CkZhI4-+Yzm(aw?xdmjDI7q8?3g=A`gY0{|0H z>P5&X6MjO?8{3or#c+GiEiE^YW_T~zYw|=*5<7Km#&2s87bY$ntv8d$G3OVFYl08J pBmSvagXU$$+X8ihw{XaZ7rOp5V literal 0 HcmV?d00001 diff --git a/compta/__pycache__/apps.cpython-310.pyc b/compta/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..871e9a1cbb1f4ba0228f95d2d41f5c1e8e3c79e8 GIT binary patch literal 435 zcmYk2y-ve05PdqEguT--ui>=R`3dLZKYOm2ql2af!O>+i89s<@`bYNY@G literal 0 HcmV?d00001 diff --git a/compta/__pycache__/models.cpython-310.pyc b/compta/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0b5461e458b4b50bb3311a86f7622822e31ce225 GIT binary patch literal 12868 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 G{rLr^>Vf_M literal 0 HcmV?d00001 diff --git a/compta/__pycache__/views.cpython-310.pyc b/compta/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..759d18e051e9e047f4fa7c40c1c3604911431107 GIT binary patch literal 3539 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 literal 0 HcmV?d00001 diff --git a/compta/admin.py b/compta/admin.py index 24cb94c..442734a 100644 --- a/compta/admin.py +++ b/compta/admin.py @@ -3,9 +3,18 @@ from django.utils import timezone from .models import ( Bareme, Entreprise, Client, Facture, LigneFacture, Depense, Paiement, + Categorie, ) +@admin.register(Categorie) +class CategorieAdmin(admin.ModelAdmin): + list_display = ("nom", "usage", "exclure_calculs", "actif", "ordre") + list_filter = ("usage", "exclure_calculs", "actif") + list_editable = ("usage", "exclure_calculs", "actif", "ordre") + search_fields = ("nom",) + + @admin.register(Bareme) class BaremeAdmin(admin.ModelAdmin): list_display = ("annee", "activite", "taux_urssaf", "abattement_fiscal", @@ -15,8 +24,8 @@ class BaremeAdmin(admin.ModelAdmin): @admin.register(Entreprise) class EntrepriseAdmin(admin.ModelAdmin): - list_display = ("nom", "activite", "franchise_tva", - "versement_liberatoire", "num_tva_intracom", "email") + list_display = ("nom", "activite", "franchise_tva", "versement_liberatoire", + "num_tva_intracom", "vue_tva", "email") list_filter = ("activite", "franchise_tva", "versement_liberatoire") search_fields = ("nom", "siret", "num_tva_intracom") @@ -58,8 +67,8 @@ class FactureAdmin(admin.ModelAdmin): class DepenseInline(admin.TabularInline): model = Depense extra = 0 - fields = ("date", "libelle", "activite", "regime_tva", "taux_tva", - "montant_ttc", "montant_tva") + fields = ("date", "libelle", "categorie", "activite", "regime_tva", + "taux_tva", "montant_ttc", "montant_tva") @admin.register(Paiement) @@ -86,10 +95,11 @@ class PaiementAdmin(admin.ModelAdmin): @admin.register(Depense) class DepenseAdmin(admin.ModelAdmin): - list_display = ("date", "entreprise", "libelle", "activite", "regime_tva", - "montant_ttc", "montant_tva", "tva_autoliq", "paiement") - list_filter = ("entreprise", "regime_tva", "activite", "categorie", "date") - search_fields = ("libelle", "categorie") + list_display = ("date", "entreprise", "libelle", "categorie", "activite", + "regime_tva", "montant_ttc", "montant_tva", "tva_autoliq", + "paiement") + list_filter = ("entreprise", "categorie", "regime_tva", "activite", "date") + search_fields = ("libelle",) date_hierarchy = "date" @admin.display(description="TVA auto-liquidée") diff --git a/compta/management/commands/__pycache__/__init__.cpython-310.pyc b/compta/management/commands/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bfc5c527b93d6d7309bd7555e9ad79a7668d1e0b GIT binary patch literal 131 zcmd1j<>g`kg7>$avOx4>5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!Goa(-?>Nuqvk xVqRi;YHn&?i9S#S$V(~KkB`sH%PfhH*DI*J#bJ}1pHiBWY6sF^%mgG@7y$Js92fuq literal 0 HcmV?d00001 diff --git a/compta/management/commands/__pycache__/seed_demo.cpython-310.pyc b/compta/management/commands/__pycache__/seed_demo.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..03fcc9299e8a3faba87684c44622124efd1250d5 GIT binary patch literal 3418 zcmZu!OK%&=5uP`P!aVLxQK@7} z@cZ*W*ZZ5(lJs{zIsemOvI<{30D`2Bgk+@na-eh+nU7Up4YZCX#+t7OM#m6i-OmMP z#|-kFd|-8~pwKA<#ZECObxJ|GQw}Pfir_Q+sbIP@ElXcWD2L2%C1hgbwc43M`L2Wqu%(4;Gz9Zj4|pG+`|NiF8;<|JlTVp9pl6Y<*^fj;p3wq0#(+t z*a4?Lw+FB2eiYh)6T-Yccm>>`3gIBKj=_7WCbQfIcD=yyVW=U8V)$EFcVgU(0uVzr zlUc1(Cz#O`PO#j=%m-H7^7cY}G6QA8A7-w()I0DfW~DZDXhKgo@;i9X3-Hqe2M(Hc zMfAy;b1t{){7-?&Dtz%g5G-|M0E&X-j*1kdek*k}q`_tCEH|+?SpvS3OLgq?k-7$# zbpDpF;+HrW__*%MAan9tfI$(y$MD5(;CL#fQeTEod9938s`jo}RhZ{SCbhU^s--zX^G?!YFoeLA5D!Mq~ znHM|@=+Z<_6;)4pE>Czq5j>y5S(%yKE3!_20G6v`WeLh=ZCs1z4%i)_h$C31fxIFx$GQt zbrKD3yOFABaX}Js&7+!-{sl;1JJitiL&z?tQa6NDRm7P~)rFJ^r!5Jo#{ZSNIg#SA z-BtY35fJYYR(iP8Xxv<0xpn)_ z-Fx?I1~cIaPu^&cIH9`_S*lA999E%D@{*4rQ}mpKvI_^8#5jQL)%CqyOdJ|{1T!56 zj_0$fFbM>=2YJGAqoAfRHH-pg3UQytHMOR^&#$=ww%cnvTf>SQg%nO-bzrI9Bd}X; z(*${uy_EzWSP%TQH!`>H(i|9+}L+NwE2Lwp>eyxA25>}HG?$x z(IV~^5tWm_G{TDwEz?PtwqtKF_GFfGP@k7>~M#bES+BQItuV1ucUE|}b9xk;xcat6~xl9OE~KWB2A znG@*7q{dIOGTtuayX=}Y{xY~Kmn;f%ecm9&OzweR5fa2yKs{4mfL+QUIg-d%!1(@Z zmd2K{W{oG?C0OA-SiE%Fwm}cajD1-1G0#x(AApo)Ls4W?He^j!WbNP92Q62WE!C8* zkCswaE-9w0eEeTJBi6NlRf}BG%A`Mlv<@0!UX;xbrmFnjP|7ea%GyWcgQ1n-B#qBL zzzjIyq;oTK!Z)uE%gxOCdS>o6JbSa-4V?gYyUgl#g9t(A3gcq83lHC)>}Zhq2jn;4 zmk7%_(&1}mAUrw796F{1mMCIvyEe;m-7bn;(3nG6Pb)wMWe9Lcq3IM5W0z6i3HPG9 z8xdST3wC`MnqI>HCt;=RChA}z_G1BWfz&e)W>DjxCLFOD=xQfoqTA*d2xnv$SpQ)Q mFJ6%_`<#0m1cdv@%m-O)e#NU&%stkmB3x-vSyYPJocbS6?9V#@ literal 0 HcmV?d00001 diff --git a/compta/management/commands/__pycache__/seed_reference.cpython-310.pyc b/compta/management/commands/__pycache__/seed_reference.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bacd0e648fd1e16603457805dc1004af2c77b650 GIT binary patch literal 2408 zcmZuy%WoS+7~l7c+@3N&$@s)xE&lICC)ttLC;WUYNTGqa(! z))G>B>7h4HAf%R4^EYtxjlTfR5l-dI2_(WdyDmuuE6umx%=ep_?>*_{q^rR9-5)Ex zxS}Y($;t6gN^iknzW~8XN5LxAA~n`Jnksoc(qp4z6uc3cvDL9+yJN>r$59pH^eRNd z=DrHlDyUshr=XRBy8CL^2BZs^iDIQ%(8+>M74$?wr^m<%K+Y5^CkuM2p#MQ`>z(Sh zf@gnJJCpc4p2KIJs-3Aj3Ol*xfcV%85FZ_Er!*w2=KcE3w;n?Y^KhCZqXPh7 z;^EOjoYvjDn8f{*lZ1OWJU04?dZQN}B@s#jLOqgreVXDd;9;70s1N5eFW5o58S&zf z5ee?48LhkSLxw=V8(#kj-vMll5}4QfPdr8l_9^KSO5jZQHCUt6RAJvHK^UV5*ohUy zNHdLL53cFLT0xY=L{yrHlfnk!EQ1DnAtwWKu~A=I5ZblHfxcK@5LRPhX>nmenAfi? z$ls?+@E@3s#d-r!R~97d8c3I}O6k%ykP7qiVgn>*<4XN1fR-)~^hUi=tJaLcnN9En zIER#Whn#ucFbSD3_oQI;wJNnY26GQ6VH_210Wc$UFANBy(;!}btrehb4u1D!ARr8p zN4S?}Jd7gni?A{2lZ25~I#Xg#me_Fgipsl5TyXRhEU!{2tQpyd@Y@(2M5BWsjpw~C zI6et^2Aa%6XoD;U6$_QhZLjrW+u)s5iozo1l=Knvc2X)+Ar6BuB4emgLQgGkL5hI$ zAswQ08xSNKBg|3)0?5p7f?Bb5YdE; z#nS!lK*r+DC!H8L|nGd2gE3yq8VNd2rOJ>NQtXSC-dW_gd?IW1(@C%Cr=Ay452A zXJR_*V`vF}O8tNm;Dmw0fD5;|ywSRIf9-B-oys&7=GPQ@g|OEjHk+;Wb)iQjsZ9%u zaSSCWOvax?MCf3$u*RO$(3a4^YdSblXdEUy7CI7nztVN3%z zrMic%=D_M%)jBjZdJ}*FjJH0S<+ot4vp|T_QQR3c%BZLzCH<}mAXGA_7wR#|X;hRtP8aeL6V6tCvC0BYX3~gUN#|m7p zwrhH!KK%p$v mouvement neutre (hors calculs fiscaux). +CATEGORIES = [ + ("Vente de produits finis", "vente", False, 1), + ("Prestation de services", "vente", False, 2), + ("Matériel et outillage", "depense", False, 1), + ("Matière première", "depense", False, 2), + ("Télécom, fournitures, documentation", "depense", False, 3), + ("Frais de repas hors domicile", "depense", False, 4), + ("Abonnement logiciel", "depense", False, 5), + ("TVA payée", "neutre", True, 1), + ("Cotisation sociale Urssaf", "neutre", True, 2), + ("Remboursement de TVA", "neutre", True, 3), + ("Prélèvement personnel", "neutre", True, 4), + ("Virement interne", "neutre", True, 5), +] + + +def charger_reference(stdout=None, style=None): + for act, urssaf, ab, vl, sca, tb, tm in BAREMES_2026: + Bareme.objects.update_or_create( + activite=act, annee=2026, + defaults=dict(taux_urssaf=urssaf, abattement_fiscal=ab, taux_vl=vl, + seuil_ca=sca, seuil_tva_base=tb, seuil_tva_majore=tm)) + cat = {} + for nom, usage, excl, ordre in CATEGORIES: + c, _ = Categorie.objects.update_or_create( + nom=nom, defaults=dict(usage=usage, exclure_calculs=excl, ordre=ordre)) + cat[nom] = c + if stdout and style: + stdout.write(style.SUCCESS( + f"Référence chargée : {len(BAREMES_2026)} barèmes, {len(cat)} catégories.")) + return cat + + +class Command(BaseCommand): + help = "Charge les barèmes et catégories de référence (sans démo)." + + def handle(self, *args, **options): + charger_reference(self.stdout, self.style) diff --git a/compta/migrations/0005_categorie_entreprise_vue_tva_alter_depense_categorie.py b/compta/migrations/0005_categorie_entreprise_vue_tva_alter_depense_categorie.py new file mode 100644 index 0000000..9fea6c1 --- /dev/null +++ b/compta/migrations/0005_categorie_entreprise_vue_tva_alter_depense_categorie.py @@ -0,0 +1,46 @@ +# Catégories globales + vue TVA + passage de Depense.categorie en clé étrangère. +# Note : on remplace l'ancien champ texte `categorie` par une FK plutôt que de +# l'altérer (un AlterField texte->FK échouerait sur PostgreSQL avec des données). +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('compta', '0004_paiement_depense_paiement'), + ] + + operations = [ + migrations.CreateModel( + name='Categorie', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nom', models.CharField(max_length=100, unique=True)), + ('usage', models.CharField(choices=[('depense', 'Dépense'), ('vente', 'Vente'), ('neutre', 'Mouvement neutre')], default='depense', max_length=10)), + ('exclure_calculs', models.BooleanField(default=False, help_text='Cochez pour les mouvements non fiscaux : TVA payée, cotisations URSSAF, remboursement de TVA, virements…', verbose_name='Neutre (exclue des calculs)')), + ('actif', models.BooleanField(default=True)), + ('ordre', models.IntegerField(default=0)), + ], + options={ + 'verbose_name': 'Catégorie', + 'verbose_name_plural': 'Catégories', + 'ordering': ['usage', 'ordre', 'nom'], + }, + ), + migrations.AddField( + model_name='entreprise', + name='vue_tva', + field=models.CharField(choices=[('simplifie', 'Résumé simplifié'), ('ca3', 'Champs CA3 officiels')], default='simplifie', max_length=10, verbose_name="Mode d'affichage de la déclaration TVA"), + ), + # Ancien champ texte abandonné, remplacé par une FK propre. + migrations.RemoveField( + model_name='depense', + name='categorie', + ), + migrations.AddField( + model_name='depense', + name='categorie', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='depenses', to='compta.categorie'), + ), + ] diff --git a/compta/migrations/__pycache__/0001_initial.cpython-310.pyc b/compta/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..665cab39f1efb15826a1fd4dcb2649c460d646f5 GIT binary patch literal 3966 zcmaJ^TX!5s5#E`dy=o;(wk*qbE)yWw3+Q5pa0wx?uEB{filrD3m!Ws7cX#Butb1mJ zwND(vtNwu>0#EoH{)Jxn0X#Kt@U%~yLm)s71itQ`T`9KA?%CO?>guZMufDFHi6N z94h^)KqX$WM!SV{g4GsTh>FrD_H8sQ6kG>Ogu>1%IxH4 z9>NX$5`k2>4!&!XwOi~Kb{&K$lTAfl*{hO;FG5rK(COGzfv!eXsvTO8>RPgBf*OZ5 zn|pbH;bG*1`llJC1;jy^1TRuHs~#6LeL_YVyiQ z)4wht-><+gvZJrk*JwfKyExV?<(lPOGf&rY&GlUK8ht(2ygt@^BiDR$tofGFbZhi& zdV{`0lU{;~P$IdwSw@%IdZR9zl^Sl9XHLQOnM`u;bYk6(f$FVl_`ZkRW%-;d# zuhI8%%s+=B-GtRyer|7eud;W3Z;sxj_vn_wpj)NebcgOfh40p>IewlcPgn72*8HEU zK9kS;<9sT#MfaYm_x7pz>}X^@$dNg%`uE4Eejm0oK=lXs{ZLnbSIq{ie*{+l7|0n` z{{&jYVT0#Swe8a=8*N^TG4@95!NYUdOh3ceaUCuYqn4?|Gl;M;B9pXDZ6ewMm-tg$ z>YR#8SFMajjOpnW`N(olGsI;1Kx^l)Zo{L%$oX34$ykNZ9_Kqp5yd%g%G9TaBp%y} z*WL2&JSAvcsjS@|b*UX$--uGd`@&DSw0+u?_RaOCBO5GBW3MeZOF792jE77dcn|o2 ztR-CdEbs?hHukw_#R>N!7IImP;&AwTbT;(FddMDm0gt+APnHs2@N_tJX1uS|X z&Onk?)=vF>KjqD$8rkPj$_JP4t3Q{xi;(ReiwL&uJF%R_aZWtVZ;fl=xt&;an4dC$ zrsm6v4!0j<%7YGcI)2)?n()jIyfz!E)n|%=TLJ6D5xHwCZs@l~>|XuTFMrpRQ^ry; zqQ!835vJQ}@(D_TPr3E3kd%Ez5iSV$ z@V`o$2;(SapkbP}5ocV569fB9TFcpaSgWOi?UbRLv;rWnL8^nrqs~?(6FV8qwBxX! zvc=;;@Te9?*jfQcS`EPi)$>eCv(s2F9lKlSp4AX;BqW2-WLfpkENwdIt+kej z!J+_3)mBHh&{uf0A0Kc-gAH|$xXOOyoM-Bxd&7h>V-;{D3-UQD>K=M=R|T$*irY(( zkgl!jdwQG6QWU3XxMhQ-tmcbN29tT^Mguvt$zV!XVT>o}azlB$sX{ewDfmWJm>`}& z*85ymA7&sJ4xeFBSz6cRG>*AP9(b!au-8jvRqtQyGg-;=kmW#mMAST;TtArBkyHa7 zX=b!0IiW&oYHRCVa;JGwRy|EK&y#h}!|MX@!hOT@kXoR68>EVld~n{%hUPEx$XP@818QtZ%^O`a;2K7xe7$Ec>o)pTo$D(d5ZE8vEK1<7YyUsk}1j3@k`j!^78UEFGp~(e;`!LSG_FxgT8TWd>z}GwWq9U zYtA}r&EtRCn!?xq#GbS*$8!GT{MDINHnUb87RO)vA9lmG%F5>7&d0{4u4hlf&y;n^ zvj1sMJg|8e?U!f9$Stlh$f|YhXpKrZZpo^Nixv((( z%UQkB52t7bgP5U#FTBM^C1z-fUEW2cb-IV?tjgPLhsBv}fTTc6$_ z0l}*_hESr2isz*V)@}pXeqN*K5ScOsm%AF`WDVZ>pFj_q=956g+Wt%wu zKIhL&g_L8|*5Qb$TCdvsqJV2T%VF^*4v;fG@c8*Q; zRG7*le0e~3uX%i*?s`fm>`DyVnlf$gb`!(yDYi(R|nM)KSR{oQD{hnGTiOIHZZ#usL Dsg+)6 literal 0 HcmV?d00001 diff --git a/compta/migrations/__pycache__/0003_depense_regime_tva_depense_taux_tva_and_more.cpython-310.pyc b/compta/migrations/__pycache__/0003_depense_regime_tva_depense_taux_tva_and_more.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afc38400aa3258c5746641d799de1a58b9ad15ef GIT binary patch literal 1613 zcmZWp&2Ah;5T4nY**~uxhZsYgK>85Gj)-?Hb3q89*x@fou@D#zdl|L2%Ddyt^h|oX zE!#)J)$f3~AWIzb4D2&-=_8yhcmgB@)iblZ0Y;kY>aL%zud2GT)zz*;-!FgcpKP@p z=Qq1~`SWS>kp5zq2sq#-PU?G5ix))D8M)w$8sJXck%#_C z01fc4dD5EDeLuJmKoeTfzVxAUIhS`y-i8(IK<~K=tFQ()VEr;!XxxNXtOvLS8}KS@ zUV62pOTJ&LY~gkCdmFYEey!}zzx>`MjW_0gC&6e1-XzrbOy|iQBLQxXvou%S40m>R zb|b(XMS&3?tN1il#3Tx3ghENoW&D!Fv}#?`l{kr0jMOO)J@VKQW&U`A`aUJ-V7_Dh z!*BN3vE*X*BPUnvm~PQ>c7-8XwPU)2Q!p3zAJ<%}1=otl5?P;^EQz1#7)p26q8X=o zCe;OdT&`@I$%1|T@&9$DZKLZR5p7HNqJo(@UtjE zF;P>~J4Jbv5puy(3_X(Bt|)iLw`V3ejxhn#R$QOiEL=C}7US;dN3Dl zDBq?pl#f6HL8tZ*J{=x#(qQbX?_kfMx#zGNvR$H*o4q3n8q9|`$Hpf8U zA~#Pew=C!9vn$sB_1mAq(3iLEy*5aB$C47)GJ;dC-=kw2d})T1I(AI)h`1<_!s^#a zuRE41r3Ez^rj(j+pzqbjFuMXxFXD)TUBp$za1i!PJ1V;&icB|(s5^9m#P_1;ndXV@ z5W6d13!oUsR2z>RoAw^SC$@8>t*_}knsQn0O|PCum9*@p?w);!mAISbSkI^{N4`VG zCHeDoSYT1u(KY0d$yiLbiv%%0-+qcof^wJ&HT-;^ZL{jl59?()^6U_JcQFK(?|N}G zZ}Er=AgB@t`MC@z0-DcG@jj8Z)A0Pi{h;AC+zr?NtKv2n+}eU$UvO61{=M{b5H{^I uEXT1dk$2#Pi%B+sqcUw}vP#t@@``&vx106{RRKP9Z9q*Ty~et`>HPz`mg$!O literal 0 HcmV?d00001 diff --git a/compta/migrations/__pycache__/0004_paiement_depense_paiement.cpython-310.pyc b/compta/migrations/__pycache__/0004_paiement_depense_paiement.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3ce7cc6171b1bd1991ffa9b8f6ded1f701bb6276 GIT binary patch literal 1607 zcmYjR&2r;J5SB)=EjxC8HX-aT3#;7)Haf%(1xKJZu@eeN0#ykYUsPjvN0Br7VI(g} zu5k4maDbzqf`i|H<6JrAvNsM;MJ+v&okS|Nx_i2(yT6{Eq}6H|^!)K=Z-iCD_)81- zADe_%^kr=#V1Ox%zDa*3SY-9B$nM*w@s$A<*uNNHqcy7hZ1pQ(o)})`hJ1`;kEuo! z29oDt5@)I!C4eFu>b3jNG6}Ef%l;&SMU*}RGcfxW+M^0Eu&_F+flY4(s!*HQXAB&y z{^tB{5Lc(wIy7JjniEEHi{u6@!wRex@>;R}0M-Kr8}JTnPAsx|m$XZ?iY83x{_#iOh>8}>J6P?oF>M)7YoU2cEc6L7X0aJ`K^d$yigns^-->PyxzAO|x20uz9 zD(8D1VuW$7SO}*FihbSlY}MrBJn@GTd5)l#QW-{EUilYzrRo{Vkc;pdRr58=?jd5{9LxkMzx|O&Uu{sd6IK+ z!$^12Bto{!fI|u|{8aEEX4HT3g)j*7OxYP#N;Vb1L70zq+k3MqvF;Whp7Y!*z>x^F zxJip$IhzviZlO*k%Zkc9`A~ggQJ?0T(iN&9Y<_O2%}wL&1_)RZVRxFvQhPgH%;iR`+vt+Dj15}Wn= zFcS)6$%S$f3Dk%a~?K50YK4%qw05^Qx*c5Inw6^>Y-d zpW|gtsg8w^&nOM~T$2|>sDef@#|0MhC8<=UDCXGPP>x@yeP1IG}+EgZNvTf+~!793+atKtn(+rTa+Ly1OUc-QK=(b^%H!=VbrXKmOtHP&JYi z=l9mskUdJNApZ_K8D^Qj&N>_t-O}w$Af{K_7kZFnCyMjVH+$~3TLRpf|L(5A4vqb1 z{sQ;gVP7cP>6O%1Z;ifehlpb^%YJKDn7P3k<|@6L=Cb+NWdE=RGi}rU&;Hw9Vb&&yIgB!~ F{s&@r_~ifq literal 0 HcmV?d00001 diff --git a/compta/migrations/__pycache__/0005_categorie_entreprise_vue_tva_alter_depense_categorie.cpython-310.pyc b/compta/migrations/__pycache__/0005_categorie_entreprise_vue_tva_alter_depense_categorie.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3973bf4b204f902d80b03f8c6f1f4d082edba1b8 GIT binary patch literal 1793 zcmY*aOK;mo5EfsuB+Is9r)eHd%0AMBO=1T~dntk2($ot;udtmJ~0`E1Q zY3v5J>ZD05SefLRRLwL8Ns&Cvq5^m@>Q zg^4?`p+&qFw29Z5*hDXCI&MJsCkvKf8CE6^aeKsV)2VZ?3TuXQ-f&!aXJV230#O}! zx2EDIT!c$x<1*Q}@}mRqO|%D#a22j;>+nAKu?-)P^$+2ri3=Yad6(|H4xdbHqf2|z zUDDp-@@Qq$9Q8)$;0D};VB+Z$vD;sTPYI=4s{Ql?9fGPE|^NkJ_ZB1xGz3J>r|wIzy#@#Gj) zcZ^~`CvzD~Q8`(jz6L_wWQrYz9J9C_s%DiXuPRhtC0UGtL*j+G9~IR~5%T2#vN3$v3_M^N^WL)9Cf$2UOk+oNV`oL{}oDiR!m%o1Z^YN8ks->-Y#mVDd-5Kj= zdY6ZN*cmFFB;Hm4p@GsHNTwKf52 z{^B!C^D)*$XD1h!#Mw90p-mXEEY6h;`-Ye+K>+0`i;g`k0-jq=Ss?l`h(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vPzc{tHI5R)5 zSU)i(zbG>=UAH(VHMO8pH#;>aC$&gFH?KtB%Sl03Avr&{pd?WrO66vz7bTW}^~J|$ e=4F<|$LkeT-r}&y%}*)KNwou6Q_KV;SQr33 - Libellé / vendeur - Catégorie - Activité - Régime TVA - Taux % + Libellé / vendeur + Catégorie + Activité + Régime TVA + Taux % Montant € TVA déduct. € @@ -111,7 +111,12 @@