facturation: au niveau des lignes de facturation, archiver un code d'imputation comptable (#89025) #184

Merged
lguerin merged 10 commits from wip/89025-invoicing-accounting-code into main 2024-04-16 13:00:37 +02:00
Owner
No description provided.
lguerin added 10 commits 2024-04-11 09:58:25 +02:00
lguerin changed title from WIP: facturation: au niveau des lignes de facturation, archiver un code d'imputation comptable (#89025) to facturation: au niveau des lignes de facturation, archiver un code d'imputation comptable (#89025) 2024-04-11 10:04:32 +02:00
pmarillonnet requested review from pmarillonnet 2024-04-15 14:52:39 +02:00
Owner

(Je commence à relire.)

(Je commence à relire.)
lguerin force-pushed wip/89025-invoicing-accounting-code from 572a909f68 to 049d63acbe 2024-04-16 08:56:41 +02:00 Compare
pmarillonnet reviewed 2024-04-16 11:20:33 +02:00
pmarillonnet left a comment
Owner

Quelques remarques après une première relecture commit par commit.

Quelques remarques après une première relecture commit par commit.
@ -413,0 +420,4 @@
line_model = InvoiceLine
if self.pool.draft:
line_model = DraftInvoiceLine
lines = line_model.objects.filter(accounting_code__iexact=value).values('invoice')
Owner

C’est pas un accounting_code__icontains qu’on souhaiterait plutôt avoir ici ?

C’est pas un `accounting_code__icontains` qu’on souhaiterait plutôt avoir ici ?
Author
Owner

je demande confirmation à stef, mais mon intuition c'était que les plans comptables étant "à tiroir" il était plus pratique d'avoir un match exact:
sous le code 4 ou a 41, 42, 43 etc
sous le code 41 ou a 411, 412, 413 etc

je demande confirmation à stef, mais mon intuition c'était que les plans comptables étant "à tiroir" il était plus pratique d'avoir un match exact: sous le code 4 ou a 41, 42, 43 etc sous le code 41 ou a 411, 412, 413 etc
Author
Owner

stef confirme: match exact

stef confirme: match exact
Owner

Ok.

Ok.
pmarillonnet marked this conversation as resolved
@ -715,0 +736,4 @@
def filter_accounting_code(self, queryset, name, value):
if not value:
return queryset
lines = InvoiceLine.objects.filter(accounting_code__iexact=value).values('invoice')
Owner

Pareil que plus haut, intuitivement je me dis que c’est un __icontains qu’on aurait intérêt à avoir (?)

Pareil que plus haut, intuitivement je me dis que c’est un `__icontains` qu’on aurait intérêt à avoir (?)
pmarillonnet marked this conversation as resolved
@ -884,3 +886,3 @@
regie = models.ForeignKey(Regie, on_delete=models.PROTECT)
label = models.CharField(_('Label'), max_length=300)
total_amount = models.DecimalField(max_digits=9, decimal_places=2, default=0)
regie = models.ForeignKey(Regie, on_delete=models.PROTECT)
Owner

Une ligne qui bouge pour rien ici (?) (et aussi un saut de ligne pour rien juste en dessous (?))

Une ligne qui bouge pour rien ici (?) (et aussi un saut de ligne pour rien juste en dessous (?))
Author
Owner

j'ai fait un peu de rangement :)

j'ai fait un peu de rangement :)
Owner

Ok.

Ok.
pmarillonnet marked this conversation as resolved
@ -766,6 +767,7 @@ class AbstractJournalLine(models.Model):
'Effort rate target is not a %(wanted)s: %(effort_rate_target)s'
),
'PricingEffortRateTargetValueError': _('Effort rate target bad value: %(effort_rate_target)s'),
'PricingAccountingCodeError': _('Impossible to determine an accounting code'),
Owner

Peut-être que comme pour la ligne juste au dessus concernant le gabarit effort_rate_target, on aurait intérêt à préciser la valeur de gabarit erronée qui mène à l’erreur PricingAccountingCodeError ?

Peut-être que comme pour la ligne juste au dessus concernant le gabarit effort_rate_target, on aurait intérêt à préciser la valeur de gabarit erronée qui mène à l’erreur `PricingAccountingCodeError` ?
Author
Owner

la ligne au dessus, c'est le résultat du gabarit qui donne une valeur négative, on note dans l'erreur la valeur qui a été produite.

pour PricingAccountingCodeError, on n'a pas réussi à compiler le gabarit.
PricingEffortRateTargetError est sur le même modèle, entre autres.

la ligne au dessus, c'est le résultat du gabarit qui donne une valeur négative, on note dans l'erreur la valeur qui a été produite. pour `PricingAccountingCodeError`, on n'a pas réussi à compiler le gabarit. `PricingEffortRateTargetError` est sur le même modèle, entre autres.
Owner

Ah oui ok j’avais pas capté cette subtilité, merci.

Ah oui ok j’avais pas capté cette subtilité, merci.
pmarillonnet marked this conversation as resolved
@ -727,6 +755,14 @@ class Pricing(WithApplicationMixin, models.Model):
'bounded_pricing': adjusted_pricing,
}
def compute_accounting_code(self, request, original_context, user_external_id, payer_external_id):
Owner

Peut-être, dans ce commit 0006 qui introduit la méthode Pricing.compute_account_code, avoir d’ores et déjà un bout de test qui vérifie le rendu d’une valeur de gabarit (au lieu des '424242' en dur dans les tests comme c’est le cas actuellement) ?

Edit: c’est déjà le cas, pardon.

Peut-être, dans ce commit 0006 qui introduit la méthode `Pricing.compute_account_code`, avoir d’ores et déjà un bout de test qui vérifie le rendu d’une valeur de gabarit (au lieu des `'424242'` en dur dans les tests comme c’est le cas actuellement) ? Edit: c’est déjà le cas, pardon.
pmarillonnet marked this conversation as resolved
pmarillonnet approved these changes 2024-04-16 11:50:25 +02:00
lguerin merged commit 7213bb59a1 into main 2024-04-16 13:00:37 +02:00
lguerin deleted branch wip/89025-invoicing-accounting-code 2024-04-16 13:00:37 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/lingo#184
No description provided.