changeset f21ac68b8048 in modules/account_es:5.4
details: 
https://hg.tryton.org/modules/account_es?cmd=changeset;node=f21ac68b8048
description:
        Exclude refunds from cancelled invoices on ES VAT List

        issue9097
        review289441002
        (grafted from fef002013c637aae9851c680fae4a8b92d01e7c6)
diffstat:

 reporting_tax.py |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diffs (31 lines):

diff -r 63e12953c378 -r f21ac68b8048 reporting_tax.py
--- a/reporting_tax.py  Sat Apr 04 16:28:15 2020 +0200
+++ b/reporting_tax.py  Mon Apr 06 13:05:05 2020 +0200
@@ -9,6 +9,7 @@
 from sql.aggregate import Count, Max, Min, Sum
 from sql.conditionals import Case
 from sql.functions import Substring, Position, Extract
+from sql.operators import Exists
 
 from trytond.i18n import gettext
 from trytond.model import ModelSQL, ModelView, fields
@@ -427,6 +428,7 @@
         Date = pool.get('ir.date')
         context = Transaction().context
         invoice = Invoice.__table__()
+        cancel_invoice = Invoice.__table__()
         invoice_tax = InvoiceTax.__table__()
         tax = Tax.__table__()
 
@@ -437,7 +439,10 @@
             & (invoice.state.in_(['posted', 'paid']))
             & (tax.es_vat_list_code != Null)
             & (Extract('year', invoice.invoice_date)
-                == context.get('date', Date.today()).year))
+                == context.get('date', Date.today()).year)
+            & ~Exists(cancel_invoice.select(
+                    cancel_invoice.cancel_move, distinct=True,
+                    where=(cancel_invoice.cancel_move == invoice.move))))
         return (invoice_tax
             .join(invoice,
                 condition=invoice_tax.invoice == invoice.id)

Reply via email to