Repository
OCA/edi · module folder · Try on Runboat
Module version
1.1.1
Category
Accounting
Folder size
0.14 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/edi
Last tracking update
2026-08-07 08:42:55
Authors
Akretion, Odoo Community Association (OCA)
Maintainers
Akretion, Odoo Community Association (OCA)
Committers
Alexis de Lattre, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
account_invoice_download_ovh, account_invoice_download_scaleway
Description
This module is the technical basis to automate the download of supplier
invoices with Odoo. It must be used in combination with additionnal
modules that add download backends. The technical name of these
additionnal modules usually start with **account_invoice_download\_**.

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
account_invoice_download_config_form account.invoice.download.config.form account.invoice.download.config form New
account_invoice_download_config_search account.invoice.download.config.search account.invoice.download.config search New
account_invoice_download_config_tree account.invoice.download.config.tree account.invoice.download.config list New
account_invoice_download_credentials_form account.invoice.download.credentials.form account.invoice.download.credentials form New
account_invoice_download_log_form account.invoice.download.log.form account.invoice.download.log form New
account_invoice_download_log_graph account.invoice.download.log.graph account.invoice.download.log graph New
account_invoice_download_log_pivot account.invoice.download.log.pivot account.invoice.download.log pivot New
account_invoice_download_log_search account.invoice.download.log.search account.invoice.download.log search New
account_invoice_download_log_tree account.invoice.download.log.tree account.invoice.download.log list New
view_partner_property_form res.partner.account.invoice.download.config res.partner form Inherits account_invoice_import.view_partner_property_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (14)
  • active Boolean
    default=True
  • backend Selection
    args: []
  • backward_days Integer
    help='By default, Odoo will download all invoices that are after the last download date. But it may happen that invoices are available online for download several days after their generation. So, if you set this parameter to 5, Odoo will download all invoices that are after the last download date minus 5 days.'
  • company_id Many2one → res.company
    default=<expr> required=True args: 'res.company'
  • download_start_date Date
    compute='_compute_download_start_date' store=True
  • interval_number Integer
    default=1 string='Frequency'
  • interval_type Selection
    default='months' string='Download Frequency' args: [('days', 'Day(s)'), ('weeks', 'Week(s)'), ('months', 'Month(s)'), ('years', 'Year(s)')]
  • last_run Date
    help='Date of the last successfull download' string='Last Download Date'
  • log_ids One2many → account.invoice.download.log
    readonly=True string='Logs' args: 'account.invoice.download.log', 'download_config_id'
  • login Char
  • method Selection
    default='manual' required=True string='Download Method' args: [('manual', 'Manual'), ('auto', 'Automatic')]
  • next_run Date
    string='Next Download Date'
  • partner_id Many2one → res.partner
    check_company=True domain=[('parent_id', '=', False)] ondelete='cascade' required=True args: 'res.partner'
  • password Char
    help="If you don't want to store the password in Odoo's database, leave this field empty and you will get a wizard to ask you the password on every download."
Public methods (6)
  • credentials_stored(self)
  • download(self, credentials, logs)
    Returns a list of either: - pivot dict (example: ovh backend) - tuple: (invoice_file_b64, invoice_filename) (example: weboob). This method is inherited in backend-specific modules
  • prepare_credentials(self)
  • run(self, credentials)
    Do the real work. Handle try/except. Create log. Return list of invoices and log
  • run_button(self)
  • run_cron(self)
    @api.model

New fields (6)
  • backend Selection
    readonly=True related='download_config_id.backend'
  • download_config_id Many2one → account.invoice.download.config
    required=True args: 'account.invoice.download.config', 'Invoice Download Config'
  • invoice_ids_str Char
    help='This field is a technical hack to be able to return the action with the created invoices'
  • log_id Many2one → account.invoice.download.log
    args: 'account.invoice.download.log'
  • login Char
  • password Char
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • default_get(self, fields_list)
    @api.model
  • prepare_and_remove_credentials(self, vals)
    @api.model
  • run(self)
    The real work is made in create(), not here!

New fields (6)
  • company_id Many2one → res.company
    related='download_config_id.company_id' store=True args: 'res.company'
  • download_config_id Many2one → account.invoice.download.config
    readonly=True args: 'account.invoice.download.config'
  • invoice_count Integer
    readonly=True string='Number of Invoices Downloaded'
  • message Text
    readonly=True
  • partner_id Many2one
    related='download_config_id.partner_id' store=True
  • result Selection
    readonly=True args: [('success', 'Success'), ('failure', 'Failure')]
Public methods (0)

No public methods.

New fields (2)
  • download_config_count Integer
    compute='_compute_download_config_count' groups='account.group_account_invoice,account.group_account_readonly'
  • download_config_ids One2many → account.invoice.download.config
    string='Download Configurations' args: 'account.invoice.download.config', 'partner_id'
Public methods (1)
  • jump_to_download_config(self)

Loading…

Loading…

Loading…

Loading…