-
Notifications
You must be signed in to change notification settings - Fork 810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IP-939]: Implementing e-invoicing flow #1103
base: development
Are you sure you want to change the base?
Conversation
@Verony-makesIT I've moved your Pull-Request over to the InvoicePlane repository. |
@Verony-makesIT Thank you for your pull-request. I thought in the settings there used to be a setting for "Enable Zugferd", did you disable that? E-Invoicing, at least the Ubl, has lots of formats. I see ZugFerd and Ubl, do you know of any others? |
@nielsdrost7 2. I have indeed removed the setting "Include zugferd" in the "System settings - Invoices" because it is redundant in this functionality.
3. Be careful! This is where it gets a bit more complex...
|
@Verony-makesIT thank you for that explanation.
Maybe obsolete question, but humor me: |
@nielsdrost7:
|
@Verony-makesIT thank you for the info. That sounds good man!
How do we send it through the PEPPOL Network? |
@nielsdrost7: |
Let's make that NLCIUS template. We probably need to make some documentation anyway, would you like to start on that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are accessibility issues in these changes.
<!-- ZUGFeRD Template Usage --> | ||
<div class="form-group"> | ||
<label for="settings[use_zugferd]"><?php echo trans('use_zugferd'); ?></label> | ||
<select name="settings[use_zugferd]" id="use_zugferd" class="form-control"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this element is missing an accessible name or label. That makes it hard for people using screen readers or voice control to use the control.
<!-- Default UBL Template Type --> | ||
<div class="form-group"> | ||
<label for="settings[default_template_type]"><?php echo trans('default_ubl_template_type'); ?></label> | ||
<select name="settings[default_template_type]" id="default_template_type" class="form-control"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this element is missing an accessible name or label. That makes it hard for people using screen readers or voice control to use the control.
- Added fields in tables ip_users and ip_clients. - Removed zugferd selection in invoices - setting. - Added e-Invoice format selection choice for client - bank info input fields for user added and grouped - placed xml configuration files in the folder helpers/XMLconfig - placed xml-template files (Zugferd + UBL example) in the folder libraries/XMLtemplates - created the readme file "About e-Invoicing templates" = How to add/setup XML-template files
- Added fields in tables ip_users and ip_clients. - Removed zugferd selection in invoices - setting. - Added e-Invoice format selection choice for client - bank info input fields for user added and grouped - placed xml configuration files in the folder helpers/XMLconfig - placed xml-template files (Zugferd + UBL example) in the folder libraries/XMLtemplates - created the readme file "About e-Invoicing templates" = How to add/setup XML-template files
…. Includes Zugferd 1.0
608d650
to
c128ee3
Compare
@Verony-makesIT I'm sorry. Unless we can get a great test done, we have to postpone this PR man. Example: We have to deal with these error messages man |
@nielsdrost7 , Perhaps it is indeed better to postpone this (for a while until V2?) because in my opinion, building an e-invoicing template is not really easy for most programmers if all business rules have to be coded manually.
You cannot and may not assume that there is a standard template for a region (e.g. EU) that you could easily use for every country in that region. In principle, the government of each country has information available about which format (e.g. UBL, CII or other) and/or syntax suppliers must use.
A CIUS can only be used by an EU country that uses the EN 16931 standard. Those countries (e.g. NL, AT, ...) then set up separate Business rules (e.g. CIUS-AT-NAT: https://ecosio.com/en/blog/what-is-a-core-invoice-usage-specification/ ) that must be applied on top of the standard (EN 16931-1) to e-invoices that must be sent to clients in that country. I hope the above makes it all a bit clearer... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are accessibility issues in these changes.
<!-- ZUGFeRD Template Usage --> | ||
<div class="form-group"> | ||
<label for="settings[use_zugferd]"><?php echo trans('use_zugferd'); ?></label> | ||
<select name="settings[use_zugferd]" id="use_zugferd" class="form-control"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this element is missing an accessible name or label. That makes it hard for people using screen readers or voice control to use the control.
<!-- Default UBL Template Type --> | ||
<div class="form-group"> | ||
<label for="settings[default_template_type]"><?php echo trans('default_ubl_template_type'); ?></label> | ||
<select name="settings[default_template_type]" id="default_template_type" class="form-control"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this element is missing an accessible name or label. That makes it hard for people using screen readers or voice control to use the control.
- Added fields in tables ip_users and ip_clients. - Removed zugferd selection in invoices - setting. - Added e-Invoice format selection choice for client - bank info input fields for user added and grouped - placed xml configuration files in the folder helpers/XMLconfig - placed xml-template files (Zugferd + UBL example) in the folder libraries/XMLtemplates - created the readme file "About e-Invoicing templates" = How to add/setup XML-template files
- Added fields in tables ip_users and ip_clients. - Removed zugferd selection in invoices - setting. - Added e-Invoice format selection choice for client - bank info input fields for user added and grouped - placed xml configuration files in the folder helpers/XMLconfig - placed xml-template files (Zugferd + UBL example) in the folder libraries/XMLtemplates - created the readme file "About e-Invoicing templates" = How to add/setup XML-template files
…. Includes Zugferd 1.0
…nvoicePlane/InvoicePlane into feature/939-peppol-zugferd-e-invoicing
…ub.com/InvoicePlane/InvoicePlane into feature/939-peppol-zugferd-e-invoicing
Originally by @Verony-makesIT
Description
The IP user can select which e-invoice format is appropriate for their customer/country.
A pdf, and the appropriate e-invoice format, is then generated and sent to the client.
Related Issue
Feature Request #939 "Implement e-invoicing for UBL/CII formats (EN 16931, Zugferd/Factur-X, PEPPOL, etc...) other than only Zugferd"
See my comments in Feature Request 939.
Motivation and Context
Worldwide, and certainly in Europe, governments, clients and accountants are switching to electronic invoices.
e-Invoices can be used to process these documents machine readable and automatically.
XML templates can be created specifically for a country or client.
How to add an XML template is described in the "About e-Invoicing templates.md" file located in the "helpers/XMLconfigs/" folder.
I have added 2 XML template example files.
The (old) IP Zugferdv10Xml.php file serves as "CII format" example and the Ublexamv20Xml.php file serves as "UBL format" example.
Screenshots (if appropriate):
Pull Request Checklist
Issue Type (Please check one or more)
#939