chore: Add payment entry
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 275c93d..beefb1d 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -78,7 +78,7 @@
"customer",
"supplier",
]
-demo_transaction_doctypes = ["purchase_invoice", "sales_invoice"]
+demo_transaction_doctypes = ["purchase_invoice", "sales_invoice", "payment_entry"]
jinja = {
"methods": [
diff --git a/erpnext/setup/demo.py b/erpnext/setup/demo.py
index 6947f45..46500da 100644
--- a/erpnext/setup/demo.py
+++ b/erpnext/setup/demo.py
@@ -9,6 +9,7 @@
from frappe.utils import add_days
import erpnext
+from erpnext.setup.setup_wizard.operations.install_fixtures import create_bank_account
@frappe.whitelist()
@@ -45,6 +46,9 @@
frappe.db.set_single_value("Global Defaults", "demo_company", new_company.name)
frappe.db.set_default("company", new_company.name)
+ bank_account = create_bank_account({"company_name": new_company.name})
+ frappe.db.set_value("Company", new_company.name, "default_bank_account", bank_account.name)
+
return new_company.name
@@ -63,6 +67,7 @@
def make_transactions(company):
fiscal_year = frappe.db.get_single_value("Global Defaults", "current_fiscal_year")
start_date = frappe.db.get_value("Fiscal Year", fiscal_year, "year_start_date")
+ frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
for doctype in frappe.get_hooks("demo_transaction_doctypes"):
data = read_data_file_using_hooks(doctype)
@@ -72,11 +77,21 @@
def create_transaction(doctype, company, start_date):
+ warehouse = get_warehouse(company)
+ posting_date = (
+ start_date if doctype.get("doctype") == "Purchase Invoice" else get_random_date(start_date)
+ )
+ bank_account = frappe.db.get_value("Company", company, "default_bank_account")
+ bank_field = "paid_to" if doctype.get("party_type") == "Customer" else "paid_from"
+
doctype.update(
{
"company": company,
"set_posting_time": 1,
- "posting_date": get_random_date(start_date),
+ "posting_date": posting_date,
+ "set_warehouse": warehouse,
+ bank_field: bank_account,
+ "reference_date": posting_date,
}
)
@@ -84,7 +99,7 @@
"Company", company, ["default_income_account", "default_expense_account"]
)
- for item in doctype.get("items"):
+ for item in doctype.get("items") or []:
item.update(
{
"cost_center": erpnext.get_default_cost_center(company),
@@ -125,6 +140,7 @@
def delete_company(company):
+ frappe.db.set_single_value("Global Defaults", "demo_company", "")
frappe.delete_doc("Company", company, ignore_permissions=True)
@@ -134,3 +150,10 @@
data = f.read()
return data
+
+
+def get_warehouse(company):
+ abbr = frappe.db.get_value("Company", company, "abbr")
+ warehouse = "Stores - {0}".format(abbr)
+
+ return warehouse
diff --git a/erpnext/setup/demo_data/payment_entry.json b/erpnext/setup/demo_data/payment_entry.json
index e69de29..7d8d7d5 100644
--- a/erpnext/setup/demo_data/payment_entry.json
+++ b/erpnext/setup/demo_data/payment_entry.json
@@ -0,0 +1,12 @@
+[
+ {
+ "doctype": "Payment Entry",
+ "party_type": "Customer",
+ "party": "ABC Enterprises",
+ "paid_amount": 67000,
+ "received_amount": 67000,
+ "reference_no": "#ref0001",
+ "source_exchange_rate": 1,
+ "target_exchange_rate": 1
+ }
+]
\ No newline at end of file
diff --git a/erpnext/setup/demo_data/purchase_invoice.json b/erpnext/setup/demo_data/purchase_invoice.json
index 725f571..eda26b0 100644
--- a/erpnext/setup/demo_data/purchase_invoice.json
+++ b/erpnext/setup/demo_data/purchase_invoice.json
@@ -3,6 +3,7 @@
"conversion_rate": 1.0,
"supplier": "DQ Industries",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -18,6 +19,7 @@
"conversion_rate": 1.0,
"supplier": "MA Inc.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -33,6 +35,7 @@
"conversion_rate": 1.0,
"supplier": "KC Corp.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -48,6 +51,7 @@
"conversion_rate": 1.0,
"supplier": "DQ Industries",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -63,6 +67,7 @@
"conversion_rate": 1.0,
"supplier": "MA Inc.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -78,6 +83,7 @@
"conversion_rate": 1.0,
"supplier": "KC Corp.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -93,6 +99,7 @@
"conversion_rate": 1.0,
"supplier": "DQ Industries",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -108,6 +115,7 @@
"conversion_rate": 1.0,
"supplier": "MA Inc.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -123,6 +131,7 @@
"conversion_rate": 1.0,
"supplier": "KC Corp.",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
@@ -138,6 +147,7 @@
"conversion_rate": 1.0,
"supplier": "DQ Industries",
"doctype": "Purchase Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Purchase Invoice Item",
diff --git a/erpnext/setup/demo_data/sales_invoice.json b/erpnext/setup/demo_data/sales_invoice.json
index 6aaffc2..6bbfcbe 100644
--- a/erpnext/setup/demo_data/sales_invoice.json
+++ b/erpnext/setup/demo_data/sales_invoice.json
@@ -3,6 +3,7 @@
"conversion_rate": 1.0,
"customer": "ABC Enterprises",
"doctype": "Sales Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Sales Invoice Item",
@@ -18,6 +19,7 @@
"conversion_rate": 1.0,
"customer": "XYZ Corporation",
"doctype": "Sales Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Sales Invoice Item",
@@ -41,6 +43,7 @@
"conversion_rate": 1.0,
"customer": "XYZ Corporation",
"doctype": "Sales Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Sales Invoice Item",
@@ -72,6 +75,7 @@
"conversion_rate": 1.0,
"customer": "KJPR Pvt. Ltd.",
"doctype": "Sales Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Sales Invoice Item",
@@ -87,6 +91,7 @@
"conversion_rate": 1.0,
"customer": "ABC Enterprises",
"doctype": "Sales Invoice",
+ "update_stock": 1,
"items": [
{
"doctype": "Sales Invoice Item",