-
-
Notifications
You must be signed in to change notification settings - Fork 308
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
Proposed changes for account_invoice_import v16 #803
Comments
@bosd please give your opinion ! |
Thanks @alexis-via for your detailed write-up. Plans & Ideas to improve usability.
I'm neutral on this one. In micro organizations the outlined flow (problem) is not applicable.
IMO, This is a big improvement. Very much welcomed. It would greatly improve the useability.
This change would be an optional one for me. I have one suggestion to add to the model.
I'm not botherd by the chatter messages. I'm in the camp of "extracting as much info from the invoice as possible" don't let it fail on missing products, u.o.m. or taxes.
Need to give this more thought to form an opinion.
This makes sense and improves usability. Indeed the cases when multiple different import configs are required on the same vendor are really rare. |
There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days. |
@alexis-via Where you able to incorporate these changes into the code somewhere? |
As I said in my PR #753 which contains the migration of the module account_invoice_import to v16, I plan to make several important changes. Here are my ideas, ordered from highest importance to lowest importance :
Remove the "Update" scenario. Currently, there is a "Create" and an "Update" scenario. The "Update" scenario corresponds to the scenario where a draft invoice is created from the purchase order and you want to update it with the real invoice received from the supplier. My idea would be to keep only the "Create" scenario. When the supplier invoice is linked to a PO, we would NOT use the button on the PO to create a draft invoice ; instead, we would import the supplier invoice as a new invoice and then we would start a wizard that makes the links between the invoice lines and the purchase order lines and compare the prices. This wizard would be independent from the account.invoice.import wizard.
the object account.invoice.import.config would become optional. So it would be possible to import a supplier invoice without an account.invoice.import.config. The logic would be the following:
Use a warning banner for import warning. In the current implementation, import warnings are written in the chatter. But we can't expect users to read the chatter after every import. So it would be better to have a yellow warning banner on the invoice that contains a list of the invoice import warning. We would have a button to wipe the invoice import warning once the user has taken them into account (so we would continue to write the warning in the chatter).
in the current implementation, when importing an electronic invoice of a new supplier, the wizard proposes to create a new supplier (or update an existing supplier) ; if the user opts for creating a new supplier, Odoo displays the form view of a new partner with a default value for the name, VAT and all the other partner information that Odoo could get from the pivot format. Then the user can finalize the configuration of the partner (fiscal position, payment mode, bank account, etc...). After that, the user has to start the wizard again and import the electronic invoice a second time. To avoid that, I propose another implementation: the supplier invoice is created with partner_id=False (like for the mail gateway) and the default vals to create a new partner is stored in a new dedicated JSON field. A button on the invoice form view (displayed only when the JSON field has a value and partner_id=False) allows to create a new partner. Another button on the form view of the invoice allows to "Update" the invoice : in reality, it won't "update" the invoice, but it will delete and re-import it. This button would also be useful when the invoice has been imported via the mail gateway and the partner has several invoice import configuration and the first one was taken by default, and the user wants to switch to another import config.
I have another idea to simplify and improve usability, but I'm not sure it's a good idea: drop the object account.invoice.import.config and move its fields to res.partner with company_dependent=True. Advantage of this change: give more visibility to the fields of account.invoice.import.config. Drawback: it removes the ability to have several different account.invoice.import.config for the same partner. In real life, the only case where you need to have several account.invoice.import.config on a partner is when you have a partner that provides you, on a regular basis, several different services on separate invoices and you don't try to match products. I think it rarely happens.
As I said, I'm not sure this change would be a good idea. As account.invoice.import.config would become optional, giving more visibility to it is not as important as before. But I would be happy to have you opinion on this idea anyway.
I'm waiting for your feedback on these proposed changes!
The text was updated successfully, but these errors were encountered: