mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-18 12:39:18 +00:00
test: ldc @ 0 rate
This commit is contained in:
@@ -7,7 +7,7 @@ import unittest
|
|||||||
import frappe
|
import frappe
|
||||||
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
|
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
|
||||||
from frappe.tests import IntegrationTestCase, UnitTestCase
|
from frappe.tests import IntegrationTestCase, UnitTestCase
|
||||||
from frappe.utils import add_days, today
|
from frappe.utils import add_days, add_months, today
|
||||||
|
|
||||||
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
|
||||||
from erpnext.accounts.utils import get_fiscal_year
|
from erpnext.accounts.utils import get_fiscal_year
|
||||||
@@ -676,6 +676,49 @@ class TestTaxWithholdingCategory(IntegrationTestCase):
|
|||||||
pi2.cancel()
|
pi2.cancel()
|
||||||
pi3.cancel()
|
pi3.cancel()
|
||||||
|
|
||||||
|
def test_ldc_at_0_rate(self):
|
||||||
|
frappe.db.set_value(
|
||||||
|
"Supplier",
|
||||||
|
"Test LDC Supplier",
|
||||||
|
{
|
||||||
|
"tax_withholding_category": "Test Service Category",
|
||||||
|
"pan": "ABCTY1234D",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
fiscal_year = get_fiscal_year(today(), company="_Test Company")
|
||||||
|
valid_from = fiscal_year[1]
|
||||||
|
valid_upto = add_months(valid_from, 1)
|
||||||
|
create_lower_deduction_certificate(
|
||||||
|
supplier="Test LDC Supplier",
|
||||||
|
certificate_no="1AE0423AAJ",
|
||||||
|
tax_withholding_category="Test Service Category",
|
||||||
|
tax_rate=0,
|
||||||
|
limit=50000,
|
||||||
|
valid_from=valid_from,
|
||||||
|
valid_upto=valid_upto,
|
||||||
|
)
|
||||||
|
|
||||||
|
pi1 = create_purchase_invoice(
|
||||||
|
supplier="Test LDC Supplier", rate=35000, posting_date=valid_from, set_posting_time=True
|
||||||
|
)
|
||||||
|
pi1.submit()
|
||||||
|
self.assertEqual(pi1.taxes, [])
|
||||||
|
|
||||||
|
pi2 = create_purchase_invoice(
|
||||||
|
supplier="Test LDC Supplier",
|
||||||
|
rate=35000,
|
||||||
|
posting_date=add_days(valid_upto, 1),
|
||||||
|
set_posting_time=True,
|
||||||
|
)
|
||||||
|
pi2.submit()
|
||||||
|
self.assertEqual(len(pi2.taxes), 1)
|
||||||
|
# pi1 net total shouldn't be included as it lies within LDC at rate of '0'
|
||||||
|
self.assertEqual(pi2.taxes[0].tax_amount, 3500)
|
||||||
|
|
||||||
|
pi1.cancel()
|
||||||
|
pi2.cancel()
|
||||||
|
|
||||||
def set_previous_fy_and_tax_category(self):
|
def set_previous_fy_and_tax_category(self):
|
||||||
test_company = "_Test Company"
|
test_company = "_Test Company"
|
||||||
category = "Cumulative Threshold TDS"
|
category = "Cumulative Threshold TDS"
|
||||||
@@ -833,7 +876,8 @@ def create_purchase_invoice(**args):
|
|||||||
pi = frappe.get_doc(
|
pi = frappe.get_doc(
|
||||||
{
|
{
|
||||||
"doctype": "Purchase Invoice",
|
"doctype": "Purchase Invoice",
|
||||||
"posting_date": today(),
|
"set_posting_time": args.set_posting_time or False,
|
||||||
|
"posting_date": args.posting_date or today(),
|
||||||
"apply_tds": 0 if args.do_not_apply_tds else 1,
|
"apply_tds": 0 if args.do_not_apply_tds else 1,
|
||||||
"supplier": args.supplier,
|
"supplier": args.supplier,
|
||||||
"company": "_Test Company",
|
"company": "_Test Company",
|
||||||
@@ -1171,7 +1215,9 @@ def create_tax_withholding_category(
|
|||||||
).insert()
|
).insert()
|
||||||
|
|
||||||
|
|
||||||
def create_lower_deduction_certificate(supplier, tax_withholding_category, tax_rate, certificate_no, limit):
|
def create_lower_deduction_certificate(
|
||||||
|
supplier, tax_withholding_category, tax_rate, certificate_no, limit, valid_from=None, valid_upto=None
|
||||||
|
):
|
||||||
fiscal_year = get_fiscal_year(today(), company="_Test Company")
|
fiscal_year = get_fiscal_year(today(), company="_Test Company")
|
||||||
if not frappe.db.exists("Lower Deduction Certificate", certificate_no):
|
if not frappe.db.exists("Lower Deduction Certificate", certificate_no):
|
||||||
frappe.get_doc(
|
frappe.get_doc(
|
||||||
@@ -1182,8 +1228,8 @@ def create_lower_deduction_certificate(supplier, tax_withholding_category, tax_r
|
|||||||
"certificate_no": certificate_no,
|
"certificate_no": certificate_no,
|
||||||
"tax_withholding_category": tax_withholding_category,
|
"tax_withholding_category": tax_withholding_category,
|
||||||
"fiscal_year": fiscal_year[0],
|
"fiscal_year": fiscal_year[0],
|
||||||
"valid_from": fiscal_year[1],
|
"valid_from": valid_from or fiscal_year[1],
|
||||||
"valid_upto": fiscal_year[2],
|
"valid_upto": valid_upto or fiscal_year[2],
|
||||||
"rate": tax_rate,
|
"rate": tax_rate,
|
||||||
"certificate_limit": limit,
|
"certificate_limit": limit,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user