Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
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
Ejemplo n.º 3
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
Ejemplo n.º 4
0
    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")
Ejemplo n.º 5
0
	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")
Ejemplo n.º 6
0
    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")