Merge pull request #30230 from deepeshgarg007/vat_amount_in_ksa
fix: KSA E-Invoice QR Code showing wrong VAT amount
diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml
index d05bbbe..afabe43 100644
--- a/.github/workflows/patch.yml
+++ b/.github/workflows/patch.yml
@@ -4,7 +4,10 @@
pull_request:
paths-ignore:
- '**.js'
+ - '**.css'
- '**.md'
+ - '**.html'
+ - '**.csv'
workflow_dispatch:
concurrency:
diff --git a/.github/workflows/server-tests-mariadb.yml b/.github/workflows/server-tests-mariadb.yml
index 40f9365..69be765 100644
--- a/.github/workflows/server-tests-mariadb.yml
+++ b/.github/workflows/server-tests-mariadb.yml
@@ -4,8 +4,10 @@
pull_request:
paths-ignore:
- '**.js'
+ - '**.css'
- '**.md'
- '**.html'
+ - '**.csv'
push:
branches: [ develop ]
paths-ignore:
diff --git a/.mergify.yml b/.mergify.yml
index b7d1df4..315d90f 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -7,6 +7,8 @@
- author!=gavindsouza
- author!=rohitwaghchaure
- author!=nabinhait
+ - author!=ankush
+ - author!=deepeshgarg007
- or:
- base=version-13
- base=version-12
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 2e7d306..2c66542 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -402,7 +402,6 @@
frappe.local.message_log = []
def set_missing_values(source, target):
- target.ignore_pricing_rule = 1
target.run_method("set_missing_values")
target.run_method("calculate_taxes_and_totals")
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index a025ff7..15fa67b 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -170,6 +170,7 @@
frappe.throw(_("Please select a Company first."), title=_("Mandatory"))
self.clear_operations()
+ self.clear_inspection()
self.validate_main_item()
self.validate_currency()
self.set_conversion_rate()
@@ -425,6 +426,10 @@
if not self.with_operations:
self.set('operations', [])
+ def clear_inspection(self):
+ if not self.inspection_required:
+ self.quality_inspection_template = None
+
def validate_main_item(self):
""" Validate main FG item"""
item = self.get_item_det(self.item)
diff --git a/erpnext/manufacturing/doctype/bom/test_bom.py b/erpnext/manufacturing/doctype/bom/test_bom.py
index 4417123..2f9b9de 100644
--- a/erpnext/manufacturing/doctype/bom/test_bom.py
+++ b/erpnext/manufacturing/doctype/bom/test_bom.py
@@ -6,7 +6,6 @@
from functools import partial
import frappe
-from frappe.test_runner import make_test_records
from frappe.tests.utils import FrappeTestCase
from frappe.utils import cstr, flt
@@ -20,12 +19,9 @@
from erpnext.tests.test_subcontracting import set_backflush_based_on
test_records = frappe.get_test_records('BOM')
+test_dependencies = ["Item", "Quality Inspection Template"]
class TestBOM(FrappeTestCase):
- def setUp(self):
- if not frappe.get_value('Item', '_Test Item'):
- make_test_records('Item')
-
def test_get_items(self):
from erpnext.manufacturing.doctype.bom.bom import get_bom_items_as_dict
items_dict = get_bom_items_as_dict(bom=get_default_bom(),
@@ -495,6 +491,24 @@
self.assertNotEqual(amendment.name, version.name)
self.assertEqual(int(version.name.split("-")[-1]), 2)
+ def test_clear_inpection_quality(self):
+
+ bom = frappe.copy_doc(test_records[2], ignore_no_copy=True)
+ bom.docstatus = 0
+ bom.is_default = 0
+ bom.quality_inspection_template = "_Test Quality Inspection Template"
+ bom.inspection_required = 1
+ bom.save()
+ bom.reload()
+
+ self.assertEqual(bom.quality_inspection_template, '_Test Quality Inspection Template')
+
+ bom.inspection_required = 0
+ bom.save()
+ bom.reload()
+
+ self.assertEqual(bom.quality_inspection_template, None)
+
def get_default_bom(item_code="_Test FG Item 2"):
return frappe.db.get_value("BOM", {"item": item_code, "is_active": 1, "is_default": 1})
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index abbb3c9..94581b6 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -520,7 +520,6 @@
@frappe.whitelist()
def make_delivery_note(source_name, target_doc=None, skip_item_mapping=False):
def set_missing_values(source, target):
- target.ignore_pricing_rule = 1
target.run_method("set_missing_values")
target.run_method("set_po_nos")
target.run_method("calculate_taxes_and_totals")
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 75ccd86..e9ef331 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -445,7 +445,6 @@
invoiced_qty_map = get_invoiced_qty_map(source_name)
def set_missing_values(source, target):
- target.ignore_pricing_rule = 1
target.run_method("set_missing_values")
target.run_method("set_po_nos")
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 52f10ea..5bb337e 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -762,7 +762,6 @@
frappe.throw(_("All items have already been Invoiced/Returned"))
doc = frappe.get_doc(target)
- doc.ignore_pricing_rule = 1
doc.payment_terms_template = get_payment_terms_template(source.supplier, "Supplier", source.company)
doc.run_method("onload")
doc.run_method("set_missing_values")
diff --git a/erpnext/stock/doctype/quality_inspection_template/test_records.json b/erpnext/stock/doctype/quality_inspection_template/test_records.json
new file mode 100644
index 0000000..980f49a
--- /dev/null
+++ b/erpnext/stock/doctype/quality_inspection_template/test_records.json
@@ -0,0 +1,13 @@
+[
+ {
+ "quality_inspection_template_name" : "_Test Quality Inspection Template",
+ "doctype": "Quality Inspection Template",
+ "item_quality_inspection_parameter" : [
+ {
+ "specification": "_Test Param",
+ "doctype": "Item Quality Inspection Parameter",
+ "parentfield": "item_quality_inspection_parameter"
+ }
+ ]
+ }
+]
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index b882b9d..b53e5a1 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -987,15 +987,15 @@
Expected End Date,Voraussichtliches Enddatum,
Expected Hrs,Erwartete Stunden,
Expected Start Date,Voraussichtliches Startdatum,
-Expense,Auslage,
+Expense,Aufwand,
Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Aufwands-/Differenz-Konto ({0}) muss ein ""Gewinn oder Verlust""-Konto sein",
Expense Account,Aufwandskonto,
-Expense Claim,Aufwandsabrechnung,
+Expense Claim,Auslagenabrechnung,
Expense Claim for Vehicle Log {0},Auslagenabrechnung für Fahrtenbuch {0},
Expense Claim {0} already exists for the Vehicle Log,Auslagenabrechnung {0} existiert bereits für das Fahrzeug Log,
Expense Claims,Aufwandsabrechnungen,
Expense account is mandatory for item {0},Aufwandskonto ist zwingend für Artikel {0},
-Expenses,Ausgaben,
+Expenses,Aufwendungen,
Expenses Included In Asset Valuation,"Aufwendungen, die in der Vermögensbewertung enthalten sind",
Expenses Included In Valuation,In der Bewertung enthaltene Aufwendungen,
Expired Batches,Abgelaufene Chargen,