Merge branch 'develop' into order-by-weightage-for-web-items-develop
This commit is contained in:
commit
e6ce3bb7ff
@ -1318,9 +1318,9 @@ def get_reference_details(reference_doctype, reference_name, party_account_curre
|
|||||||
|
|
||||||
return frappe._dict({
|
return frappe._dict({
|
||||||
"due_date": ref_doc.get("due_date"),
|
"due_date": ref_doc.get("due_date"),
|
||||||
"total_amount": total_amount,
|
"total_amount": flt(total_amount),
|
||||||
"outstanding_amount": outstanding_amount,
|
"outstanding_amount": flt(outstanding_amount),
|
||||||
"exchange_rate": exchange_rate,
|
"exchange_rate": flt(exchange_rate),
|
||||||
"bill_no": bill_no
|
"bill_no": bill_no
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
erpnext.setup_einvoice_actions = (doctype) => {
|
erpnext.setup_einvoice_actions = (doctype) => {
|
||||||
frappe.ui.form.on(doctype, {
|
frappe.ui.form.on(doctype, {
|
||||||
async refresh(frm) {
|
async refresh(frm) {
|
||||||
|
if (frm.doc.docstatus == 2) return;
|
||||||
|
|
||||||
const res = await frappe.call({
|
const res = await frappe.call({
|
||||||
method: 'erpnext.regional.india.e_invoice.utils.validate_eligibility',
|
method: 'erpnext.regional.india.e_invoice.utils.validate_eligibility',
|
||||||
args: { doc: frm.doc }
|
args: { doc: frm.doc }
|
||||||
@ -111,7 +113,7 @@ erpnext.setup_einvoice_actions = (doctype) => {
|
|||||||
|
|
||||||
if (irn && ewaybill && !irn_cancelled && !eway_bill_cancelled) {
|
if (irn && ewaybill && !irn_cancelled && !eway_bill_cancelled) {
|
||||||
const action = () => {
|
const action = () => {
|
||||||
let message = __('Cancellation of e-way bill is currently not supported. ');
|
let message = __('Cancellation of e-way bill is currently not supported.') + ' ';
|
||||||
message += '<br><br>';
|
message += '<br><br>';
|
||||||
message += __('You must first use the portal to cancel the e-way bill and then update the cancelled status in the ERPNext system.');
|
message += __('You must first use the portal to cancel the e-way bill and then update the cancelled status in the ERPNext system.');
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,10 @@ def validate_eligibility(doc):
|
|||||||
invalid_company = not frappe.db.get_value('E Invoice User', { 'company': doc.get('company') })
|
invalid_company = not frappe.db.get_value('E Invoice User', { 'company': doc.get('company') })
|
||||||
invalid_supply_type = doc.get('gst_category') not in ['Registered Regular', 'SEZ', 'Overseas', 'Deemed Export']
|
invalid_supply_type = doc.get('gst_category') not in ['Registered Regular', 'SEZ', 'Overseas', 'Deemed Export']
|
||||||
company_transaction = doc.get('billing_address_gstin') == doc.get('company_gstin')
|
company_transaction = doc.get('billing_address_gstin') == doc.get('company_gstin')
|
||||||
no_taxes_applied = not doc.get('taxes')
|
|
||||||
|
# if export invoice, then taxes can be empty
|
||||||
|
# invoice can only be ineligible if no taxes applied and is not an export invoice
|
||||||
|
no_taxes_applied = not doc.get('taxes') and not doc.get('gst_category') == 'Overseas'
|
||||||
has_non_gst_item = any(d for d in doc.get('items', []) if d.get('is_non_gst'))
|
has_non_gst_item = any(d for d in doc.get('items', []) if d.get('is_non_gst'))
|
||||||
|
|
||||||
if invalid_company or invalid_supply_type or company_transaction or no_taxes_applied or has_non_gst_item:
|
if invalid_company or invalid_supply_type or company_transaction or no_taxes_applied or has_non_gst_item:
|
||||||
@ -188,9 +191,10 @@ def get_item_list(invoice):
|
|||||||
|
|
||||||
item.qty = abs(item.qty)
|
item.qty = abs(item.qty)
|
||||||
|
|
||||||
item.unit_rate = abs((abs(item.taxable_value) - item.discount_amount)/ item.qty)
|
item.unit_rate = abs(item.taxable_value / item.qty)
|
||||||
item.gross_amount = abs(item.taxable_value) + item.discount_amount
|
item.gross_amount = abs(item.taxable_value)
|
||||||
item.taxable_value = abs(item.taxable_value)
|
item.taxable_value = abs(item.taxable_value)
|
||||||
|
item.discount_amount = 0
|
||||||
|
|
||||||
item.batch_expiry_date = frappe.db.get_value('Batch', d.batch_no, 'expiry_date') if d.batch_no else None
|
item.batch_expiry_date = frappe.db.get_value('Batch', d.batch_no, 'expiry_date') if d.batch_no else None
|
||||||
item.batch_expiry_date = format_date(item.batch_expiry_date, 'dd/mm/yyyy') if item.batch_expiry_date else None
|
item.batch_expiry_date = format_date(item.batch_expiry_date, 'dd/mm/yyyy') if item.batch_expiry_date else None
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user