def validate(self): if not self.is_opening: self.is_opening = 'No' self.validate_posting_time() # apply tax withholding only if checked and applicable self.set_tax_withholding() super(PurchaseInvoice, self).validate() if not self.is_return: self.po_required() self.pr_required() self.validate_supplier_invoice() # validate cash purchase if (self.is_paid == 1): self.validate_cash() # validate service stop date to lie in between start and end date validate_service_stop_date(self) if self._action == "submit" and self.update_stock: self.make_batches('warehouse') self.validate_release_date() self.check_conversion_rate() self.validate_credit_to_acc() self.clear_unallocated_advances("Purchase Invoice Advance", "advances") self.check_for_closed_status() self.validate_with_previous_doc() self.validate_uom_is_integer("uom", "qty") self.validate_uom_is_integer("stock_uom", "stock_qty") self.set_expense_account(for_validate=True) self.set_against_expense_account() self.validate_write_off_account() self.validate_multiple_billing("Purchase Receipt", "pr_detail", "amount", "items") self.validate_fixed_asset() self.create_remarks() self.set_status() validate_inter_company_party(self.doctype, self.supplier, self.company, self.inter_company_invoice_reference)
def validate(self): if not self.is_opening: self.is_opening = 'No' self.validate_posting_time() super(PurchaseInvoice, self).validate() # apply tax withholding only if checked and applicable self.set_tax_withholding() if not self.is_return: self.po_required() self.pr_required() self.validate_supplier_invoice() # validate cash purchase if (self.is_paid == 1): self.validate_cash() # validate service stop date to lie in between start and end date validate_service_stop_date(self) if self._action=="submit" and self.update_stock: self.make_batches('warehouse') self.validate_release_date() self.check_conversion_rate() self.validate_credit_to_acc() self.clear_unallocated_advances("Purchase Invoice Advance", "advances") self.check_for_closed_status() self.validate_with_previous_doc() self.validate_uom_is_integer("uom", "qty") self.validate_uom_is_integer("stock_uom", "stock_qty") self.set_expense_account(for_validate=True) self.set_against_expense_account() self.validate_write_off_account() self.validate_multiple_billing("Purchase Receipt", "pr_detail", "amount", "items") self.validate_fixed_asset() self.create_remarks() self.set_status() validate_inter_company_party(self.doctype, self.supplier, self.company, self.inter_company_invoice_reference)