def test_payment_terms_are_fetched_when_creating_sales_invoice(self): from erpnext.accounts.doctype.payment_entry.test_payment_entry import ( create_payment_terms_template, ) from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice automatically_fetch_payment_terms() so = make_sales_order(uom="Nos", do_not_save=1) create_payment_terms_template() so.payment_terms_template = "Test Receivable Template" so.submit() dn = create_dn_against_so(so.name, delivered_qty=10) si = create_sales_invoice(qty=10, do_not_save=1) si.items[0].delivery_note = dn.name si.items[0].dn_detail = dn.items[0].name si.items[0].sales_order = so.name si.items[0].so_detail = so.items[0].name si.insert() si.submit() self.assertEqual(so.payment_terms_template, si.payment_terms_template) compare_payment_schedules(self, so, si) automatically_fetch_payment_terms(enable=0)
def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty): from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice actual_qty_0 = get_qty_after_transaction() so = make_sales_order(qty=50) dn = create_dn_against_so(so.name, delivered_qty) actual_qty_1 = get_qty_after_transaction() self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1) si = make_sales_invoice(so.name) si.insert() si.submit() # insert and submit stock entry for sales return se = make_stock_entry( item_code="_Test Item", target="_Test Warehouse - _TC", qty=returned_qty, purpose="Sales Return", delivery_note_no=dn.name, ) actual_qty_2 = get_qty_after_transaction() self.assertEquals(actual_qty_1 + returned_qty, actual_qty_2) return se
def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty): from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice actual_qty_0 = get_qty_after_transaction() so = make_sales_order(qty=50) dn = create_dn_against_so(so.name, delivered_qty) actual_qty_1 = get_qty_after_transaction() self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1) si = make_sales_invoice(so.name) si.insert() si.submit() # insert and submit stock entry for sales return se = make_stock_entry(item_code="_Test Item", target="_Test Warehouse - _TC", qty=returned_qty, purpose="Sales Return", delivery_note_no=dn.name) actual_qty_2 = get_qty_after_transaction() self.assertEquals(actual_qty_1 + returned_qty, actual_qty_2) return se
def test_dn_billing_status_case1(self): # SO -> DN -> SI so = make_sales_order() dn = create_dn_against_so(so.name, delivered_qty=2) self.assertEqual(dn.status, "To Bill") self.assertEqual(dn.per_billed, 0) si = make_sales_invoice(dn.name) si.submit() dn.load_from_db() self.assertEqual(dn.get("items")[0].billed_amt, 200) self.assertEqual(dn.per_billed, 100) self.assertEqual(dn.status, "Completed")
def test_dn_billing_status_case1(self): # SO -> DN -> SI so = make_sales_order() dn = create_dn_against_so(so.name, delivered_qty=2) self.assertEqual(dn.status, "To Bill") self.assertEqual(dn.per_billed, 0) si = make_sales_invoice(dn.name) si.submit() dn.load_from_db() self.assertEqual(dn.get("items")[0].billed_amt, 200) self.assertEqual(dn.per_billed, 100) self.assertEqual(dn.status, "Completed")
def test_dn_billing_status_case1(self): # SO -> DN -> SI so = make_sales_order() dn = create_dn_against_so(so.name, delivered_qty=2) self.assertEqual(dn.status, "To Bill") self.assertEqual(dn.per_billed, 0) # Testing if Customer's Purchase Order No was rightly copied self.assertEqual(dn.po_no, so.po_no) si = make_sales_invoice(dn.name) si.submit() # Testing if Customer's Purchase Order No was rightly copied self.assertEqual(dn.po_no, si.po_no) dn.load_from_db() self.assertEqual(dn.get("items")[0].billed_amt, 200) self.assertEqual(dn.per_billed, 100) self.assertEqual(dn.status, "Completed")