mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-02 03:39:11 +00:00
Merge branch 'version-13-hotfix' of https://github.com/frappe/erpnext into gstr_1_cdnr_unregistered_json
This commit is contained in:
@@ -431,9 +431,11 @@ def get_ewb_data(dt, dn):
|
||||
company_address = frappe.get_doc('Address', doc.company_address)
|
||||
billing_address = frappe.get_doc('Address', doc.customer_address)
|
||||
|
||||
#added dispatch address
|
||||
dispatch_address = frappe.get_doc('Address', doc.dispatch_address_name) if doc.dispatch_address_name else company_address
|
||||
shipping_address = frappe.get_doc('Address', doc.shipping_address_name)
|
||||
|
||||
data = get_address_details(data, doc, company_address, billing_address)
|
||||
data = get_address_details(data, doc, company_address, billing_address, dispatch_address)
|
||||
|
||||
data.itemList = []
|
||||
data.totalValue = doc.total
|
||||
@@ -473,7 +475,7 @@ def get_ewb_data(dt, dn):
|
||||
ewaybills.append(data)
|
||||
|
||||
data = {
|
||||
'version': '1.0.1118',
|
||||
'version': '1.0.0421',
|
||||
'billLists': ewaybills
|
||||
}
|
||||
|
||||
@@ -519,10 +521,10 @@ def get_gstins_for_company(company):
|
||||
`tabDynamic Link`.link_name = %(company)s""", {"company": company})
|
||||
return company_gstins
|
||||
|
||||
def get_address_details(data, doc, company_address, billing_address):
|
||||
def get_address_details(data, doc, company_address, billing_address, dispatch_address):
|
||||
data.fromPincode = validate_pincode(company_address.pincode, 'Company Address')
|
||||
data.fromStateCode = data.actualFromStateCode = validate_state_code(
|
||||
company_address.gst_state_number, 'Company Address')
|
||||
data.fromStateCode = validate_state_code(company_address.gst_state_number, 'Company Address')
|
||||
data.actualFromStateCode = validate_state_code(dispatch_address.gst_state_number, 'Dispatch Address')
|
||||
|
||||
if not doc.billing_address_gstin or len(doc.billing_address_gstin) < 15:
|
||||
data.toGstin = 'URP'
|
||||
@@ -843,14 +845,22 @@ def get_depreciation_amount(asset, depreciable_value, row):
|
||||
depreciation_left = flt(row.total_number_of_depreciations) - flt(asset.number_of_depreciations_booked)
|
||||
|
||||
if row.depreciation_method in ("Straight Line", "Manual"):
|
||||
depreciation_amount = (flt(row.value_after_depreciation) -
|
||||
flt(row.expected_value_after_useful_life)) / depreciation_left
|
||||
# if the Depreciation Schedule is being prepared for the first time
|
||||
if not asset.flags.increase_in_asset_life:
|
||||
depreciation_amount = (flt(row.value_after_depreciation) -
|
||||
flt(row.expected_value_after_useful_life)) / depreciation_left
|
||||
|
||||
# if the Depreciation Schedule is being modified after Asset Repair
|
||||
else:
|
||||
depreciation_amount = (flt(row.value_after_depreciation) -
|
||||
flt(row.expected_value_after_useful_life)) / (date_diff(asset.to_date, asset.available_for_use_date) / 365)
|
||||
|
||||
else:
|
||||
rate_of_depreciation = row.rate_of_depreciation
|
||||
# if its the first depreciation
|
||||
if depreciable_value == asset.gross_purchase_amount:
|
||||
# as per IT act, if the asset is purchased in the 2nd half of fiscal year, then rate is divided by 2
|
||||
diff = date_diff(asset.available_for_use_date, row.depreciation_start_date)
|
||||
diff = date_diff(row.depreciation_start_date, asset.available_for_use_date)
|
||||
if diff <= 180:
|
||||
rate_of_depreciation = rate_of_depreciation / 2
|
||||
frappe.msgprint(
|
||||
@@ -858,4 +868,32 @@ def get_depreciation_amount(asset, depreciable_value, row):
|
||||
|
||||
depreciation_amount = flt(depreciable_value * (flt(rate_of_depreciation) / 100))
|
||||
|
||||
return depreciation_amount
|
||||
return depreciation_amount
|
||||
|
||||
def set_item_tax_from_hsn_code(item):
|
||||
if not item.taxes and item.gst_hsn_code:
|
||||
hsn_doc = frappe.get_doc("GST HSN Code", item.gst_hsn_code)
|
||||
|
||||
for tax in hsn_doc.taxes:
|
||||
item.append('taxes', {
|
||||
'item_tax_template': tax.item_tax_template,
|
||||
'tax_category': tax.tax_category,
|
||||
'valid_from': tax.valid_from
|
||||
})
|
||||
|
||||
def delete_gst_settings_for_company(doc, method):
|
||||
if doc.country != 'India':
|
||||
return
|
||||
|
||||
gst_settings = frappe.get_doc("GST Settings")
|
||||
records_to_delete = []
|
||||
|
||||
for d in reversed(gst_settings.get('gst_accounts')):
|
||||
if d.company == doc.name:
|
||||
records_to_delete.append(d)
|
||||
|
||||
for d in records_to_delete:
|
||||
gst_settings.remove(d)
|
||||
|
||||
gst_settings.save()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user