feat(e-invoicing): e-way bill validity field (#25555)
This commit is contained in:
parent
8a1f86db16
commit
d502f76319
@ -774,5 +774,6 @@ erpnext.patches.v12_0.add_document_type_field_for_italy_einvoicing
|
||||
erpnext.patches.v13_0.make_non_standard_user_type #13-04-2021
|
||||
erpnext.patches.v13_0.update_shipment_status
|
||||
erpnext.patches.v13_0.remove_attribute_field_from_item_variant_setting
|
||||
erpnext.patches.v12_0.add_ewaybill_validity_field
|
||||
erpnext.patches.v13_0.germany_make_custom_fields
|
||||
erpnext.patches.v13_0.germany_fill_debtor_creditor_number
|
||||
|
16
erpnext/patches/v12_0/add_ewaybill_validity_field.py
Normal file
16
erpnext/patches/v12_0/add_ewaybill_validity_field.py
Normal file
@ -0,0 +1,16 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
|
||||
|
||||
def execute():
|
||||
company = frappe.get_all('Company', filters = {'country': 'India'})
|
||||
if not company:
|
||||
return
|
||||
|
||||
custom_fields = {
|
||||
'Sales Invoice': [
|
||||
dict(fieldname='eway_bill_validity', label='E-Way Bill Validity', fieldtype='Data', no_copy=1, print_hide=1,
|
||||
depends_on='ewaybill', read_only=1, allow_on_submit=1, insert_after='ewaybill')
|
||||
]
|
||||
}
|
||||
create_custom_fields(custom_fields, update=True)
|
@ -71,13 +71,14 @@ def validate_einvoice_fields(doc):
|
||||
|
||||
def raise_document_name_too_long_error():
|
||||
title = _('Document ID Too Long')
|
||||
msg = _('As you have E-Invoicing enabled, to be able to generate IRN for this invoice, ')
|
||||
msg += _('document id {} exceed 16 letters. ').format(bold(_('should not')))
|
||||
msg = _('As you have E-Invoicing enabled, to be able to generate IRN for this invoice')
|
||||
msg += ', '
|
||||
msg += _('document id {} exceed 16 letters.').format(bold(_('should not')))
|
||||
msg += '<br><br>'
|
||||
msg += _('You must {} your {} in order to have document id of {} length 16. ').format(
|
||||
msg += _('You must {} your {} in order to have document id of {} length 16.').format(
|
||||
bold(_('modify')), bold(_('naming series')), bold(_('maximum'))
|
||||
)
|
||||
msg += _('Please account for ammended documents too. ')
|
||||
msg += _('Please account for ammended documents too.')
|
||||
frappe.throw(msg, title=title)
|
||||
|
||||
def read_json(name):
|
||||
@ -847,6 +848,7 @@ class GSPConnector():
|
||||
res = self.make_request('post', self.generate_ewaybill_url, headers, data)
|
||||
if res.get('success'):
|
||||
self.invoice.ewaybill = res.get('result').get('EwbNo')
|
||||
self.invoice.eway_bill_validity = res.get('result').get('EwbValidTill')
|
||||
self.invoice.eway_bill_cancelled = 0
|
||||
self.invoice.update(args)
|
||||
self.invoice.flags.updater_reference = {
|
||||
@ -944,6 +946,7 @@ class GSPConnector():
|
||||
|
||||
self.invoice.irn = res.get('Irn')
|
||||
self.invoice.ewaybill = res.get('EwbNo')
|
||||
self.invoice.eway_bill_validity = res.get('EwbValidTill')
|
||||
self.invoice.ack_no = res.get('AckNo')
|
||||
self.invoice.ack_date = res.get('AckDt')
|
||||
self.invoice.signed_einvoice = dec_signed_invoice
|
||||
@ -960,6 +963,7 @@ class GSPConnector():
|
||||
'label': _('IRN Generated')
|
||||
}
|
||||
self.update_invoice()
|
||||
|
||||
def attach_qrcode_image(self):
|
||||
qrcode = self.invoice.signed_qr_code
|
||||
doctype = self.invoice.doctype
|
||||
|
@ -422,6 +422,9 @@ def make_custom_fields(update=True):
|
||||
dict(fieldname='irn_cancelled', label='IRN Cancelled', fieldtype='Check', no_copy=1, print_hide=1,
|
||||
depends_on='eval:(doc.irn_cancelled === 1)', read_only=1, allow_on_submit=1, insert_after='customer'),
|
||||
|
||||
dict(fieldname='eway_bill_validity', label='E-Way Bill Validity', fieldtype='Data', no_copy=1, print_hide=1,
|
||||
depends_on='ewaybill', read_only=1, allow_on_submit=1, insert_after='ewaybill'),
|
||||
|
||||
dict(fieldname='eway_bill_cancelled', label='E-Way Bill Cancelled', fieldtype='Check', no_copy=1, print_hide=1,
|
||||
depends_on='eval:(doc.eway_bill_cancelled === 1)', read_only=1, allow_on_submit=1, insert_after='customer'),
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user