refactor: checkbox to toggle always standalone credit note

(cherry picked from commit 2cefe2a20e)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.py
This commit is contained in:
ruthra kumar
2024-03-11 14:02:05 +05:30
committed by Mergify
parent cd40038b18
commit 4d6b56e55b
2 changed files with 204 additions and 1 deletions

View File

@@ -25,6 +25,7 @@
"is_consolidated",
"is_return",
"return_against",
"update_outstanding_for_self",
"update_billed_amount_in_sales_order",
"update_billed_amount_in_delivery_note",
"is_debit_note",
@@ -2161,6 +2162,14 @@
"fieldtype": "Check",
"label": "Don't Create Loyalty Points",
"no_copy": 1
},
{
"default": "1",
"depends_on": "eval: doc.is_return && doc.return_against",
"description": "Credit Note will update it's own outstanding amount, even if \"Return Against\" is specified.",
"fieldname": "update_outstanding_for_self",
"fieldtype": "Check",
"label": "Update Outstanding for Self"
}
],
"icon": "fa fa-file-text",
@@ -2173,7 +2182,11 @@
"link_fieldname": "consolidated_invoice"
}
],
<<<<<<< HEAD
"modified": "2024-01-02 17:25:46.027523",
=======
"modified": "2024-03-11 14:20:34.874192",
>>>>>>> 2cefe2a20e (refactor: checkbox to toggle always standalone credit note)
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",

View File

@@ -49,6 +49,194 @@ form_grid_templates = {"items": "templates/form_grid/item_grid.html"}
class SalesInvoice(SellingController):
<<<<<<< HEAD
=======
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
from erpnext.accounts.doctype.payment_schedule.payment_schedule import PaymentSchedule
from erpnext.accounts.doctype.pricing_rule_detail.pricing_rule_detail import PricingRuleDetail
from erpnext.accounts.doctype.sales_invoice_advance.sales_invoice_advance import (
SalesInvoiceAdvance,
)
from erpnext.accounts.doctype.sales_invoice_item.sales_invoice_item import SalesInvoiceItem
from erpnext.accounts.doctype.sales_invoice_payment.sales_invoice_payment import (
SalesInvoicePayment,
)
from erpnext.accounts.doctype.sales_invoice_timesheet.sales_invoice_timesheet import (
SalesInvoiceTimesheet,
)
from erpnext.accounts.doctype.sales_taxes_and_charges.sales_taxes_and_charges import (
SalesTaxesandCharges,
)
from erpnext.selling.doctype.sales_team.sales_team import SalesTeam
from erpnext.stock.doctype.packed_item.packed_item import PackedItem
account_for_change_amount: DF.Link | None
additional_discount_account: DF.Link | None
additional_discount_percentage: DF.Float
address_display: DF.SmallText | None
advances: DF.Table[SalesInvoiceAdvance]
against_income_account: DF.SmallText | None
allocate_advances_automatically: DF.Check
amended_from: DF.Link | None
amount_eligible_for_commission: DF.Currency
apply_discount_on: DF.Literal["", "Grand Total", "Net Total"]
auto_repeat: DF.Link | None
base_change_amount: DF.Currency
base_discount_amount: DF.Currency
base_grand_total: DF.Currency
base_in_words: DF.SmallText | None
base_net_total: DF.Currency
base_paid_amount: DF.Currency
base_rounded_total: DF.Currency
base_rounding_adjustment: DF.Currency
base_total: DF.Currency
base_total_taxes_and_charges: DF.Currency
base_write_off_amount: DF.Currency
campaign: DF.Link | None
cash_bank_account: DF.Link | None
change_amount: DF.Currency
commission_rate: DF.Float
company: DF.Link
company_address: DF.Link | None
company_address_display: DF.SmallText | None
company_tax_id: DF.Data | None
contact_display: DF.SmallText | None
contact_email: DF.Data | None
contact_mobile: DF.SmallText | None
contact_person: DF.Link | None
conversion_rate: DF.Float
cost_center: DF.Link | None
currency: DF.Link
customer: DF.Link | None
customer_address: DF.Link | None
customer_group: DF.Link | None
customer_name: DF.SmallText | None
debit_to: DF.Link
disable_rounded_total: DF.Check
discount_amount: DF.Currency
dispatch_address: DF.SmallText | None
dispatch_address_name: DF.Link | None
dont_create_loyalty_points: DF.Check
due_date: DF.Date | None
from_date: DF.Date | None
grand_total: DF.Currency
group_same_items: DF.Check
ignore_default_payment_terms_template: DF.Check
ignore_pricing_rule: DF.Check
in_words: DF.SmallText | None
incoterm: DF.Link | None
inter_company_invoice_reference: DF.Link | None
is_cash_or_non_trade_discount: DF.Check
is_consolidated: DF.Check
is_debit_note: DF.Check
is_discounted: DF.Check
is_internal_customer: DF.Check
is_opening: DF.Literal["No", "Yes"]
is_pos: DF.Check
is_return: DF.Check
items: DF.Table[SalesInvoiceItem]
language: DF.Data | None
letter_head: DF.Link | None
loyalty_amount: DF.Currency
loyalty_points: DF.Int
loyalty_program: DF.Link | None
loyalty_redemption_account: DF.Link | None
loyalty_redemption_cost_center: DF.Link | None
named_place: DF.Data | None
naming_series: DF.Literal["ACC-SINV-.YYYY.-", "ACC-SINV-RET-.YYYY.-"]
net_total: DF.Currency
only_include_allocated_payments: DF.Check
other_charges_calculation: DF.LongText | None
outstanding_amount: DF.Currency
packed_items: DF.Table[PackedItem]
paid_amount: DF.Currency
party_account_currency: DF.Link | None
payment_schedule: DF.Table[PaymentSchedule]
payment_terms_template: DF.Link | None
payments: DF.Table[SalesInvoicePayment]
plc_conversion_rate: DF.Float
po_date: DF.Date | None
po_no: DF.Data | None
pos_profile: DF.Link | None
posting_date: DF.Date
posting_time: DF.Time | None
price_list_currency: DF.Link
pricing_rules: DF.Table[PricingRuleDetail]
project: DF.Link | None
redeem_loyalty_points: DF.Check
remarks: DF.SmallText | None
repost_required: DF.Check
represents_company: DF.Link | None
return_against: DF.Link | None
rounded_total: DF.Currency
rounding_adjustment: DF.Currency
sales_partner: DF.Link | None
sales_team: DF.Table[SalesTeam]
scan_barcode: DF.Data | None
select_print_heading: DF.Link | None
selling_price_list: DF.Link
set_posting_time: DF.Check
set_target_warehouse: DF.Link | None
set_warehouse: DF.Link | None
shipping_address: DF.SmallText | None
shipping_address_name: DF.Link | None
shipping_rule: DF.Link | None
source: DF.Link | None
status: DF.Literal[
"",
"Draft",
"Return",
"Credit Note Issued",
"Submitted",
"Paid",
"Partly Paid",
"Unpaid",
"Unpaid and Discounted",
"Partly Paid and Discounted",
"Overdue and Discounted",
"Overdue",
"Cancelled",
"Internal Transfer",
]
subscription: DF.Link | None
tax_category: DF.Link | None
tax_id: DF.Data | None
taxes: DF.Table[SalesTaxesandCharges]
taxes_and_charges: DF.Link | None
tc_name: DF.Link | None
terms: DF.TextEditor | None
territory: DF.Link | None
timesheets: DF.Table[SalesInvoiceTimesheet]
title: DF.Data | None
to_date: DF.Date | None
total: DF.Currency
total_advance: DF.Currency
total_billing_amount: DF.Currency
total_billing_hours: DF.Float
total_commission: DF.Currency
total_net_weight: DF.Float
total_qty: DF.Float
total_taxes_and_charges: DF.Currency
unrealized_profit_loss_account: DF.Link | None
update_billed_amount_in_delivery_note: DF.Check
update_billed_amount_in_sales_order: DF.Check
update_outstanding_for_self: DF.Check
update_stock: DF.Check
use_company_roundoff_cost_center: DF.Check
write_off_account: DF.Link | None
write_off_amount: DF.Currency
write_off_cost_center: DF.Link | None
write_off_outstanding_amount_automatically: DF.Check
# end: auto-generated types
>>>>>>> 2cefe2a20e (refactor: checkbox to toggle always standalone credit note)
def __init__(self, *args, **kwargs):
super(SalesInvoice, self).__init__(*args, **kwargs)
self.status_updater = [
@@ -1072,7 +1260,9 @@ class SalesInvoice(SellingController):
"debit_in_account_currency": base_grand_total
if self.party_account_currency == self.company_currency
else grand_total,
"against_voucher": self.name,
"against_voucher": self.name
if self.is_return and self.return_against and self.update_outstanding_for_self
else self.return_against,
"against_voucher_type": self.doctype,
"cost_center": self.cost_center,
"project": self.project,