mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-25 16:04:46 +00:00
chore: resolve conflicts
This commit is contained in:
@@ -32,79 +32,6 @@ class StockAccountInvalidTransaction(frappe.ValidationError):
|
|||||||
|
|
||||||
|
|
||||||
class JournalEntry(AccountsController):
|
class JournalEntry(AccountsController):
|
||||||
<<<<<<< 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.journal_entry_account.journal_entry_account import JournalEntryAccount
|
|
||||||
|
|
||||||
accounts: DF.Table[JournalEntryAccount]
|
|
||||||
amended_from: DF.Link | None
|
|
||||||
apply_tds: DF.Check
|
|
||||||
auto_repeat: DF.Link | None
|
|
||||||
bill_date: DF.Date | None
|
|
||||||
bill_no: DF.Data | None
|
|
||||||
cheque_date: DF.Date | None
|
|
||||||
cheque_no: DF.Data | None
|
|
||||||
clearance_date: DF.Date | None
|
|
||||||
company: DF.Link
|
|
||||||
difference: DF.Currency
|
|
||||||
due_date: DF.Date | None
|
|
||||||
finance_book: DF.Link | None
|
|
||||||
from_template: DF.Link | None
|
|
||||||
inter_company_journal_entry_reference: DF.Link | None
|
|
||||||
is_opening: DF.Literal["No", "Yes"]
|
|
||||||
is_system_generated: DF.Check
|
|
||||||
letter_head: DF.Link | None
|
|
||||||
mode_of_payment: DF.Link | None
|
|
||||||
multi_currency: DF.Check
|
|
||||||
naming_series: DF.Literal["ACC-JV-.YYYY.-"]
|
|
||||||
paid_loan: DF.Data | None
|
|
||||||
pay_to_recd_from: DF.Data | None
|
|
||||||
payment_order: DF.Link | None
|
|
||||||
posting_date: DF.Date
|
|
||||||
process_deferred_accounting: DF.Link | None
|
|
||||||
remark: DF.SmallText | None
|
|
||||||
reversal_of: DF.Link | None
|
|
||||||
select_print_heading: DF.Link | None
|
|
||||||
stock_entry: DF.Link | None
|
|
||||||
tax_withholding_category: DF.Link | None
|
|
||||||
title: DF.Data | None
|
|
||||||
total_amount: DF.Currency
|
|
||||||
total_amount_currency: DF.Link | None
|
|
||||||
total_amount_in_words: DF.Data | None
|
|
||||||
total_credit: DF.Currency
|
|
||||||
total_debit: DF.Currency
|
|
||||||
user_remark: DF.SmallText | None
|
|
||||||
voucher_type: DF.Literal[
|
|
||||||
"Journal Entry",
|
|
||||||
"Inter Company Journal Entry",
|
|
||||||
"Bank Entry",
|
|
||||||
"Cash Entry",
|
|
||||||
"Credit Card Entry",
|
|
||||||
"Debit Note",
|
|
||||||
"Credit Note",
|
|
||||||
"Contra Entry",
|
|
||||||
"Excise Entry",
|
|
||||||
"Write Off Entry",
|
|
||||||
"Opening Entry",
|
|
||||||
"Depreciation Entry",
|
|
||||||
"Exchange Rate Revaluation",
|
|
||||||
"Exchange Gain Or Loss",
|
|
||||||
"Deferred Revenue",
|
|
||||||
"Deferred Expense",
|
|
||||||
]
|
|
||||||
write_off_amount: DF.Currency
|
|
||||||
write_off_based_on: DF.Literal["Accounts Receivable", "Accounts Payable"]
|
|
||||||
# end: auto-generated types
|
|
||||||
|
|
||||||
>>>>>>> e81373bb6a (chore: remove 'repost_required' from Journal Entry)
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
@@ -172,16 +99,6 @@ class JournalEntry(AccountsController):
|
|||||||
self.update_asset_value()
|
self.update_asset_value()
|
||||||
self.update_inter_company_jv()
|
self.update_inter_company_jv()
|
||||||
self.update_invoice_discounting()
|
self.update_invoice_discounting()
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
self.update_booked_depreciation()
|
|
||||||
|
|
||||||
def on_update_after_submit(self):
|
|
||||||
self.needs_repost = self.check_if_fields_updated(fields_to_check=[], child_tables={"accounts": []})
|
|
||||||
if self.needs_repost:
|
|
||||||
self.validate_for_repost()
|
|
||||||
self.repost_accounting_entries()
|
|
||||||
>>>>>>> 07fc952a43 (refactor: remove attribute check on 'repost_required')
|
|
||||||
|
|
||||||
def on_cancel(self):
|
def on_cancel(self):
|
||||||
# References for this Journal are removed on the `on_cancel` event in accounts_controller
|
# References for this Journal are removed on the `on_cancel` event in accounts_controller
|
||||||
|
|||||||
@@ -59,32 +59,8 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
|
|||||||
this.show_stock_ledger();
|
this.show_stock_ledger();
|
||||||
}
|
}
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
if (this.frm.doc.repost_required && this.frm.doc.docstatus===1) {
|
|
||||||
this.frm.set_intro(__("Accounting entries for this invoice need to be reposted. Please click on 'Repost' button to update."));
|
|
||||||
this.frm.add_custom_button(__('Repost Accounting Entries'),
|
|
||||||
() => {
|
|
||||||
this.frm.call({
|
|
||||||
doc: this.frm.doc,
|
|
||||||
method: 'repost_accounting_entries',
|
|
||||||
freeze: true,
|
|
||||||
freeze_message: __('Reposting...'),
|
|
||||||
callback: (r) => {
|
|
||||||
if (!r.exc) {
|
|
||||||
frappe.msgprint(__('Accounting Entries are reposted.'));
|
|
||||||
me.frm.refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}).removeClass('btn-default').addClass('btn-warning');
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!doc.is_return && doc.docstatus == 1 && doc.outstanding_amount != 0){
|
if(!doc.is_return && doc.docstatus == 1 && doc.outstanding_amount != 0){
|
||||||
if(doc.on_hold) {
|
if(doc.on_hold) {
|
||||||
=======
|
|
||||||
if (!doc.is_return && doc.docstatus == 1 && doc.outstanding_amount != 0) {
|
|
||||||
if (doc.on_hold) {
|
|
||||||
>>>>>>> fe46e1d089 (chore: remove stale UI code related to repost)
|
|
||||||
this.frm.add_custom_button(
|
this.frm.add_custom_button(
|
||||||
__('Change Release Date'),
|
__('Change Release Date'),
|
||||||
function() {me.change_release_date()},
|
function() {me.change_release_date()},
|
||||||
|
|||||||
@@ -54,176 +54,6 @@ form_grid_templates = {"items": "templates/form_grid/item_grid.html"}
|
|||||||
|
|
||||||
|
|
||||||
class PurchaseInvoice(BuyingController):
|
class PurchaseInvoice(BuyingController):
|
||||||
<<<<<<< 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.advance_tax.advance_tax import AdvanceTax
|
|
||||||
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.purchase_invoice_advance.purchase_invoice_advance import (
|
|
||||||
PurchaseInvoiceAdvance,
|
|
||||||
)
|
|
||||||
from erpnext.accounts.doctype.purchase_invoice_item.purchase_invoice_item import PurchaseInvoiceItem
|
|
||||||
from erpnext.accounts.doctype.purchase_taxes_and_charges.purchase_taxes_and_charges import (
|
|
||||||
PurchaseTaxesandCharges,
|
|
||||||
)
|
|
||||||
from erpnext.accounts.doctype.tax_withheld_vouchers.tax_withheld_vouchers import TaxWithheldVouchers
|
|
||||||
from erpnext.buying.doctype.purchase_receipt_item_supplied.purchase_receipt_item_supplied import (
|
|
||||||
PurchaseReceiptItemSupplied,
|
|
||||||
)
|
|
||||||
|
|
||||||
additional_discount_percentage: DF.Float
|
|
||||||
address_display: DF.TextEditor | None
|
|
||||||
advance_tax: DF.Table[AdvanceTax]
|
|
||||||
advances: DF.Table[PurchaseInvoiceAdvance]
|
|
||||||
against_expense_account: DF.SmallText | None
|
|
||||||
allocate_advances_automatically: DF.Check
|
|
||||||
amended_from: DF.Link | None
|
|
||||||
apply_discount_on: DF.Literal["", "Grand Total", "Net Total"]
|
|
||||||
apply_tds: DF.Check
|
|
||||||
auto_repeat: DF.Link | None
|
|
||||||
base_discount_amount: DF.Currency
|
|
||||||
base_grand_total: DF.Currency
|
|
||||||
base_in_words: DF.Data | None
|
|
||||||
base_net_total: DF.Currency
|
|
||||||
base_paid_amount: DF.Currency
|
|
||||||
base_rounded_total: DF.Currency
|
|
||||||
base_rounding_adjustment: DF.Currency
|
|
||||||
base_tax_withholding_net_total: DF.Currency
|
|
||||||
base_taxes_and_charges_added: DF.Currency
|
|
||||||
base_taxes_and_charges_deducted: DF.Currency
|
|
||||||
base_total: DF.Currency
|
|
||||||
base_total_taxes_and_charges: DF.Currency
|
|
||||||
base_write_off_amount: DF.Currency
|
|
||||||
bill_date: DF.Date | None
|
|
||||||
bill_no: DF.Data | None
|
|
||||||
billing_address: DF.Link | None
|
|
||||||
billing_address_display: DF.TextEditor | None
|
|
||||||
buying_price_list: DF.Link | None
|
|
||||||
cash_bank_account: DF.Link | None
|
|
||||||
clearance_date: DF.Date | None
|
|
||||||
company: DF.Link | None
|
|
||||||
contact_display: DF.SmallText | None
|
|
||||||
contact_email: DF.SmallText | None
|
|
||||||
contact_mobile: DF.SmallText | None
|
|
||||||
contact_person: DF.Link | None
|
|
||||||
conversion_rate: DF.Float
|
|
||||||
cost_center: DF.Link | None
|
|
||||||
credit_to: DF.Link
|
|
||||||
currency: DF.Link | None
|
|
||||||
disable_rounded_total: DF.Check
|
|
||||||
discount_amount: DF.Currency
|
|
||||||
due_date: DF.Date | None
|
|
||||||
from_date: DF.Date | None
|
|
||||||
grand_total: DF.Currency
|
|
||||||
group_same_items: DF.Check
|
|
||||||
hold_comment: DF.SmallText | None
|
|
||||||
ignore_default_payment_terms_template: DF.Check
|
|
||||||
ignore_pricing_rule: DF.Check
|
|
||||||
in_words: DF.Data | None
|
|
||||||
incoterm: DF.Link | None
|
|
||||||
inter_company_invoice_reference: DF.Link | None
|
|
||||||
is_internal_supplier: DF.Check
|
|
||||||
is_old_subcontracting_flow: DF.Check
|
|
||||||
is_opening: DF.Literal["No", "Yes"]
|
|
||||||
is_paid: DF.Check
|
|
||||||
is_return: DF.Check
|
|
||||||
is_subcontracted: DF.Check
|
|
||||||
items: DF.Table[PurchaseInvoiceItem]
|
|
||||||
language: DF.Data | None
|
|
||||||
letter_head: DF.Link | None
|
|
||||||
mode_of_payment: DF.Link | None
|
|
||||||
named_place: DF.Data | None
|
|
||||||
naming_series: DF.Literal["ACC-PINV-.YYYY.-", "ACC-PINV-RET-.YYYY.-"]
|
|
||||||
net_total: DF.Currency
|
|
||||||
on_hold: DF.Check
|
|
||||||
only_include_allocated_payments: DF.Check
|
|
||||||
other_charges_calculation: DF.TextEditor | None
|
|
||||||
outstanding_amount: DF.Currency
|
|
||||||
paid_amount: DF.Currency
|
|
||||||
party_account_currency: DF.Link | None
|
|
||||||
payment_schedule: DF.Table[PaymentSchedule]
|
|
||||||
payment_terms_template: DF.Link | None
|
|
||||||
per_received: DF.Percent
|
|
||||||
plc_conversion_rate: DF.Float
|
|
||||||
posting_date: DF.Date
|
|
||||||
posting_time: DF.Time | None
|
|
||||||
price_list_currency: DF.Link | None
|
|
||||||
pricing_rules: DF.Table[PricingRuleDetail]
|
|
||||||
project: DF.Link | None
|
|
||||||
rejected_warehouse: DF.Link | None
|
|
||||||
release_date: DF.Date | None
|
|
||||||
remarks: DF.SmallText | None
|
|
||||||
represents_company: DF.Link | None
|
|
||||||
return_against: DF.Link | None
|
|
||||||
rounded_total: DF.Currency
|
|
||||||
rounding_adjustment: DF.Currency
|
|
||||||
scan_barcode: DF.Data | None
|
|
||||||
select_print_heading: DF.Link | None
|
|
||||||
set_from_warehouse: DF.Link | None
|
|
||||||
set_posting_time: DF.Check
|
|
||||||
set_warehouse: DF.Link | None
|
|
||||||
shipping_address: DF.Link | None
|
|
||||||
shipping_address_display: DF.TextEditor | None
|
|
||||||
shipping_rule: DF.Link | None
|
|
||||||
status: DF.Literal[
|
|
||||||
"",
|
|
||||||
"Draft",
|
|
||||||
"Return",
|
|
||||||
"Debit Note Issued",
|
|
||||||
"Submitted",
|
|
||||||
"Paid",
|
|
||||||
"Partly Paid",
|
|
||||||
"Unpaid",
|
|
||||||
"Overdue",
|
|
||||||
"Cancelled",
|
|
||||||
"Internal Transfer",
|
|
||||||
]
|
|
||||||
subscription: DF.Link | None
|
|
||||||
supplied_items: DF.Table[PurchaseReceiptItemSupplied]
|
|
||||||
supplier: DF.Link
|
|
||||||
supplier_address: DF.Link | None
|
|
||||||
supplier_group: DF.Link | None
|
|
||||||
supplier_name: DF.Data | None
|
|
||||||
supplier_warehouse: DF.Link | None
|
|
||||||
tax_category: DF.Link | None
|
|
||||||
tax_id: DF.ReadOnly | None
|
|
||||||
tax_withheld_vouchers: DF.Table[TaxWithheldVouchers]
|
|
||||||
tax_withholding_category: DF.Link | None
|
|
||||||
tax_withholding_net_total: DF.Currency
|
|
||||||
taxes: DF.Table[PurchaseTaxesandCharges]
|
|
||||||
taxes_and_charges: DF.Link | None
|
|
||||||
taxes_and_charges_added: DF.Currency
|
|
||||||
taxes_and_charges_deducted: DF.Currency
|
|
||||||
tc_name: DF.Link | None
|
|
||||||
terms: DF.TextEditor | None
|
|
||||||
title: DF.Data | None
|
|
||||||
to_date: DF.Date | None
|
|
||||||
total: DF.Currency
|
|
||||||
total_advance: 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_purchase_order: DF.Check
|
|
||||||
update_billed_amount_in_purchase_receipt: DF.Check
|
|
||||||
update_outstanding_for_self: DF.Check
|
|
||||||
update_stock: DF.Check
|
|
||||||
use_company_roundoff_cost_center: DF.Check
|
|
||||||
use_transaction_date_exchange_rate: DF.Check
|
|
||||||
write_off_account: DF.Link | None
|
|
||||||
write_off_amount: DF.Currency
|
|
||||||
write_off_cost_center: DF.Link | None
|
|
||||||
# end: auto-generated types
|
|
||||||
|
|
||||||
>>>>>>> a467888a67 (chore: remove 'repost_required' from purchase invoice)
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.status_updater = [
|
self.status_updater = [
|
||||||
@@ -760,20 +590,6 @@ class PurchaseInvoice(BuyingController):
|
|||||||
self.process_common_party_accounting()
|
self.process_common_party_accounting()
|
||||||
|
|
||||||
def on_update_after_submit(self):
|
def on_update_after_submit(self):
|
||||||
<<<<<<< HEAD
|
|
||||||
if hasattr(self, "repost_required"):
|
|
||||||
fields_to_check = [
|
|
||||||
"cash_bank_account",
|
|
||||||
"write_off_account",
|
|
||||||
"unrealized_profit_loss_account",
|
|
||||||
]
|
|
||||||
child_tables = {"items": ("expense_account",), "taxes": ("account_head",)}
|
|
||||||
self.needs_repost = self.check_if_fields_updated(fields_to_check, child_tables)
|
|
||||||
if self.needs_repost:
|
|
||||||
self.validate_for_repost()
|
|
||||||
self.db_set("repost_required", self.needs_repost)
|
|
||||||
self.repost_accounting_entries()
|
|
||||||
=======
|
|
||||||
fields_to_check = [
|
fields_to_check = [
|
||||||
"cash_bank_account",
|
"cash_bank_account",
|
||||||
"write_off_account",
|
"write_off_account",
|
||||||
@@ -785,7 +601,6 @@ class PurchaseInvoice(BuyingController):
|
|||||||
if self.needs_repost:
|
if self.needs_repost:
|
||||||
self.validate_for_repost()
|
self.validate_for_repost()
|
||||||
self.repost_accounting_entries()
|
self.repost_accounting_entries()
|
||||||
>>>>>>> 07fc952a43 (refactor: remove attribute check on 'repost_required')
|
|
||||||
|
|
||||||
def make_gl_entries(self, gl_entries=None, from_repost=False):
|
def make_gl_entries(self, gl_entries=None, from_repost=False):
|
||||||
update_outstanding = "No" if (cint(self.is_paid) or self.write_off_account) else "Yes"
|
update_outstanding = "No" if (cint(self.is_paid) or self.write_off_account) else "Yes"
|
||||||
|
|||||||
@@ -49,28 +49,6 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends e
|
|||||||
|
|
||||||
this.frm.toggle_reqd("due_date", !this.frm.doc.is_return);
|
this.frm.toggle_reqd("due_date", !this.frm.doc.is_return);
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
if (this.frm.doc.repost_required && this.frm.doc.docstatus===1) {
|
|
||||||
this.frm.set_intro(__("Accounting entries for this invoice needs to be reposted. Please click on 'Repost' button to update."));
|
|
||||||
this.frm.add_custom_button(__('Repost Accounting Entries'),
|
|
||||||
() => {
|
|
||||||
this.frm.call({
|
|
||||||
doc: this.frm.doc,
|
|
||||||
method: 'repost_accounting_entries',
|
|
||||||
freeze: true,
|
|
||||||
freeze_message: __('Reposting...'),
|
|
||||||
callback: (r) => {
|
|
||||||
if (!r.exc) {
|
|
||||||
frappe.msgprint(__('Accounting Entries are reposted'));
|
|
||||||
me.frm.refresh();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}).removeClass('btn-default').addClass('btn-warning');
|
|
||||||
}
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> f3fda9ce98 (chore: remove stale code from sales invoice)
|
|
||||||
if (this.frm.doc.is_return) {
|
if (this.frm.doc.is_return) {
|
||||||
this.frm.return_print_format = "Sales Invoice Return";
|
this.frm.return_print_format = "Sales Invoice Return";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,190 +49,6 @@ form_grid_templates = {"items": "templates/form_grid/item_grid.html"}
|
|||||||
|
|
||||||
|
|
||||||
class SalesInvoice(SellingController):
|
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.TextEditor | 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.TextEditor | 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
|
|
||||||
coupon_code: 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.TextEditor | 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.Link | 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.TextEditor | 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
|
|
||||||
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.TextEditor | 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
|
|
||||||
|
|
||||||
>>>>>>> 06c5334f2a (chore: remove stale 'repost_required' flag from sales invoice)
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.status_updater = [
|
self.status_updater = [
|
||||||
@@ -715,26 +531,6 @@ class SalesInvoice(SellingController):
|
|||||||
data.sales_invoice = sales_invoice
|
data.sales_invoice = sales_invoice
|
||||||
|
|
||||||
def on_update_after_submit(self):
|
def on_update_after_submit(self):
|
||||||
<<<<<<< HEAD
|
|
||||||
if hasattr(self, "repost_required"):
|
|
||||||
fields_to_check = [
|
|
||||||
"additional_discount_account",
|
|
||||||
"cash_bank_account",
|
|
||||||
"account_for_change_amount",
|
|
||||||
"write_off_account",
|
|
||||||
"loyalty_redemption_account",
|
|
||||||
"unrealized_profit_loss_account",
|
|
||||||
]
|
|
||||||
child_tables = {
|
|
||||||
"items": ("income_account", "expense_account", "discount_account"),
|
|
||||||
"taxes": ("account_head",),
|
|
||||||
}
|
|
||||||
self.needs_repost = self.check_if_fields_updated(fields_to_check, child_tables)
|
|
||||||
if self.needs_repost:
|
|
||||||
self.validate_for_repost()
|
|
||||||
self.db_set("repost_required", self.needs_repost)
|
|
||||||
self.repost_accounting_entries()
|
|
||||||
=======
|
|
||||||
fields_to_check = [
|
fields_to_check = [
|
||||||
"additional_discount_account",
|
"additional_discount_account",
|
||||||
"cash_bank_account",
|
"cash_bank_account",
|
||||||
@@ -752,7 +548,6 @@ class SalesInvoice(SellingController):
|
|||||||
if self.needs_repost:
|
if self.needs_repost:
|
||||||
self.validate_for_repost()
|
self.validate_for_repost()
|
||||||
self.repost_accounting_entries()
|
self.repost_accounting_entries()
|
||||||
>>>>>>> 07fc952a43 (refactor: remove attribute check on 'repost_required')
|
|
||||||
|
|
||||||
def set_paid_amount(self):
|
def set_paid_amount(self):
|
||||||
paid_amount = 0.0
|
paid_amount = 0.0
|
||||||
|
|||||||
Reference in New Issue
Block a user