-
-
Notifications
You must be signed in to change notification settings - Fork 305
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
[12.0] mig account_invoice_import #93
Closed
Closed
Changes from all commits
Commits
Show all changes
141 commits
Select commit
Hold shift + click to select a range
afe5bbc
Add module base_business_document_import and start to move some code …
alexis-via 503b317
Better/cleaner pivot invoice dict format (no more IDs in the pivot in…
alexis-via 6450c60
Add module base_ubl (common methods to generate and parse UBL files)
alexis-via a250ab2
Parse customer/supplier ref in UBL and allow to match partner on 'ref'
alexis-via cb08e5d
Add matching of delivery partner
alexis-via 379552f
Add module base_phone_business_document_import
alexis-via 9975169
Add unitest on partner matching and update code of partner matching
alexis-via 24e2aaf
Add a unittest on _match_uom
alexis-via 0aa5d95
Add module base_business_document_import_stock
alexis-via e65af9c
Fix code + PEP8
alexis-via dfe888e
handle the case where the xml file is generated with mime type 'text/…
adrienpeiffer dbdb23b
Add support for extraction + matching on website
alexis-via ff36ff5
8.0 Add support for partner bank matching on invoice update (#6)
e1101a2
8.0 Use try/except when importing external libs (#8)
0a1e3fc
Make modules uninstallable
hbrunn fc66fa0
OCA Transbot updated translations from Transifex
oca-transbot 8329a9d
migration of account_invoice_import_invoice2data and dependencies
hbrunn 621f01c
Fix wrong class name
alexis-via c7a148a
product.product#ean13 was renamed to barcode
hbrunn efc43e6
tests
hbrunn 9f3f33f
Prepare v10 branch
alexis-via bf356c5
Port base_business_document_import to v10
alexis-via 53e8241
Add match on analytic accounts
alexis-via 682c629
Port base_business_document_import* to v10
alexis-via b834fc0
First working version of account_invoice_import
alexis-via 82e29f3
Continue port of modules for v10.0, in particular sale_order_import_*…
alexis-via 4b05b90
Port account_invoice_import_factur-x and account_invoice_import_ubl t…
alexis-via 0333061
Smarter account code matching + add unittests
alexis-via 5bed8ff
FIX xmlid in tests
alexis-via 7636ef6
FIX crash when pivot format had a 'note' key (and no attachment)
alexis-via 0460116
Update test suite
alexis-via 73dc4d1
Add first support for the import of Factur-X invoices
alexis-via f563677
Fix bug #16 : add support for adjustment lines (per line and global)
alexis-via c322afa
base_business_document_import migrate to 11.0
32c98ce
OCA Transbot updated translations from Transifex
oca-transbot d427d6c
use SQL to change company
28f26ea
Fix for multicompany
astirpe c030498
Update base_business_document_import.pot
oca-travis c4599f1
include some of the fixes proposed in #64
e2aab2d
Update base_business_document_import.pot
oca-travis ea45e6e
Check the VAT number of the destination partner, to make sure the bus…
alexis-via 1c77a74
Update base_business_document_import.pot
oca-travis 17560f3
Update translation files
oca-transbot 49d0b7d
Rename base_phone_business_document_import to base_business_document_…
alexis-via 7c4f8e4
import phonenumbers in try/except
alexis-via dc6969e
Add and update README.rst
alexis-via 3290473
8.0 Add support for partner bank matching on invoice update (#6)
e1df04e
8.0 Use try/except when importing external libs (#8)
5f4c4ac
Prepare v10 branch
alexis-via 59381f6
Port base_business_document_import* to v10
alexis-via a30f397
Update base_business_document_import_phone.pot
oca-travis a7aa037
Don't update last_run when download fails
alexis-via 722eea0
Add ability to run cron invoice download from admin for all companies…
alexis-via 8463a22
[MIG] base_business_document_import from 11 to 12
alexis-via d8ae007
Module product_uom_unece renamed to uom_unece
alexis-via 46059ef
Rename module from account_invoice_pdf_import to account_invoice_import
alexis-via beb0634
Update FR translation
alexis-via 66e0d76
Add instructions to use my PPA for poppler-utils on Ubuntu 14.04 LTS …
alexis-via 0968219
Add support for direct import of XML files (YAML test provided)
alexis-via b696c09
Sometimes, it's easier to extract the total tax amount instead of the…
4051813
Add an explaination about date parsing in invoice2data
alexis-via 0a703de
Add optional support for start/end dates
4676259
Adapt to latest changes in invoice2data
alexis-via 838e328
Only change name_get of invoice for our use-case, not everywhere
alexis-via 7e277c7
Update README with latest changes in invoice2data lib
alexis-via 1f71bac
Add support for partner_email to match partners
f2fb0a2
Update installation procedure.
alexis-via 972c868
Add modules base_zugferd, account_invoice_import_zugferd and account_…
alexis-via c92eebe
Log raw result of invoice2data (before we make modifications)
alexis-via 2193b67
Fix error in README spotted by Roel Adriaans
alexis-via 36a028f
Add module account_invoice_import_ubl
alexis-via fd5f1d9
Use base_vat_sanitized
alexis-via 9a3d933
Add support for import of e-fff invoices (Belgian standard)
alexis-via 1794cff
Add support for local invoice template for invoice2data, see README
alexis-via c29defb
Small usability improvement
alexis-via 1bc0e36
Checks that the directory really exists
alexis-via 1e86994
Extract regular PDF invoice import from account_invoice_import to a d…
alexis-via e2ff8f2
Adapt code to plug the module 'ovh_supplier_invoice'
alexis-via b80701a
Fix product matching
alexis-via fa8969d
FIX PEP8 and account_invoice_import_invoice2data unittests
alexis-via 4be1d1a
Add module base_business_document_import and start to move some code …
alexis-via 3c3857f
Better/cleaner pivot invoice dict format (no more IDs in the pivot in…
alexis-via 209e4fe
Add module base_ubl (common methods to generate and parse UBL files)
alexis-via f0c0288
Add module base_phone_business_document_import
alexis-via 6d3f975
Add a unittest on _match_uom
alexis-via a54a689
Add module base_business_document_import_stock
alexis-via 8fc8c66
Update invoice lines on "Update Existing" invoice import
alexis-via 75e6a69
Fix crash
alexis-via 1b9bf24
Add multi-company ir.rule on account.invoice.import.config
alexis-via 87b447d
FIX Don't use _inherit = ['business.document.import']
alexis-via 4873aff
Fix method call
alexis-via 5816b68
[IMP] handle the case where the xml file is generated with mime type
adrienpeiffer 74eb7f2
Add support for extraction + matching on website
alexis-via df63f5b
FIX two stupid bugs
alexis-via 51bac8d
8.0 Add support for partner bank matching on invoice update (#6)
2fa45ee
8.0 Use try/except when importing external libs (#8)
f9edf51
[MIG] Make modules uninstallable
hbrunn 9c3df57
OCA Transbot updated translations from Transifex
oca-transbot 1e011fd
[ADD] migration of account_invoice_import_invoice2data and dependencies
hbrunn b780437
Add support for 'origin' field in invoice import
alexis-via 9fa4f85
[FIX] product.product#ean13 was renamed to barcode
hbrunn f97ae39
[FIX] tests
hbrunn c613cfe
Port base_business_document_import* to v10
alexis-via af941e2
Allow importing invoice without invoice_import_config on partner (use…
alexis-via 3a98687
Several fixes in account_invoice_import
alexis-via 8185e97
Improve XML for Factur-X
alexis-via ddd8aa2
Add first support for the import of Factur-X invoices
alexis-via 8f90aca
Add support for allowance and charges on Factur-X invoice import
alexis-via f569f1e
Fix bug #16 : add support for adjustment lines (per line and global)
alexis-via f553c5f
account_invoice_factur-x: now generate refunds with document type = 3…
alexis-via 2def99f
Pre-process parsed_inv even when calling directly _create_invoice()
alexis-via 4eb36b4
Add support for importing customer invoices (bug #24)
alexis-via 29da5d1
Improve + modularize generation of UBL (up-port from v8 PR)
alexis-via 6fdbb53
Finalise the use of the FacturX lib
alexis-via cbb9ff9
account_invoice_import: workaround a framework bug
alexis-via 744f300
account_invoice_import: Add partner_type to _match_partner method for…
alexis-via e2fb7b8
OCA Transbot updated translations from Transifex
oca-transbot 9061dff
[10.0] Update to work with latest version of invoice2data (#51)
5342270
OCA Transbot updated translations from Transifex
oca-transbot b3e1df6
[10.0] Several fixes + import invoices with VAT in a company that can…
15ad162
[UPD] Update account_invoice_import.pot
oca-travis 40f95bc
Fix import of sale order with price_source='pricelist' when pricelist…
alexis-via f7eecd7
Partner <-> Invoice import config : switch M2O <-> O2M
alexis-via 133e07d
Add migration script
alexis-via fb8ca0d
Add support for multiple invoice import configs in invoice import wizard
alexis-via 1c5570c
Add O2M field from import config to download config
alexis-via 75f1c0e
Finalize the development account_invoice_download
alexis-via 72102a1
Add support for additional module-specific weboob config parameters
alexis-via 885701a
account_invoice_import: add a mail gateway
alexis-via a26c969
Add ability to run cron invoice download from admin for all companies…
alexis-via 24c322d
Add multi-company support in the invoice import mail gateway
alexis-via 4c3309a
Check the VAT number of the destination partner, to make sure the bus…
alexis-via fb619e4
[UPD] Update account_invoice_import.pot
oca-travis c05e0d0
[FIX] include some of the fixes proposed in #64
633a503
[11.0][MIG] account_invoice_import
15aa4bd
[FIX] clean rebase from V10 that where wrong ...
c74b29e
[FIX] utf8 comment in python3
a1d2ddd
Fix base64 encode/decode + remove supplier_invoice_number + code review
astirpe f41a4e8
[UPD] Update account_invoice_import.pot
oca-travis 879dcb0
Update translation files
oca-transbot f4590ff
bump to 12.0.1.0.0
rubdos File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
====================== | ||
Account Invoice Import | ||
====================== | ||
|
||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
|
||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
:target: https://odoo-community.org/page/development-status | ||
:alt: Beta | ||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github | ||
:target: https://github.com/OCA/edi/tree/11.0/account_invoice_import | ||
:alt: OCA/edi | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/edi-11-0/edi-11-0-account_invoice_import | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png | ||
:target: https://runbot.odoo-community.org/runbot/226/11.0 | ||
:alt: Try me on Runbot | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module has been started by lazy accounting users who hate enter they supplier invoices manually in Odoo. Almost all companies have several supplier invoices to enter regularly in the system from the same suppliers: phone bill, electricity bill, Internet access, train tickets, etc. Most of these invoices are available as PDF. We dream that we would be able to automatically extract from the PDF the required information to enter the invoice as supplier invoice in Odoo. To know the full story behind the development of this module, read this `blog post <http://www.akretion.com/blog/akretions-christmas-present-for-the-odoo-community>`_. | ||
|
||
In the future, we believe we will have structured information embedded inside the metadata of PDF invoices. There are 2 main standards for electronic invoicing: | ||
|
||
* `CII <http://tfig.unece.org/contents/cross-industry-invoice-cii.htm>`_ (Cross-Industry Invoice) developped by `UN/CEFACT <http://www.unece.org/cefact>`_ (United Nations Centre for Trade Facilitation and Electronic Business), | ||
* `UBL <http://ubl.xml.org/>`_ (Universal Business Language) which is an ISO standard (`ISO/IEC 19845 <http://www.iso.org/iso/catalogue_detail.htm?csnumber=66370>`_) developped by `OASIS <https://www.oasis-open.org/>`_ (Organization for the Advancement of Structured Information Standards). | ||
|
||
For example, there is already a standard in Germany called `ZUGFeRD <http://www.pdflib.com/knowledge-base/pdfa/zugferd-invoices/>`_ which is based on CII. | ||
|
||
This module doesn't do anything useful by itself ; it requires other modules to work: each modules adds a specific invoice format. | ||
|
||
Here is how the module works: | ||
|
||
* the user starts a wizard and uploads the PDF or XML invoice, | ||
* if it is an XML file, Odoo will parse it to create the invoice (requires additional modules for specific XML formats, such as the module *account_invoice_import_ubl* for the UBL format), | ||
* if it is a PDF file with an embedded XML file in ZUGFeRD/CII format, Odoo will extract the embedded XML file and parse it to create the invoice (requires the module *account_invoice_import_zugferd*), | ||
* otherwise, Odoo will use the *invoice2data* Python library to try to interpret the text of the PDF (requires the module *account_invoice_import_invoice2data*), | ||
* if there is already some draft supplier invoice for this supplier, Odoo will propose to select one to update or create a new draft invoice, | ||
* otherwise, Odoo will directly create a new draft supplier invoice and attach the PDF to it. | ||
|
||
This module also works with supplier refunds. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Configuration | ||
============= | ||
|
||
Go to the form view of the suppliers and configure it with the following parameters: | ||
|
||
* *is a Company ?* is True | ||
* *Supplier* is True | ||
* the *TIN* (i.e. VAT number) is set (the VAT number is used by default when searching the supplier in the Odoo partner database) | ||
* in the *Accounting* tab, create one or several *Invoice Import Configurations*. | ||
|
||
You can configure a mail gateway to import invoices from an email: | ||
|
||
* Go to the menu *Settings > Technical > Email > Incoming Mail Servers* and setup the access (POP or IMAP) to the mailbox that will be used to received the invoices, | ||
* In the section *Actions to perform on incoming mails*, set the field *Create a new record* to *Wizard to import supplier invoices/refunds* (model *account.invoice.import*). The field *Server Action* should be left empty. | ||
* If you are in a multi-company setup, you also have to go to the menu *Accounting > Configuration > Settings*: in the section *Invoice Import*, enter the email of the mailbox used to import invoices in the field *Mail Gateway: Destination E-mail* (it will be used to select the right company to import the invoice in). | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
* Remove dependency on *base_iban* and develop a separate glue module between this module and *base_iban* | ||
|
||
* Enhance the update of an existing invoice by analysing the lines (lines are only available when the invoice has an embedded XML file) | ||
|
||
* Add a mail gateway to be able to forward the emails that we receive with PDF invoices to a dedicated address ; the gateway would detach the PDF invoice from the email and create the draft supplier invoice in Odoo. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/edi/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us smashing it by providing a detailed and welcomed | ||
`feedback <https://github.com/OCA/edi/issues/new?body=module:%20account_invoice_import%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
~~~~~~~ | ||
|
||
* Akretion | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* Alexis de Lattre <alexis.delattre@akretion.com> | ||
* Andrea Stirpe <a.stirpe@onestein.nl> | ||
* Nicolas JEUDY <https://github.com/njeudy> | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
||
This module is maintained by the OCA. | ||
|
||
.. image:: https://odoo-community.org/logo.png | ||
:alt: Odoo Community Association | ||
:target: https://odoo-community.org | ||
|
||
OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
mission is to support the collaborative development of Odoo features and | ||
promote its widespread use. | ||
|
||
This module is part of the `OCA/edi <https://github.com/OCA/edi/tree/11.0/account_invoice_import>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
from . import models | ||
from . import wizard |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# © 2015-2017 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>) | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). | ||
|
||
{ | ||
'name': 'Account Invoice Import', | ||
'version': '12.0.1.0.0', | ||
'category': 'Accounting & Finance', | ||
'license': 'AGPL-3', | ||
'summary': 'Import supplier invoices/refunds as PDF or XML files', | ||
'author': 'Akretion,Odoo Community Association (OCA)', | ||
'website': 'http://www.akretion.com', | ||
'depends': [ | ||
'account', | ||
'base_iban', | ||
'base_business_document_import', | ||
'onchange_helper', | ||
# add bank_payment dependency to have commercial_partner_id on invoice | ||
# PR in odoo will be create soon | ||
'account_payment_partner', | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this dependency is not needed anymore. Could you check? |
||
], | ||
'data': [ | ||
'security/ir.model.access.csv', | ||
'security/rule.xml', | ||
'views/account_invoice_import_config.xml', | ||
'views/res_config_settings.xml', | ||
'wizard/account_invoice_import_view.xml', | ||
'views/account_invoice.xml', | ||
'views/partner.xml', | ||
], | ||
'images': ['images/sshot-wizard1.png'], | ||
'installable': True, | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.