mascor / erpnext_fattura_elettronica Goto Github PK
View Code? Open in Web Editor NEWApp to export electronic invoice as mandated by the Italian Government
License: Other
App to export electronic invoice as mandated by the Italian Government
License: Other
Natura is an explanation for zero tax, and contains a reference to the legal clause for the same (RiferimentoNormativo)
Allow the user to specify Natura on the Sales Taxes and Charges as well as at Item Tax level, as zero tax can be specified at either level.
Natura field must be mandatory if rate is zero.
Cases
For Case 1, Natura will be read from the Item Tax for the zero percent item.
For Case 3, Natura will be read from the Sales Taxes and Charges row.
Mulitple tax templates can be created where the rate is 0% and the required Natura.
Hi I was wondering if it will be possible to import XML files containing invoices from suppliers.
I work in the food industry.
I see there might be the possibility in the future to connect to the SDI servers, but for the beginning would be also interesting to make a manual massive import of XML files to be eventually connected/related to incoming delivery notes...
Kind Regards
Salvatore
Hi, I hope I writing on the right pace....
I am just trying to adopt Erpnext for our company.
I am using a VM with this installed:
ERPNext: v9.1.3 (master)
Erpnext Fattura Elettronica: v0.0.1 (develop)
Frappe Framework: v9.1.5 (master
I just tried the module for exporting an electronic invoice. I got this server error when I try to EXPORT EFE XML Report:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 62, in application
response = frappe.api.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/api.py", line 53, in handle
return frappe.handler.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
data = execute_cmd(cmd)
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 923, in call
return fn(*args, **newargs)
File "/home/frappe/frappe-bench/apps/erpnext_fattura_elettronica/erpnext_fattura_elettronica/erpnext_fattura_elettronica/doctype/efe_xml_export/efe_xml_export.py", line 40, in generate_electronic_invoices
frappe.throw(ex)
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 319, in throw
msgprint(msg, raise_exception=exc, title=title, indicator='red')
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 308, in msgprint
message_log.append(json.dumps(out))
File "/usr/lib/python2.7/json/init.py", line 243, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 207, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 270, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python2.7/json/encoder.py", line 184, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: AttributeError("'Company' object has no attribute 'tax_id'",) is not JSON serializable
If the export procedure find a document with the field Customer SDI Code OR Customer PEC not set AND Customer Country Italy must show an alert.
Handle multiple items with different tax rates
Can be:
Hi thanks for this great idea
I am a pretty beginner with erpnext command line
But when giving the download command Bench get-app....
I get a error saying no such file or directory "./apps"
Am I putting this command on the right place?
I am working with a Ubuntu VM
Extract unique Sales Orders from Item
For each Sales Order, add the section DatiOrdineAcquisto where:
RiferimentoNumeroLinea is the line index
IdDocumento is the numeric part of Sales Order
If Payment Entries exist, use existing logic (TODO: confirm)
If not, use payment terms template
Sales Invoice:
Custom field CondizioniPagamento (select) to Sales Invoice
Map DettaglioPagamento to each row in Payment terms
Fields in Payment Terms table (* are custom fields)
ModalitaPagamento: Map to Mode of Payment
Beneficiario*: Data: Default to Company Name
DataRiferimentoTerminiPagamento*: Evaluate based on due_date_based_on
GiorniTerminiPagamento: Map to Credit Days
DataScadenzaPagamento: Map to Due Date
ImportoPagamento: Map to Payment Amount
CodUfficioPostale*: Data
CognomeQuietanzante*: Data
NomeQuietanzante*: Data
CFQuietanzante*: Data
TitoloQuietanzante*: Data
ScontoPagamentoAnticipato* (Discount if customer pays in advance) **Implication in Payment Entry amount
DataLimitePagamentoAnticipato* (This date is before the due date. If customer pays on or before this date, the sconto will be applied.)
PenalitaPagamentiRitardati* (Amount payable as penalty if the due date is not respected)
DataDecorrenzaPenale* (Date on which PenalitaPagamentiRitardati is applied)
CodicePagamento*
Bank Data Fields: (V11 ONLY)
Add ABI and CAB as custom fields on Bank Account doctype
In XML, for all bank detail fields, pull data from Bank Account doctype.
I read old issues.
I would like to know what's happening now in this project
The export procedure, after selecting:
if pec, include pec in XML.
if partitaIVA, include partitaIVA in XML
if codicefiscale, include codiceFiscale in XML
if codice_destinatario == 0000000:
if not partitaIVA and not codicefiscale:
throw error.
Ensure that mandatory information exists and notify if it is missing.
hi ,
when confirm sales invoice i have an error
the log:
Request Error
Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 61, in application
response = frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 21, in handle
data = execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 56, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1030, in call
return fn(*args, **newargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 848, in submit
self._submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 837, in _submit
self.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 313, in _save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 908, in run_post_save_methods
self.run_method(“on_submit”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 772, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1048, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1033, in runner
add_to_return_value(self, f(self, method, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/regional/italy/utils.py”, line 275, in sales_invoice_on_submit
prepare_and_attach_invoice(doc)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/regional/italy/utils.py”, line 281, in prepare_and_attach_invoice
invoice_xml = frappe.render_template(‘erpnext/regional/italy/e-invoice.xml’, context={“doc”: invoice}, is_path=True)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/jinja.py”, line 72, in render_template
return get_jenv().get_template(template).render(context)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/jinja2/environment.py”, line 1008, in render
return self.environment.handle_exception(exc_info, True)
File “/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/jinja2/environment.py”, line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/./regional/italy/e-invoice.xml”, line 202, in top-level template code
{{ doc.vat_collectability.split("-")[0] }}
UndefinedError: ‘None’ has no attribute ‘split’
[ERROR] 2019-04-06 09:21:06,234 | /home/frappe/frappe-bench/apps/frappe/frappe/utils/error.py:
New Exception collected with id: 2019-04-06 09:21:06.208024-192.168.1.6-fcc
[ERROR] 2019-04-06 09:27:08,483 | /home/frappe/frappe-bench/apps/frappe/frappe/utils/error.py:
New Exception collected with id: 2019-04-06 09:27:08.449483-192.168.1.6-e17
[ERROR] 2019-04-06 09:58:22,544 | /home/frappe/frappe-bench/apps/frappe/frappe/utils/error.py:
New Exception collected with id: 2019-04-06 09:58:22.386166-192.168.1.6-131
Add field: document_numbering_by, type:Select, Options: "Ordinal, Name"
Default: "Ordinal"
If Ordinal, set text of Numero field in XML to '1' for SINV-00001
If Name, set text of Numero field to SINV-00001
e.g. Company name cannot exceed 80 characters. Truncate the name and notify user.
Add simple data field on Sales Order.
Must be included in DettaglioLinee of Sales Invoice.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.