예제 #1
0
	def create_journal_entry(self):
		"""create entry"""
		payment_details = {
			"amount": self.amount,
			"journal_entry": True,
			"bank_account": self.payment_account
		}
		
		frappe.flags.ignore_account_permission = True
				
		if self.reference_doctype == "Sales Order":
			jv = get_payment_entry_against_order(self.reference_doctype, self.reference_name,\
			 amount=self.amount, journal_entry=True, bank_account=self.payment_account)
			
		if self.reference_doctype == "Sales Invoice":
			jv = get_payment_entry_against_invoice(self.reference_doctype, self.reference_name,\
			 amount=self.amount, journal_entry=True, bank_account=self.payment_account)
			
		jv.update({
			"voucher_type": "Journal Entry",
			"posting_date": nowdate()
		})		
		jv.insert(ignore_permissions=True)
		jv.submit()
		
		#set status as paid for Payment Request
		frappe.db.set_value(self.doctype, self.name, "status", "Paid")
		
		return jv
예제 #2
0
    def create_journal_entry(self):
        """create entry"""
        payment_details = {
            "amount": self.amount,
            "journal_entry": True,
            "bank_account": self.payment_account
        }

        frappe.flags.ignore_account_permission = True

        if self.reference_doctype == "Sales Order":
            jv = get_payment_entry_against_order(self.reference_doctype, self.reference_name,\
             amount=self.amount, journal_entry=True, bank_account=self.payment_account)

        if self.reference_doctype == "Sales Invoice":
            jv = get_payment_entry_against_invoice(self.reference_doctype, self.reference_name,\
             amount=self.amount, journal_entry=True, bank_account=self.payment_account)

        jv.update({"voucher_type": "Journal Entry", "posting_date": nowdate()})
        jv.insert(ignore_permissions=True)
        jv.submit()

        #set status as paid for Payment Request
        frappe.db.set_value(self.doctype, self.name, "status", "Paid")

        return jv
    def create_journal_entry(self):
        """create entry"""
        frappe.flags.ignore_account_permission = True

        ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)

        party_account = get_party_account("Customer", ref_doc.get("customer"), ref_doc.company)
        party_account_currency = get_account_currency(party_account)

        debit_in_account_currency = 0.0

        if party_account_currency == ref_doc.company_currency:
            amount = flt(
                flt(self.grand_total) * flt(ref_doc.conversion_rate, ref_doc.precision("conversion_rate")),
                ref_doc.precision("base_grand_total"),
            )

            if self.currency != ref_doc.company_currency:
                debit_in_account_currency = self.grand_total

        else:
            amount = debit_in_account_currency = self.grand_total

        if self.reference_doctype == "Sales Order":
            jv = get_payment_entry_against_order(
                self.reference_doctype,
                self.reference_name,
                amount=amount,
                debit_in_account_currency=debit_in_account_currency,
                journal_entry=True,
                bank_account=self.payment_account,
            )

        if self.reference_doctype == "Sales Invoice":
            jv = get_payment_entry_against_invoice(
                self.reference_doctype,
                self.reference_name,
                amount=amount,
                debit_in_account_currency=debit_in_account_currency,
                journal_entry=True,
                bank_account=self.payment_account,
            )

        jv.update({"voucher_type": "Journal Entry", "posting_date": nowdate()})

        jv.insert(ignore_permissions=True)
        jv.submit()

        # set status as paid for Payment Request
        frappe.db.set_value(self.doctype, self.name, "status", "Paid")

        return jv
    def create_journal_entry(self):
        """create entry"""
        frappe.flags.ignore_account_permission = True

        ref_doc = frappe.get_doc(self.reference_doctype, self.reference_name)

        party_account = get_party_account("Customer", ref_doc.get("customer"),
                                          ref_doc.company)
        party_account_currency = get_account_currency(party_account)

        debit_in_account_currency = 0.0

        if party_account_currency == ref_doc.company_currency:
            amount = flt(flt(self.grand_total) * \
             flt(ref_doc.conversion_rate, ref_doc.precision("conversion_rate")), \
             ref_doc.precision("base_grand_total"))

            if self.currency != ref_doc.company_currency:
                debit_in_account_currency = self.grand_total

        else:
            amount = debit_in_account_currency = self.grand_total

        if self.reference_doctype == "Sales Order":
            jv = get_payment_entry_against_order(
                self.reference_doctype,
                self.reference_name,
                amount=amount,
                debit_in_account_currency=debit_in_account_currency,
                journal_entry=True,
                bank_account=self.payment_account)

        if self.reference_doctype == "Sales Invoice":
            jv = get_payment_entry_against_invoice(
                self.reference_doctype,
                self.reference_name,
                amount=amount,
                debit_in_account_currency=debit_in_account_currency,
                journal_entry=True,
                bank_account=self.payment_account)

        jv.update({"voucher_type": "Journal Entry", "posting_date": nowdate()})

        jv.insert(ignore_permissions=True)
        jv.submit()

        #set status as paid for Payment Request
        frappe.db.set_value(self.doctype, self.name, "status", "Paid")

        return jv