fix(regional): imporvements to e-Way Bill JSON generation

- Set pincode correctly in 'Bill To - Ship To' scenario
- Python 2 compatibility (convert to int after rounding)
- Avoid execeeding max character limit in tax amounts by rounding the same to two digits
This commit is contained in:
Sagar Vora
2019-05-06 11:32:37 +05:30
parent 8fcad571f5
commit 5fb78a375d

View File

@@ -387,6 +387,7 @@ def get_address_details(data, doc, company_address, billing_address):
data.transType = 2
shipping_address = frappe.get_doc('Address', doc.shipping_address_name)
set_gst_state_and_state_number(shipping_address)
data.toPincode = validate_pincode(shipping_address.pincode, 'Shipping Address')
data.actualToStateCode = validate_state_code(shipping_address.gst_state_number, 'Shipping Address')
else:
data.transType = 1
@@ -430,6 +431,10 @@ def get_item_list(data, doc):
data.itemList.append(item_data)
# Tax amounts rounded to 2 decimals to avoid exceeding max character limit
for attr in ['sgstValue', 'cgstValue', 'igstValue', 'cessValue']:
data[attr] = flt(data[attr], 2)
return data
def validate_sales_invoice(doc):
@@ -458,7 +463,7 @@ def get_transport_details(data, doc):
if doc.distance > 4000:
frappe.throw(_('Distance cannot be greater than 4000 kms'))
data.transDistance = round(doc.distance)
data.transDistance = int(round(doc.distance))
transport_modes = {
'Road': 1,