mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-20 05:29:18 +00:00
feat(uae vat 201): do not take zero and nil rated items in standard rated expense emiratewise
This commit is contained in:
@@ -53,7 +53,7 @@ class TestUaeVat201(TestCase):
|
|||||||
"raw_amount": amount,
|
"raw_amount": amount,
|
||||||
"raw_vat_amount": vat,
|
"raw_vat_amount": vat,
|
||||||
}
|
}
|
||||||
self.assertEqual(amounts_by_emirate["Sharjah"]["raw_amount"],300)
|
self.assertEqual(amounts_by_emirate["Sharjah"]["raw_amount"],100)
|
||||||
self.assertEqual(amounts_by_emirate["Sharjah"]["raw_vat_amount"],5)
|
self.assertEqual(amounts_by_emirate["Sharjah"]["raw_vat_amount"],5)
|
||||||
self.assertEqual(amounts_by_emirate["Dubai"]["raw_amount"],200)
|
self.assertEqual(amounts_by_emirate["Dubai"]["raw_amount"],200)
|
||||||
self.assertEqual(amounts_by_emirate["Dubai"]["raw_vat_amount"],10)
|
self.assertEqual(amounts_by_emirate["Dubai"]["raw_vat_amount"],10)
|
||||||
|
|||||||
@@ -118,14 +118,23 @@ def append_data(data, no, legend, amount, vat_amount):
|
|||||||
|
|
||||||
def get_total_emiratewise(filters):
|
def get_total_emiratewise(filters):
|
||||||
"""Returns Emiratewise Amount and Taxes."""
|
"""Returns Emiratewise Amount and Taxes."""
|
||||||
query_filters = get_filters(filters)
|
conditions = get_conditions(filters)
|
||||||
query_filters['docstatus'] = ['=', 1]
|
try:
|
||||||
return frappe.db.get_all('Sales Invoice',
|
return frappe.db.sql("""
|
||||||
filters = query_filters,
|
select
|
||||||
fields = ['vat_emirate as emirate','sum(total)', 'sum(total_taxes_and_charges)'],
|
s.vat_emirate as emirate, sum(i.base_amount) as total, sum(s.total_taxes_and_charges)
|
||||||
group_by='vat_emirate',
|
from
|
||||||
as_list=True
|
`tabSales Invoice Item` i inner join `tabSales Invoice` s
|
||||||
)
|
on
|
||||||
|
i.parent = s.name
|
||||||
|
where
|
||||||
|
s.docstatus = 1 and i.is_exempt != 1 and i.is_zero_rated != 1
|
||||||
|
{where_conditions}
|
||||||
|
group by
|
||||||
|
s.vat_emirate;
|
||||||
|
""".format(where_conditions=conditions), filters)
|
||||||
|
except (IndexError, TypeError):
|
||||||
|
return 0
|
||||||
|
|
||||||
def get_emirates():
|
def get_emirates():
|
||||||
"""Returns a List of emirates in the order that they are to be displayed."""
|
"""Returns a List of emirates in the order that they are to be displayed."""
|
||||||
|
|||||||
Reference in New Issue
Block a user