Example #1
0
	def test_purchase_receipt_return(self):
		self._clear_stock()
		
		actual_qty_0 = self._get_actual_qty()
		
		from stock.doctype.purchase_receipt.test_purchase_receipt \
			import test_records as purchase_receipt_test_records

		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
		
		# submit purchase receipt
		pr = webnotes.bean(copy=purchase_receipt_test_records[0])
		pr.insert()
		pr.submit()
		
		actual_qty_1 = self._get_actual_qty()
		
		self.assertEquals(actual_qty_0 + 10, actual_qty_1)
		
		pi_doclist = make_purchase_invoice(pr.doc.name)
			
		pi = webnotes.bean(pi_doclist)
		pi.doc.posting_date = pr.doc.posting_date
		pi.doc.credit_to = "_Test Supplier - _TC"
		for d in pi.doclist.get({"parentfield": "entries"}):
			d.expense_head = "_Test Account Cost for Goods Sold - _TC"
			d.cost_center = "_Test Cost Center - _TC"
			
		for d in pi.doclist.get({"parentfield": "purchase_tax_details"}):
			d.cost_center = "_Test Cost Center - _TC"
		
		pi.run_method("calculate_taxes_and_totals")
		pi.doc.bill_no = "NA"
		pi.insert()
		pi.submit()
		
		# submit purchase return
		se = webnotes.bean(copy=test_records[0])
		se.doc.purpose = "Purchase Return"
		se.doc.purchase_receipt_no = pr.doc.name
		se.doc.posting_date = "2013-03-01"
		se.doc.fiscal_year = "_Test Fiscal Year 2013"
		se.doclist[1].qty = se.doclist[1].transfer_qty = 5
		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
		se.insert()
		se.submit()
		
		actual_qty_2 = self._get_actual_qty()
		
		self.assertEquals(actual_qty_1 - 5, actual_qty_2)
		
		webnotes.conn.set_default("company", self.old_default_company)
		
		return se, pr.doc.name
	def test_purchase_receipt_return(self):
		self._clear_stock()
		
		actual_qty_0 = self._get_actual_qty()
		
		from stock.doctype.purchase_receipt.test_purchase_receipt \
			import test_records as purchase_receipt_test_records

		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
		
		# submit purchase receipt
		pr = webnotes.bean(copy=purchase_receipt_test_records[0])
		pr.insert()
		pr.submit()
		
		actual_qty_1 = self._get_actual_qty()
		
		self.assertEquals(actual_qty_0 + 10, actual_qty_1)
		
		pi_doclist = make_purchase_invoice(pr.doc.name)
			
		pi = webnotes.bean(pi_doclist)
		pi.doc.posting_date = pr.doc.posting_date
		pi.doc.credit_to = "_Test Supplier - _TC"
		for d in pi.doclist.get({"parentfield": "entries"}):
			d.expense_head = "_Test Account Cost for Goods Sold - _TC"
			d.cost_center = "_Test Cost Center - _TC"
			
		for d in pi.doclist.get({"parentfield": "purchase_tax_details"}):
			d.cost_center = "_Test Cost Center - _TC"
		
		pi.run_method("calculate_taxes_and_totals")
		pi.doc.bill_no = "NA"
		pi.insert()
		pi.submit()
		
		# submit purchase return
		se = webnotes.bean(copy=test_records[0])
		se.doc.purpose = "Purchase Return"
		se.doc.purchase_receipt_no = pr.doc.name
		se.doc.posting_date = "2013-03-01"
		se.doc.fiscal_year = "_Test Fiscal Year 2013"
		se.doclist[1].qty = se.doclist[1].transfer_qty = 5
		se.doclist[1].s_warehouse = "_Test Warehouse - _TC"
		se.insert()
		se.submit()
		
		actual_qty_2 = self._get_actual_qty()
		
		self.assertEquals(actual_qty_1 - 5, actual_qty_2)
		
		webnotes.conn.set_default("company", self.old_default_company)
		
		return se, pr.doc.name
Example #3
0
def run_accounts(current_date):
	if can_make("Sales Invoice"):
		from selling.doctype.sales_order.sales_order import make_sales_invoice
		report = "Ordered Items to be Billed"
		for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Sales Invoice")]:
			si = webnotes.bean(make_sales_invoice(so))
			si.doc.posting_date = current_date
			for d in si.doclist.get({"parentfield": "entries"}):
				if not d.income_account:
					d.income_account = "Sales - {}".format(company_abbr)
			
			si.insert()
			si.submit()
			webnotes.conn.commit()

	if can_make("Purchase Invoice"):
		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
		report = "Received Items to be Billed"
		for pr in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Invoice")]:
			pi = webnotes.bean(make_purchase_invoice(pr))
			pi.doc.posting_date = current_date
			pi.doc.bill_no = random_string(6)
			pi.insert()
			pi.submit()
			webnotes.conn.commit()
			
	if can_make("Payment Received"):
		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice
		report = "Accounts Receivable"
		for si in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Sales Invoice"]))[:how_many("Payment Received")]:
			jv = webnotes.bean(get_payment_entry_from_sales_invoice(si))
			jv.doc.posting_date = current_date
			jv.doc.cheque_no = random_string(6)
			jv.doc.cheque_date = current_date
			jv.insert()
			jv.submit()
			webnotes.conn.commit()
			
	if can_make("Payment Made"):
		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice
		report = "Accounts Payable"
		for pi in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Purchase Invoice"]))[:how_many("Payment Made")]:
			jv = webnotes.bean(get_payment_entry_from_purchase_invoice(pi))
			jv.doc.posting_date = current_date
			jv.doc.cheque_no = random_string(6)
			jv.doc.cheque_date = current_date
			jv.insert()
			jv.submit()
			webnotes.conn.commit()
Example #4
0
def run_accounts(current_date):
	if can_make("Sales Invoice"):
		from selling.doctype.sales_order.sales_order import make_sales_invoice
		report = "Ordered Items to be Billed"
		for so in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Sales Invoice")]:
			si = webnotes.bean(make_sales_invoice(so))
			si.doc.posting_date = current_date
			si.insert()
			si.submit()
			webnotes.conn.commit()

	if can_make("Purchase Invoice"):
		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
		report = "Received Items to be Billed"
		for pr in list(set([r[0] for r in query_report.run(report)["result"] if r[0]!="Total"]))[:how_many("Purchase Invoice")]:
			pi = webnotes.bean(make_purchase_invoice(pr))
			pi.doc.posting_date = current_date
			pi.doc.bill_no = random_string(6)
			pi.insert()
			pi.submit()
			webnotes.conn.commit()
			
	if can_make("Payment Received"):
		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_sales_invoice
		report = "Accounts Receivable"
		for si in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Sales Invoice"]))[:how_many("Payment Received")]:
			jv = webnotes.bean(get_payment_entry_from_sales_invoice(si))
			jv.doc.posting_date = current_date
			jv.doc.cheque_no = random_string(6)
			jv.doc.cheque_date = current_date
			jv.insert()
			jv.submit()
			webnotes.conn.commit()
			
	if can_make("Payment Made"):
		from accounts.doctype.journal_voucher.journal_voucher import get_payment_entry_from_purchase_invoice
		report = "Accounts Payable"
		for pi in list(set([r[4] for r in query_report.run(report, {"report_date": current_date })["result"] if r[3]=="Purchase Invoice"]))[:how_many("Payment Made")]:
			jv = webnotes.bean(get_payment_entry_from_purchase_invoice(pi))
			jv.doc.posting_date = current_date
			jv.doc.cheque_no = random_string(6)
			jv.doc.cheque_date = current_date
			jv.insert()
			jv.submit()
			webnotes.conn.commit()
    def test_make_purchase_invoice(self):
        from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice

        pr = webnotes.bean(copy=test_records[0]).insert()

        self.assertRaises(webnotes.ValidationError, make_purchase_invoice,
                          pr.doc.name)

        pr = webnotes.bean("Purchase Receipt", pr.doc.name)
        pr.submit()
        pi = make_purchase_invoice(pr.doc.name)

        self.assertEquals(pi[0]["doctype"], "Purchase Invoice")
        self.assertEquals(len(pi), len(pr.doclist))

        # modify import_rate
        pi[1].import_rate = 200
        self.assertRaises(webnotes.ValidationError, webnotes.bean(pi).submit)
	def test_make_purchase_invoice(self):
		from stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice

		pr = webnotes.bean(copy=test_records[0]).insert()
		
		self.assertRaises(webnotes.ValidationError, make_purchase_invoice, 
			pr.doc.name)

		pr = webnotes.bean("Purchase Receipt", pr.doc.name)
		pr.submit()
		pi = make_purchase_invoice(pr.doc.name)
		
		self.assertEquals(pi[0]["doctype"], "Purchase Invoice")
		self.assertEquals(len(pi), len(pr.doclist))
		
		# modify import_rate
		pi[1].import_rate = 200
		self.assertRaises(webnotes.ValidationError, webnotes.bean(pi).submit)