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 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()
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)