[16.0][ADD] sale_invoice_plan_report: add new module - #364
Conversation
77a477a to
d18e54a
Compare
f4cbf69 to
dcafbae
Compare
| <!-- Total Planned --> | ||
| <div class="col-sm-4 mb-2"> | ||
| <div | ||
| style="background: #F8F0F5; border: 1px solid #E5D5DE; border-radius: 6px; padding: 10px 14px;" |
There was a problem hiding this comment.
@kaynnan Could you maybe add class and css instead of style ? Thanks
|
This PR has the |
alexey-pelykh
left a comment
There was a problem hiding this comment.
Nice module, @kaynnan — it renders cleanly and the smoke tests in tests/test_report.py cover the main paths (section shown/hidden, advance vs installment, currency marker). One non-blocking observation on views/report_saleorder.xml:
The two summary cards format their totals as plain numbers, e.g.
<t t-esc="'{:,.2f}'.format(sum(line.amount_invoiced if line.invoiced else 0 for line in doc.invoice_plan_ids))"/>so "Invoiced" and "Pending" render with no currency symbol and hard-coded ,/. separators, whereas the table below correctly uses the monetary widget with the order currency:
<span t-field="plan_line.amount" t-options='{"widget": "monetary", "display_currency": doc.currency_id}'/>On a non-USD order (or a locale with different separators) the card totals and the table amounts will disagree in formatting. Worth routing the card totals through the monetary widget / doc.currency_id too for consistency.
(+1 to @rousseldenis's point about moving the inline style= to CSS classes — same spirit.)
Co-Reviewed-By: Claude Opus 4.8 noreply@anthropic.com
dcafbae to
807977b
Compare
807977b to
08f9f8b
Compare
rousseldenis
left a comment
There was a problem hiding this comment.
Code and functional review.
Nice.
| @@ -0,0 +1,11 @@ | |||
| This module extends the sales order/quotation PDF report to include invoice plan information when the order is configured to use invoice plans. | |||
There was a problem hiding this comment.
@kaynnan Don't hesitate to include screenshots as this will help module adoption and make them better on app store
cc @marcelsavegnago @WesleyOliveira98 @CristianoMafraJunior @alexey-pelykh @rousseldenis