diff --git a/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py index eef827000f643542a9cb0c4b2e552709de37e6a9..745101f2e36b68eab3e64806a57084d5ca301e25 100644 --- a/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py +++ b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py @@ -40,11 +40,10 @@ class TestUaeVat201(FrappeTestCase): make_item("_Test UAE VAT Zero Rated Item", properties={"is_zero_rated": 1, "is_exempt": 0}) make_item("_Test UAE VAT Exempt Item", properties={"is_zero_rated": 0, "is_exempt": 1}) + def test_uae_vat_201_report(self): make_sales_invoices() - create_purchase_invoices() - def test_uae_vat_201_report(self): filters = {"company": "_Test Company UAE VAT"} total_emiratewise = get_total_emiratewise(filters) amounts_by_emirate = {} @@ -65,6 +64,37 @@ class TestUaeVat201(FrappeTestCase): self.assertEqual(get_standard_rated_expenses_total(filters), 250) self.assertEqual(get_standard_rated_expenses_tax(filters), 1) + def test_uae_vat_201_report_with_foreign_transaction(self): + pi = make_purchase_invoice( + company="_Test Company UAE VAT", + supplier="_Test UAE Supplier", + supplier_warehouse="_Test UAE VAT Supplier Warehouse - _TCUV", + warehouse="_Test UAE VAT Supplier Warehouse - _TCUV", + currency="USD", + conversion_rate=3.67, + cost_center="Main - _TCUV", + expense_account="Cost of Goods Sold - _TCUV", + item="_Test UAE VAT Item", + do_not_save=1, + uom="Nos", + ) + pi.append( + "taxes", + { + "charge_type": "On Net Total", + "account_head": "VAT 5% - _TCUV", + "cost_center": "Main - _TCUV", + "description": "VAT 5% @ 5.0", + "rate": 5.0, + }, + ) + pi.recoverable_standard_rated_expenses = 50 + pi.save().submit() + + filters = {"company": "_Test Company UAE VAT"} + self.assertEqual(get_standard_rated_expenses_total(filters), 917.5) + self.assertEqual(get_standard_rated_expenses_tax(filters), 50) + def make_company(company_name, abbr): if not frappe.db.exists("Company", company_name): diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.py b/erpnext/regional/report/uae_vat_201/uae_vat_201.py index 6ef21e52ca1e847bdaf4468e3753667d90b83725..af2875197b6b22b6ce80e6c425390eadca569972 100644 --- a/erpnext/regional/report/uae_vat_201/uae_vat_201.py +++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.py @@ -185,7 +185,7 @@ def get_reverse_charge_total(filters): try: return ( frappe.db.get_all( - "Purchase Invoice", filters=query_filters, fields=["sum(total)"], as_list=True, limit=1 + "Purchase Invoice", filters=query_filters, fields=["sum(base_total)"], as_list=True, limit=1 )[0][0] or 0 ) @@ -227,7 +227,7 @@ def get_reverse_charge_recoverable_total(filters): try: return ( frappe.db.get_all( - "Purchase Invoice", filters=query_filters, fields=["sum(total)"], as_list=True, limit=1 + "Purchase Invoice", filters=query_filters, fields=["sum(base_total)"], as_list=True, limit=1 )[0][0] or 0 ) @@ -284,7 +284,7 @@ def get_standard_rated_expenses_total(filters): try: return ( frappe.db.get_all( - "Purchase Invoice", filters=query_filters, fields=["sum(total)"], as_list=True, limit=1 + "Purchase Invoice", filters=query_filters, fields=["sum(base_total)"], as_list=True, limit=1 )[0][0] or 0 ) @@ -320,7 +320,7 @@ def get_tourist_tax_return_total(filters): try: return ( frappe.db.get_all( - "Sales Invoice", filters=query_filters, fields=["sum(total)"], as_list=True, limit=1 + "Sales Invoice", filters=query_filters, fields=["sum(base_total)"], as_list=True, limit=1 )[0][0] or 0 )