def test_for_parent_customer_group(self): tax_rule1 = make_tax_rule(customer_group= "All Customer Groups", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1, from_date = "2015-01-01") tax_rule1.save() self.assertEquals(get_tax_template("2015-01-01", {"customer_group" : "Commercial", "use_for_shopping_cart":0}), "_Test Sales Taxes and Charges Template")
def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_type=None, billing_address=None, shipping_address=None, use_for_shopping_cart=None): from erpnext.accounts.doctype.tax_rule.tax_rule import get_tax_template, get_party_details args = { party_type.lower(): party, "customer_group": customer_group, "supplier_type": supplier_type, "company": company } if billing_address or shipping_address: args.update(get_party_details(party, party_type, {"billing_address": billing_address, \ "shipping_address": shipping_address })) else: args.update(get_party_details(party, party_type)) if party_type=="Customer": args.update({"tax_type": "Sales"}) else: args.update({"tax_type": "Purchase"}) if use_for_shopping_cart: args.update({"use_for_shopping_cart": use_for_shopping_cart}) return get_tax_template(posting_date, args)
def test_select_tax_rule_based_cross_partially_keys(self): make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) make_tax_rule(billing_city = "Test City 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), "_Test Sales Taxes and Charges Template 1")
def test_select_tax_rule_based_cross_matching_keys(self): make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template - _TC", save=1) make_tax_rule(customer= "_Test Customer 1", billing_city = "Test City 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1 - _TC", save=1) self.assertEqual(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), None)
def test_select_tax_rule_based_on_state_match(self): make_tax_rule(customer= "_Test Customer", shipping_state = "Test State", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) make_tax_rule(customer= "_Test Customer", shipping_state = "Test State12", sales_tax_template = "_Test Sales Taxes and Charges Template 1", priority=2, save=1) self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "shipping_state": "Test State"}), "_Test Sales Taxes and Charges Template")
def test_select_tax_rule_based_on_better_priority(self): make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template", priority=1, save=1) make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template 1", priority=2, save=1) self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City"}), "_Test Sales Taxes and Charges Template 1")
def test_select_tax_rule_based_on_better_match(self): make_tax_rule(customer= "_Test Customer", billing_city = "Test City", billing_state = "Test State", sales_tax_template = "_Test Sales Taxes and Charges Template - _TC", save=1) make_tax_rule(customer= "_Test Customer", billing_city = "Test City1", billing_state = "Test State", sales_tax_template = "_Test Sales Taxes and Charges Template 1 - _TC", save=1) self.assertEqual(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City", "billing_state": "Test State"}), "_Test Sales Taxes and Charges Template - _TC")
def test_select_tax_rule_based_on_customer(self): make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) make_tax_rule(customer= "_Test Customer 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) make_tax_rule(customer= "_Test Customer 2", sales_tax_template = "_Test Sales Taxes and Charges Template 2", save=1) self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer 2"}), "_Test Sales Taxes and Charges Template 2")
def test_select_tax_rule_based_on_customer(self): make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) make_tax_rule(customer= "_Test Customer 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) make_tax_rule(customer= "_Test Customer 2", sales_tax_template = "_Test Sales Taxes and Charges Template 2", save=1) self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer 2"}), "_Test Sales Taxes and Charges Template 2")
def test_for_parent_customer_group(self): tax_rule1 = make_tax_rule( customer_group="All Customer Groups", sales_tax_template="_Test Sales Taxes and Charges Template - _TC", priority=1, from_date="2015-01-01") tax_rule1.save() self.assertEqual( get_tax_template("2015-01-01", { "customer_group": "Commercial", "use_for_shopping_cart": 0 }), "_Test Sales Taxes and Charges Template - _TC")
def test_select_tax_rule_based_on_tax_category(self): make_tax_rule( customer="_Test Customer", tax_category="_Test Tax Category 1", sales_tax_template="_Test Sales Taxes and Charges Template 1 - _TC", save=1) make_tax_rule( customer="_Test Customer", tax_category="_Test Tax Category 2", sales_tax_template="_Test Sales Taxes and Charges Template 2 - _TC", save=1) self.assertFalse( get_tax_template("2015-01-01", {"customer": "_Test Customer"})) self.assertEqual( get_tax_template( "2015-01-01", { "customer": "_Test Customer", "tax_category": "_Test Tax Category 1" }), "_Test Sales Taxes and Charges Template 1 - _TC") self.assertEqual( get_tax_template( "2015-01-01", { "customer": "_Test Customer", "tax_category": "_Test Tax Category 2" }), "_Test Sales Taxes and Charges Template 2 - _TC") make_tax_rule( customer="_Test Customer", tax_category="", sales_tax_template="_Test Sales Taxes and Charges Template - _TC", save=1) self.assertEqual( get_tax_template("2015-01-01", {"customer": "_Test Customer"}), "_Test Sales Taxes and Charges Template - _TC")
def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_group=None, tax_category=None, transaction_type=None, cost_center=None, tax_id=None, tax_cnic=None, tax_strn=None, has_stin=None, billing_address=None, shipping_address=None, use_for_shopping_cart=None): from erpnext.accounts.doctype.tax_rule.tax_rule import get_tax_template, get_party_details args = { scrub(party_type): party, "company": company } if tax_category: args['tax_category'] = tax_category if customer_group: args['customer_group'] = customer_group if supplier_group: args['supplier_group'] = supplier_group if transaction_type: args['transaction_type'] = transaction_type if cost_center: args['cost_center'] = cost_center args['tax_id'] = "Set" if tax_id else "Not Set" args['tax_cnic'] = "Set" if tax_cnic else "Not Set" args['tax_strn'] = "Set" if tax_strn else "Not Set" if has_stin is not None: args['has_stin'] = "Yes" if cint(has_stin) else "No" if billing_address or shipping_address: args.update(get_party_details(party, party_type, {"billing_address": billing_address, "shipping_address": shipping_address})) else: args.update(get_party_details(party, party_type)) if party_type in ("Customer", "Lead"): args.update({"tax_type": "Sales"}) if party_type=='Lead': args['customer'] = None del args['lead'] else: args.update({"tax_type": "Purchase"}) if use_for_shopping_cart: args.update({"use_for_shopping_cart": use_for_shopping_cart}) return get_tax_template(posting_date, args)
def set_taxes( party, party_type, posting_date, company, customer_group=None, supplier_group=None, tax_category=None, billing_address=None, shipping_address=None, use_for_shopping_cart=None, ): from erpnext.accounts.doctype.tax_rule.tax_rule import get_party_details, get_tax_template args = {party_type.lower(): party, "company": company} if tax_category: args["tax_category"] = tax_category if customer_group: args["customer_group"] = customer_group if supplier_group: args["supplier_group"] = supplier_group if billing_address or shipping_address: args.update( get_party_details( party, party_type, { "billing_address": billing_address, "shipping_address": shipping_address })) else: args.update(get_party_details(party, party_type)) if party_type in ("Customer", "Lead"): args.update({"tax_type": "Sales"}) if party_type == "Lead": args["customer"] = None del args["lead"] else: args.update({"tax_type": "Purchase"}) if use_for_shopping_cart: args.update({"use_for_shopping_cart": use_for_shopping_cart}) return get_tax_template(posting_date, args)
def test_select_tax_rule_based_cross_partially_keys(self): make_tax_rule( customer="_Test Customer", billing_city="Test City", sales_tax_template="_Test Sales Taxes and Charges Template - _TC", save=1) make_tax_rule( billing_city="Test City 1", sales_tax_template="_Test Sales Taxes and Charges Template 1 - _TC", save=1) self.assertEqual( get_tax_template("2015-01-01", { "customer": "_Test Customer", "billing_city": "Test City 1" }), "_Test Sales Taxes and Charges Template 1 - _TC")
def test_select_tax_rule_based_cross_matching_keys(self): make_tax_rule( customer="_Test Customer", billing_city="Test City", sales_tax_template="_Test Sales Taxes and Charges Template", save=1) make_tax_rule( customer="_Test Customer 1", billing_city="Test City 1", sales_tax_template="_Test Sales Taxes and Charges Template 1", save=1) self.assertEquals( get_tax_template("2015-01-01", { "customer": "_Test Customer", "billing_city": "Test City 1" }), None)
def test_select_tax_rule_based_on_state_match(self): make_tax_rule( customer="_Test Customer", shipping_state="Test State", sales_tax_template="_Test Sales Taxes and Charges Template - _TC", save=1) make_tax_rule( customer="_Test Customer", shipping_state="Test State12", sales_tax_template="_Test Sales Taxes and Charges Template 1 - _TC", priority=2, save=1) self.assertEqual( get_tax_template("2015-01-01", { "customer": "_Test Customer", "shipping_state": "Test State" }), "_Test Sales Taxes and Charges Template - _TC")
def test_select_tax_rule_based_on_better_priority(self): make_tax_rule( customer="_Test Customer", billing_city="Test City", sales_tax_template="_Test Sales Taxes and Charges Template - _TC", priority=1, save=1) make_tax_rule( customer="_Test Customer", billing_city="Test City", sales_tax_template="_Test Sales Taxes and Charges Template 1 - _TC", priority=2, save=1) self.assertEqual( get_tax_template("2015-01-01", { "customer": "_Test Customer", "billing_city": "Test City" }), "_Test Sales Taxes and Charges Template 1 - _TC")
def test_select_tax_rule_based_on_better_match(self): make_tax_rule( customer="_Test Customer", billing_city="Test City", billing_state="Test State", sales_tax_template="_Test Sales Taxes and Charges Template", save=1) make_tax_rule( customer="_Test Customer", billing_city="Test City1", billing_state="Test State", sales_tax_template="_Test Sales Taxes and Charges Template 1", save=1) self.assertEquals( get_tax_template( "2015-01-01", { "customer": "_Test Customer", "billing_city": "Test City", "billing_state": "Test State" }), "_Test Sales Taxes and Charges Template")
def set_taxes(party, party_type, posting_date, company, customer_group=None, supplier_type=None, billing_address=None, shipping_address=None, use_for_shopping_cart=None): from erpnext.accounts.doctype.tax_rule.tax_rule import get_tax_template, get_party_details args = { party_type.lower(): party, "customer_group": customer_group, "supplier_type": supplier_type, "company": company } if billing_address or shipping_address: args.update(get_party_details(party, party_type, {"billing_address": billing_address, \ "shipping_address": shipping_address })) else: args.update(get_party_details(party, party_type)) if party_type in ("Customer", "Lead"): args.update({"tax_type": "Sales"}) if party_type == 'Lead': args['customer'] = None del args['lead'] else: args.update({"tax_type": "Purchase"}) if use_for_shopping_cart: args.update({"use_for_shopping_cart": use_for_shopping_cart}) return get_tax_template(posting_date, args)