feat(italy): add document type field for e-invoicing
This commit is contained in:
parent
d77ea7c88b
commit
032246dc2b
@ -764,3 +764,4 @@ erpnext.patches.v13_0.setup_uae_vat_fields
|
|||||||
execute:frappe.db.set_value('System Settings', None, 'app_name', 'ERPNext')
|
execute:frappe.db.set_value('System Settings', None, 'app_name', 'ERPNext')
|
||||||
erpnext.patches.v13_0.rename_discharge_date_in_ip_record
|
erpnext.patches.v13_0.rename_discharge_date_in_ip_record
|
||||||
erpnext.patches.v12_0.purchase_receipt_status
|
erpnext.patches.v12_0.purchase_receipt_status
|
||||||
|
erpnext.patches.v12_0.add_document_type_field_for_italy_einvoicing
|
@ -0,0 +1,18 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
company = frappe.get_all('Company', filters = {'country': 'Italy'})
|
||||||
|
if not company:
|
||||||
|
return
|
||||||
|
|
||||||
|
custom_fields = {
|
||||||
|
'Sales Invoice': [
|
||||||
|
dict(fieldname='type_of_document', label='Type of Document',
|
||||||
|
fieldtype='Select', insert_after='customer_fiscal_code',
|
||||||
|
options='\nTD01\nTD02\nTD03\nTD04\nTD05\nTD06\nTD16\nTD17\nTD18\nTD19\nTD20\nTD21\nTD22\nTD23\nTD24\nTD25\nTD26\nTD27'),
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
create_custom_fields(custom_fields, update=True)
|
@ -139,6 +139,9 @@ def make_custom_fields(update=True):
|
|||||||
dict(fieldname='customer_fiscal_code', label='Customer Fiscal Code',
|
dict(fieldname='customer_fiscal_code', label='Customer Fiscal Code',
|
||||||
fieldtype='Data', insert_after='cb_e_invoicing_reference', read_only=1,
|
fieldtype='Data', insert_after='cb_e_invoicing_reference', read_only=1,
|
||||||
fetch_from="customer.fiscal_code"),
|
fetch_from="customer.fiscal_code"),
|
||||||
|
dict(fieldname='type_of_document', label='Type of Document',
|
||||||
|
fieldtype='Select', insert_after='customer_fiscal_code',
|
||||||
|
options='\nTD01\nTD02\nTD03\nTD04\nTD05\nTD06\nTD16\nTD17\nTD18\nTD19\nTD20\nTD21\nTD22\nTD23\nTD24\nTD25\nTD26\nTD27'),
|
||||||
],
|
],
|
||||||
'Purchase Invoice Item': invoice_item_fields,
|
'Purchase Invoice Item': invoice_item_fields,
|
||||||
'Sales Order Item': invoice_item_fields,
|
'Sales Order Item': invoice_item_fields,
|
||||||
|
@ -57,11 +57,12 @@ def prepare_invoice(invoice, progressive_number):
|
|||||||
invoice.company_address_data = company_address
|
invoice.company_address_data = company_address
|
||||||
|
|
||||||
#Set invoice type
|
#Set invoice type
|
||||||
if invoice.is_return and invoice.return_against:
|
if not invoice.type_of_document:
|
||||||
invoice.type_of_document = "TD04" #Credit Note (Nota di Credito)
|
if invoice.is_return and invoice.return_against:
|
||||||
invoice.return_against_unamended = get_unamended_name(frappe.get_doc("Sales Invoice", invoice.return_against))
|
invoice.type_of_document = "TD04" #Credit Note (Nota di Credito)
|
||||||
else:
|
invoice.return_against_unamended = get_unamended_name(frappe.get_doc("Sales Invoice", invoice.return_against))
|
||||||
invoice.type_of_document = "TD01" #Sales Invoice (Fattura)
|
else:
|
||||||
|
invoice.type_of_document = "TD01" #Sales Invoice (Fattura)
|
||||||
|
|
||||||
#set customer information
|
#set customer information
|
||||||
invoice.customer_data = frappe.get_doc("Customer", invoice.customer)
|
invoice.customer_data = frappe.get_doc("Customer", invoice.customer)
|
||||||
|
Loading…
Reference in New Issue
Block a user