| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi |
| GIT | |
| GIT | https://github.com/OCA/edi.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi/tree/18.0/account_invoice_import_simple_pdf |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Accounting/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:09:24 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/community-data-files: - account_tax_unece - base_unece - uom_unece OCA/edi: - account_invoice_import - base_business_document_import odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
dateparser pymupdf pypdf>=3.1.0 regex |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_import_form |
account.invoice.import | ul | Inherits account_invoice_import.account_invoice_import_form | |
account_invoice_import_simple_pdf_fields_form |
account.invoice.import.simple.pdf.fields | form | New | |
account_invoice_import_simple_pdf_fields_tree |
account.invoice.import.simple.pdf.fields | list | New | |
account_invoice_import_simple_pdf_invoice_number_form |
account.invoice.import.simple.pdf.invoice.number | form | New | |
account_invoice_import_simple_pdf_invoice_number_tree |
account.invoice.import.simple.pdf.invoice.number | list | New | |
view_partner_property_form |
res.partner | page | Inherits account_invoice_import.view_partner_property_form | |
view_partner_property_form_move |
res.partner | group | Inherits account_invoice_import_simple_pdf.view_partner_property_form |
No new fields.
Public methods (4)fallback_parse_pdf_invoice(self, file_data, company)
simple_pdf_match_partner(self, raw_text_no_space, test_results=None)
simple_pdf_parse_invoice(self, file_data, test_info=None)
simple_pdf_text_extraction(self, file_data, test_info)
date_format
Selection
help='Leave empty if the format used is the same as the format defined in the global section.'
string='Specific Date Format'
args: '_date_format_sel'
date_separator
Selection
compute='_compute_date_separator'
help='Leave empty if the format used is the same as the format defined in the global section.'
precompute=True
readonly=False
store=True
string='Specific Date Separator'
args: '_date_separator_sel'
end
Char
string='End String'
extract_rule
Selection
compute='_compute_extract_rule'
precompute=True
readonly=False
required=True
store=True
args: [('first', 'First'), ('last', 'Last'), ('position_start', 'Specific Position from Start'), ('position_end', 'Specific Position from End'), ('min', 'Min'), ('max', 'Max'), ('position_min', 'Specific Position from Min'), ('position_max', 'Specific Position from Max')]
name
Selection
required=True
string='Field'
args: [('amount_total', 'Total'), ('amount_untaxed', 'Untaxed Amount'), ('amount_tax', 'Tax Amount'), ('date', 'Invoice Date'), ('date_due', 'Due Date'), ('date_start', 'Start Date'), ('date_end', 'End Date'), ('invoice_number', 'Invoice Number'), ('description', 'Description')]
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
position
Integer
default=2
regexp
Char
string='Specific Regular Expression'
sequence
Integer
default=10
start
Char
string='Start String'
get_value_from_list(self, data_list, test_info, raise_if_none=True)
restrict_text(self, raw_text, test_info)
fixed_char
Char
occurrence_max
Integer
compute='_compute_occurrence_max'
default=1
precompute=True
readonly=False
store=True
string='Maximum Occurence'
occurrence_min
Integer
default=1
string='Minimum Occurence'
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
sequence
Integer
default=10
string_type
Selection
required=True
string='Type'
args: '_string_type_sel'
No public methods.
simple_pdf_currency_id
Many2one → res.currency
help='If empty, Odoo will use the company currency.'
ondelete='restrict'
string='Invoice Import Currency'
args: 'res.currency'
simple_pdf_date_format
Selection
help="If the date format uses 'Month', check that the language is properly configured on the partner. 'Month' works both in full and short version ('January' and 'Jan.')."
string='Date Format'
args: '_simple_pdf_date_format_sel'
simple_pdf_date_separator
Selection
compute='_compute_simple_pdf_date_separator'
help="If the date looks like 'Sep. 4, 2021', use 'space' as date separator (Odoo will ignore the dot and comma)."
precompute=True
readonly=False
store=True
string='Date Separator'
args: '_simple_pdf_date_separator_sel'
simple_pdf_decimal_separator
Selection
compute='_compute_simple_pdf_decimal_separator'
help='If empty, Odoo will use the decimal separator configured on the language of the partner.'
precompute=True
readonly=False
store=True
string='Decimal Separator'
args: [('dot', 'dot'), ('comma', 'comma')]
simple_pdf_field_ids
One2many → account.invoice.import.simple.pdf.fields
string='Fields for PDF Invoice Import'
args: 'account.invoice.import.simple.pdf.fields', 'partner_id'
simple_pdf_invoice_number_ids
One2many → account.invoice.import.simple.pdf.invoice.number
string='Invoice Import Number Format'
args: 'account.invoice.import.simple.pdf.invoice.number', 'partner_id'
simple_pdf_keyword
Char
help="If empty, Odoo will use the VAT number to identify the partner. To match on several keywords, separate them with '|' (pipe)."
simple_pdf_pages
Selection
default='all'
string='Page Analysis'
args: [('first', 'First Page Only'), ('all', 'All Pages')]
simple_pdf_test_file
Binary
attachment=True
string='Test PDF Invoice File'
simple_pdf_test_filename
Char
string='Test PDF Invoice Filename'
simple_pdf_test_raw_text
Text
readonly=True
string='Test Text Extraction'
simple_pdf_test_results
Html
readonly=True
string='Test Results'
simple_pdf_thousand_separator
Selection
compute='_compute_simple_pdf_thousand_separator'
help='If empty, Odoo will use the thousand separator configured on the language of the partner.'
precompute=True
readonly=False
store=True
string='Thousand Separator'
args: [('none', 'none'), ('space', 'space'), ('dot', 'dot'), ('comma', 'comma'), ('apostrophe', 'apostrophe')]
pdf_simple_generate_default_fields(self)
pdf_simple_test_cleanup(self)
pdf_simple_test_run(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi |
| GIT | |
| GIT | https://github.com/OCA/edi.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi/tree/16.0/account_invoice_import_simple_pdf |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Accounting/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Weblate, OCA-git-bot, oca-ci, Marwan Behillil |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/community-data-files: - account_tax_unece - base_unece - uom_unece OCA/edi: - account_invoice_import - base_business_document_import - pdf_helper odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
dateparser pypdf>=3.1.0 regex |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES |
libmupdf-dev mupdf mupdf-tools poppler-utils |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_import_form |
account.invoice.import | ul | Inherits account_invoice_import.account_invoice_import_form | |
account_invoice_import_simple_pdf_fields_form |
account.invoice.import.simple.pdf.fields | form | New | |
account_invoice_import_simple_pdf_fields_tree |
account.invoice.import.simple.pdf.fields | tree | New | |
account_invoice_import_simple_pdf_invoice_number_form |
account.invoice.import.simple.pdf.invoice.number | form | New | |
account_invoice_import_simple_pdf_invoice_number_tree |
account.invoice.import.simple.pdf.invoice.number | tree | New | |
view_partner_property_form |
res.partner | page | Inherits account_invoice_import.view_partner_property_form | |
view_partner_property_form_move |
res.partner | group | Inherits account_invoice_import_simple_pdf.view_partner_property_form |
No new fields.
Public methods (4)fallback_parse_pdf_invoice(self, file_data, company)
simple_pdf_match_partner(self, raw_text_no_space, test_results=None)
simple_pdf_parse_invoice(self, file_data, test_info=None)
simple_pdf_text_extraction(self, file_data, test_info)
date_format
Selection
help='Leave empty if the format used is the same as the format defined in the global section.'
string='Specific Date Format'
args: '_date_format_sel'
date_separator
Selection
compute='_compute_date_separator'
help='Leave empty if the format used is the same as the format defined in the global section.'
precompute=True
readonly=False
store=True
string='Specific Date Separator'
args: '_date_separator_sel'
end
Char
string='End String'
extract_rule
Selection
compute='_compute_extract_rule'
precompute=True
readonly=False
required=True
store=True
args: [('first', 'First'), ('last', 'Last'), ('position_start', 'Specific Position from Start'), ('position_end', 'Specific Position from End'), ('min', 'Min'), ('max', 'Max'), ('position_min', 'Specific Position from Min'), ('position_max', 'Specific Position from Max')]
name
Selection
required=True
string='Field'
args: [('amount_total', 'Total'), ('amount_untaxed', 'Untaxed Amount'), ('amount_tax', 'Tax Amount'), ('date', 'Invoice Date'), ('date_due', 'Due Date'), ('date_start', 'Start Date'), ('date_end', 'End Date'), ('invoice_number', 'Invoice Number'), ('description', 'Description')]
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
position
Integer
default=2
regexp
Char
string='Specific Regular Expression'
sequence
Integer
default=10
start
Char
string='Start String'
get_value_from_list(self, data_list, test_info, raise_if_none=True)
restrict_text(self, raw_text, test_info)
fixed_char
Char
occurrence_max
Integer
compute='_compute_occurrence_max'
default=1
precompute=True
readonly=False
store=True
string='Maximum Occurence'
occurrence_min
Integer
default=1
string='Minimum Occurence'
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
sequence
Integer
default=10
string_type
Selection
required=True
string='Type'
args: '_string_type_sel'
No public methods.
simple_pdf_currency_id
Many2one → res.currency
help='If empty, Odoo will use the company currency.'
ondelete='restrict'
string='Invoice Import Currency'
args: 'res.currency'
simple_pdf_date_format
Selection
help="If the date format uses 'Month', check that the language is properly configured on the partner. 'Month' works both in full and short version ('January' and 'Jan.')."
string='Date Format'
args: '_simple_pdf_date_format_sel'
simple_pdf_date_separator
Selection
compute='_compute_simple_pdf_date_separator'
help="If the date looks like 'Sep. 4, 2021', use 'space' as date separator (Odoo will ignore the dot and comma)."
precompute=True
readonly=False
store=True
string='Date Separator'
args: '_simple_pdf_date_separator_sel'
simple_pdf_decimal_separator
Selection
compute='_compute_simple_pdf_decimal_separator'
help='If empty, Odoo will use the decimal separator configured on the language of the partner.'
precompute=True
readonly=False
store=True
string='Decimal Separator'
args: [('dot', 'dot'), ('comma', 'comma')]
simple_pdf_field_ids
One2many → account.invoice.import.simple.pdf.fields
string='Fields for PDF Invoice Import'
args: 'account.invoice.import.simple.pdf.fields', 'partner_id'
simple_pdf_invoice_number_ids
One2many → account.invoice.import.simple.pdf.invoice.number
string='Invoice Import Number Format'
args: 'account.invoice.import.simple.pdf.invoice.number', 'partner_id'
simple_pdf_keyword
Char
help="If empty, Odoo will use the VAT number to identify the partner. To match on several keywords, separate them with '|' (pipe)."
simple_pdf_pages
Selection
default='all'
string='Page Analysis'
args: [('first', 'First Page Only'), ('all', 'All Pages')]
simple_pdf_test_file
Binary
attachment=True
string='Test PDF Invoice File'
simple_pdf_test_filename
Char
string='Test PDF Invoice Filename'
simple_pdf_test_raw_text
Text
readonly=True
string='Test Text Extraction'
simple_pdf_test_results
Html
readonly=True
string='Test Results'
simple_pdf_thousand_separator
Selection
compute='_compute_simple_pdf_thousand_separator'
help='If empty, Odoo will use the thousand separator configured on the language of the partner.'
precompute=True
readonly=False
store=True
string='Thousand Separator'
args: [('none', 'none'), ('space', 'space'), ('dot', 'dot'), ('comma', 'comma'), ('apostrophe', 'apostrophe')]
pdf_simple_generate_default_fields(self)
pdf_simple_test_cleanup(self)
pdf_simple_test_run(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/edi |
| GIT | |
| GIT | https://github.com/OCA/edi.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/edi/tree/14.0/account_invoice_import_simple_pdf |
| VERSION | |
| VERSION | 4.1.0 |
| CATEGORY | |
| CATEGORY | Accounting/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion |
| COMMITTERS | |
| COMMITTERS | Alexis de Lattre, Raphaël Valyi, Enric Tobella, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Florent THOMAS, oca-ci, thien |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/edi |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/community-data-files: - account_tax_unece - base_unece - uom_unece OCA/edi: - account_invoice_import - base_business_document_import - pdf_helper OCA/server-tools: - onchange_helper odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
dateparser pypdf>=3.1.0,<5.0 regex |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES |
libmupdf-dev mupdf mupdf-tools poppler-utils |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account_invoice_import_form |
account.invoice.import | ul | Inherits account_invoice_import.account_invoice_import_form | |
account_invoice_import_simple_pdf_fields_form |
account.invoice.import.simple.pdf.fields | form | New | |
account_invoice_import_simple_pdf_fields_tree |
account.invoice.import.simple.pdf.fields | tree | New | |
account_invoice_import_simple_pdf_invoice_number_form |
account.invoice.import.simple.pdf.invoice.number | form | New | |
account_invoice_import_simple_pdf_invoice_number_tree |
account.invoice.import.simple.pdf.invoice.number | tree | New | |
view_partner_property_form |
res.partner | div | Inherits account_invoice_import.view_partner_property_form |
No new fields.
Public methods (4)fallback_parse_pdf_invoice(self, file_data)
simple_pdf_match_partner(self, raw_text_no_space, test_results=None)
simple_pdf_parse_invoice(self, file_data, test_info=None)
simple_pdf_text_extraction(self, file_data, test_info)
date_format
Selection
help='Leave empty if the format used is the same as the format defined in the global section.'
string='Specific Date Format'
args: '_date_format_sel'
date_separator
Selection
help='Leave empty if the format used is the same as the format defined in the global section.'
string='Specific Date Separator'
args: '_date_separator_sel'
end
Char
string='End String'
extract_rule
Selection
required=True
string='Extract Rule'
args: [('first', 'First'), ('last', 'Last'), ('position_start', 'Specific Position from Start'), ('position_end', 'Specific Position from End'), ('min', 'Min'), ('max', 'Max'), ('position_min', 'Specific Position from Min'), ('position_max', 'Specific Position from Max')]
name
Selection
required=True
string='Field'
args: [('amount_total', 'Total'), ('amount_untaxed', 'Untaxed Amount'), ('amount_tax', 'Tax Amount'), ('date', 'Invoice Date'), ('date_due', 'Due Date'), ('date_start', 'Start Date'), ('date_end', 'End Date'), ('invoice_number', 'Invoice Number'), ('description', 'Description')]
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
position
Integer
default=2
regexp
Char
string='Specific Regular Expression'
sequence
Integer
default=10
start
Char
string='Start String'
date_format_change(self)
field_change(self)
get_value_from_list(self, data_list, test_info, raise_if_none=True)
restrict_text(self, raw_text, test_info)
fixed_char
Char
occurrence_max
Integer
default=1
string='Maximum Occurence'
occurrence_min
Integer
default=1
string='Minimum Occurence'
partner_id
Many2one → res.partner
ondelete='cascade'
string='Vendor'
args: 'res.partner'
sequence
Integer
default=10
string_type
Selection
required=True
string='Type'
args: '_string_type_sel'
occurrence_min_change(self)
simple_pdf_currency_id
Many2one → res.currency
help='If empty, Odoo will use the company currency.'
ondelete='restrict'
string='Invoice Import Currency'
args: 'res.currency'
simple_pdf_date_format
Selection
help="If the date format uses 'Month', check that the language is properly configured on the partner. 'Month' works both in full and short version ('January' and 'Jan.')."
string='Date Format'
args: '_simple_pdf_date_format_sel'
simple_pdf_date_separator
Selection
help="If the date looks like 'Sep. 4, 2021', use 'space' as date separator (Odoo will ignore the dot and comma)."
string='Date Separator'
args: '_simple_pdf_date_separator_sel'
simple_pdf_decimal_separator
Selection
help='If empty, Odoo will use the decimal separator configured on the language of the partner.'
string='Decimal Separator'
args: [('dot', 'dot'), ('comma', 'comma')]
simple_pdf_field_ids
One2many → account.invoice.import.simple.pdf.fields
string='Fields for PDF Invoice Import'
args: 'account.invoice.import.simple.pdf.fields', 'partner_id'
simple_pdf_invoice_number_ids
One2many → account.invoice.import.simple.pdf.invoice.number
string='Invoice Import Number Format'
args: 'account.invoice.import.simple.pdf.invoice.number', 'partner_id'
simple_pdf_keyword
Char
help="If empty, Odoo will use the VAT number to identify the partner. To match on several keywords, separate them with '|' (pipe)."
simple_pdf_pages
Selection
default='all'
string='Page Analysis'
args: [('first', 'First Page Only'), ('all', 'All Pages')]
simple_pdf_test_file
Binary
attachment=True
string='Test PDF Invoice File'
simple_pdf_test_filename
Char
string='Test PDF Invoice Filename'
simple_pdf_test_raw_text
Text
readonly=True
string='Test Text Extraction'
simple_pdf_test_results
Html
readonly=True
string='Test Results'
simple_pdf_thousand_separator
Selection
help='If empty, Odoo will use the thousand separator configured on the language of the partner.'
string='Thousand Separator'
args: [('none', 'none'), ('space', 'space'), ('dot', 'dot'), ('comma', 'comma'), ('apostrophe', 'apostrophe')]
pdf_simple_generate_default_fields(self)
pdf_simple_test_cleanup(self)
pdf_simple_test_run(self)
simple_pdf_date_format_change(self)
simple_pdf_decimal_separator_change(self)