Repository
OCA/connector-magento · module folder · Try on Runboat
Module version
3.0.0
Category
Connector
Folder size
3.87 MB
License
AGPL-3
Application
Yes
Auto-installable
No
Website
http://www.odoo-magento-connector.com
Last tracking update
2026-08-07 07:10:02
Authors
Camptocamp, Akretion, Odoo Community Association (OCA)
Maintainers
Camptocamp, Akretion, Odoo Community Association (OCA)
Committers
Guewen Baconnier, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Dave Lasley, Justin Scott
Odoo dependencies
Python dependencies
magento, requests
System dependencies
None
Required by
customize_example, magentoerpconnect_catalog, magentoerpconnect_export_partner, magentoerpconnect_options_active, magentoerpconnect_order_comment, magentoerpconnect_pricing, server_env_magentoerpconnect
Description

Code Analysis

Views touched (29)
XML IDNameModelTypeStatus
payment_method_view_form payment.method form Inherits connector_ecommerce.payment_method_view_form
product_normal_form_view product.product.form product.product form Inherits connector_base_product.product_normal_form_view
view_invoice_magento_form account.invoice.magento.form account.invoice form Inherits connector_ecommerce.view_invoice_connector_form
view_magento_account_invoice_form magento.account.invoice.form magento.account.invoice form New
view_magento_account_invoice_tree magento.account.invoice.tree magento.account.invoice tree New
view_magento_address_form magento.address.form magento.address form New
view_magento_address_tree magento.address.tree magento.address tree New
view_magento_backend_form magento.backend.form magento.backend form New
view_magento_backend_tree magento.backend.tree magento.backend tree New
view_magento_config_settings Connector Settings connector.config.settings Inherits connector.view_connector_config_settings
view_magento_delivery_carrier_form magento.delivery.carrier.form delivery.carrier form Inherits delivery.view_delivery_carrier_form
view_magento_product_category_form magento.product.category.form magento.product.category form New
view_magento_product_category_tree magento.product.category.tree magento.product.category tree New
view_magento_product_form magento.product.product.form magento.product.product form New
view_magento_product_tree magento.product.product.tree magento.product.product tree New
view_magento_res_partner_form magento.res.partner.form magento.res.partner form New
view_magento_res_partner_tree magento.res.partner.tree magento.res.partner tree New
view_magento_stock_picking_out_form magento.stock.picking.form magento.stock.picking form New
view_magento_stock_picking_out_tree magento.stock.picking.tree magento.stock.picking tree New
view_magento_store_form magento.store.form magento.store form New
view_magento_store_tree magento.store.tree magento.store tree New
view_magento_storeview_form magento.storeview.form magento.storeview form New
view_magento_storeview_tree magento.storeview.tree magento.storeview tree New
view_magento_website_form magento.website.form magento.website form New
view_magento_website_tree magento.website.tree magento.website tree New
view_partner_category_form res.partner.category.form res.partner.category form Inherits base.view_partner_category_form
view_partner_form res.partner.form res.partner form Inherits connector.view_partner_connector_form
view_product_category_form product.category.form.magento product.category form Inherits product.product_category_form_view
view_stock_picking_out_magento_form stock.picking.magento.form stock.picking form Inherits connector_ecommerce.view_stock_picking_out_connector_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (25)

New fields (1)
  • magento_bind_ids One2many → magento.account.invoice
    comodel_name='magento.account.invoice' inverse_name='openerp_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (2)
  • module_magentoerpconnect_export_partner Boolean
    help='This installs the module magentoerpconnect_export_partner.' string='Export Partners to Magento (experimental)'
  • module_magentoerpconnect_pricing Boolean
    help='Prices are set in OpenERP and exported to Magento.\n\nThis installs the module magentoerpconnect_pricing.' string='Prices are managed in OpenERP with pricelists'
Public methods (0)

No public methods.

New fields (4)
  • magento_carrier_code Char
    compute='_compute_carrier_code' string='Magento Base Carrier Code'
  • magento_code Char
    required=False string='Magento Carrier Code'
  • magento_export_tracking Boolean
    default=True string='Export tracking numbers'
  • magento_tracking_title Char
    required=False string='Magento Tracking Title'
Public methods (0)

No public methods.

New fields (2)
  • magento_order_id Many2one → magento.sale.order
    comodel_name='magento.sale.order' ondelete='set null' string='Magento Sale Order'
  • openerp_id Many2one → account.invoice
    comodel_name='account.invoice' ondelete='cascade' required=True string='Invoice'
Public methods (0)

No public methods.

New fields (9)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' readonly=True related='magento_partner_id.backend_id' required=False store=True string='Magento Backend'
  • created_at Datetime
    readonly=True string='Created At (on Magento)'
  • is_default_billing Boolean
    string='Default Invoice'
  • is_default_shipping Boolean
    string='Default Shipping'
  • is_magento_order_address Boolean
    string='Address from a Magento Order'
  • magento_partner_id Many2one → magento.res.partner
    comodel_name='magento.res.partner' ondelete='cascade' required=True string='Magento Partner'
  • openerp_id Many2one → res.partner
    comodel_name='res.partner' ondelete='cascade' required=True string='Partner'
  • updated_at Datetime
    readonly=True string='Updated At (on Magento)'
  • website_id Many2one → magento.website
    comodel_name='magento.website' readonly=True related='magento_partner_id.website_id' store=True string='Magento Website'
Public methods (0)

No public methods.

New fields (19)
  • admin_location Char
    string='Admin Location'
  • auth_basic_password Char
    help='Basic access authentication web server side password' string='Basic Auth. Password'
  • auth_basic_username Char
    help='Basic access authentication web server side username' string='Basic Auth. Username'
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='warehouse_id.company_id' string='Company'
  • default_category_id Many2one → product.category
    comodel_name='product.category' help='If a default category is selected, products imported without a category will be linked to it.' string='Default Product Category'
  • default_lang_id Many2one → res.lang
    comodel_name='res.lang' help='If a default language is selected, the records will be imported in the translation of this language.\nNote that a similar configuration exists for each storeview.' string='Default Language'
  • import_categories_from_date Datetime
    string='Import categories from date'
  • import_products_from_date Datetime
    string='Import products from date'
  • location Char
    help='Url to magento application' required=True string='Location'
  • password Char
    help='Webservice password' string='Password'
  • product_binding_ids One2many → magento.product.product
    comodel_name='magento.product.product' inverse_name='backend_id' readonly=True string='Magento Products'
  • product_stock_field_id Many2one → ir.model.fields
    comodel_name='ir.model.fields' default=_get_stock_field_id domain="[('model', 'in', ['product.product', 'product.template']), ('ttype', '=', 'float')]" help='Choose the field of the product which will be used for stock inventory updates.\nIf empty, Quantity Available is used.' string='Stock Field'
  • sale_prefix Char
    help="A prefix put before the name of imported sales orders.\nFor instance, if the prefix is 'mag-', the sales order 100000692 in Magento, will be named 'mag-100000692' in OpenERP." string='Sale Prefix'
  • use_auth_basic Boolean
    help='Use a Basic Access Authentication for the API. The Magento server could be configured to restrict access using a HTTP authentication based on a username and a password.' string='Use HTTP Auth Basic'
  • use_custom_api_path Boolean
    help="The default API path is '/index.php/api/xmlrpc'. Check this box if you use a custom API path, in that case, the location has to be completed with the custom API path " string='Custom Api Path'
  • username Char
    help='Webservice user' string='Username'
  • version Selection
    required=True selection='select_versions'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
  • website_ids One2many → magento.website
    comodel_name='magento.website' inverse_name='backend_id' readonly=True string='Website'
Public methods (10)
  • check_magento_structure(self)
    @api.multi
    Used in each data import. Verify if a website exists for each backend before starting the import.
  • import_customer_groups(self)
    @api.multi
  • import_partners(self)
    @api.multi
    Import partners from all websites
  • import_product_categories(self)
    @api.multi
  • import_product_product(self)
    @api.multi
  • import_sale_orders(self)
    @api.multi
    Import sale orders from all store views
  • output_recorder(self)
    @api.multi
    Utility method to output a file containing all the recorded requests / responses with Magento. Used to generate test data. Should be called with ``erppeek`` for instance.
  • select_versions(self)
    @api.model
    Available versions in the backend. Can be inherited to add custom versions. Using this method to add a version from an ``_inherit`` does not constrain to redefine the ``version`` field in the ``_inherit`` model.
  • synchronize_metadata(self)
    @api.multi
  • update_product_stock_qty(self)
    @api.multi

New fields (2)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' ondelete='restrict' required=True string='Magento Backend'
  • magento_id Char
    string='ID on Magento'
Public methods (0)

No public methods.

New fields (4)
  • description Text
    translate=True
  • magento_child_ids One2many → magento.product.category
    comodel_name='magento.product.category' inverse_name='magento_parent_id' string='Magento Child Categories'
  • magento_parent_id Many2one → magento.product.category
    comodel_name='magento.product.category' ondelete='cascade' string='Magento Parent Category'
  • openerp_id Many2one → product.category
    comodel_name='product.category' ondelete='cascade' required=True string='Product Category'
Public methods (0)

No public methods.

New fields (9)
  • backorders Selection
    default='use_default' required=True selection=[('use_default', 'Use Default Config'), ('no', 'No Sell'), ('yes', 'Sell Quantity < 0'), ('yes-and-notification', 'Sell Quantity < 0 and Use Customer Notification')] string='Manage Inventory Backorders'
  • created_at Date
    args: 'Created At (on Magento)'
  • magento_qty Float
    help='Last computed quantity to send on Magento.' string='Computed Quantity'
  • manage_stock Selection
    default='use_default' required=True selection=[('use_default', 'Use Default Config'), ('no', 'Do Not Manage Stock'), ('yes', 'Manage Stock')] string='Manage Stock Level'
  • no_stock_sync Boolean
    help='Check this to exclude the product from stock synchronizations.' required=False string='No Stock Synchronization'
  • openerp_id Many2one → product.product
    comodel_name='product.product' ondelete='restrict' required=True string='Product'
  • product_type Selection
    default='simple' required=True selection='product_type_get' string='Magento Product Type'
  • updated_at Date
    args: 'Updated At (on Magento)'
  • website_ids Many2many → magento.website
    comodel_name='magento.website' readonly=True string='Websites'
Public methods (2)
  • product_type_get(self)
    @api.model
  • recompute_magento_qty(self)
    @api.multi
    Check if the quantity in the stock location configured on the backend has changed since the last export. If it has changed, write the updated quantity on `magento_qty`. The write on `magento_qty` will trigger an `on_record_write` event that will create an export job. It groups the products by backend to avoid to read the backend informations for each product.

New fields (11)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' readonly=True related='website_id.backend_id' required=False store=True string='Magento Backend'
  • consider_as_company Boolean
    help="An account imported with a 'company' in the billing address is considered as a company.\n The partner takes the name of the company and is not merged with the billing address." string='Considered as company'
  • created_at Datetime
    readonly=True string='Created At (on Magento)'
  • emailid Char
    string='E-mail address'
  • group_id Many2one → magento.res.partner.category
    comodel_name='magento.res.partner.category' string='Magento Group (Category)'
  • guest_customer Boolean
    string='Guest Customer'
  • newsletter Boolean
    string='Newsletter'
  • openerp_id Many2one → res.partner
    comodel_name='res.partner' ondelete='cascade' required=True string='Partner'
  • taxvat Char
    string='Magento VAT'
  • updated_at Datetime
    readonly=True string='Updated At (on Magento)'
  • website_id Many2one → magento.website
    comodel_name='magento.website' ondelete='restrict' required=True string='Magento Website'
Public methods (0)

No public methods.

New fields (2)
  • openerp_id Many2one → res.partner.category
    comodel_name='res.partner.category' ondelete='cascade' required=True string='Partner Category'
  • tax_class_id Integer
    string='Tax Class ID'
Public methods (0)

No public methods.

New fields (8)
  • magento_order_id Integer
    help="'order_id' field in Magento" string='Magento Order ID'
  • magento_order_line_ids One2many → magento.sale.order.line
    comodel_name='magento.sale.order.line' inverse_name='magento_order_id' string='Magento Order Lines'
  • magento_parent_id Many2one → magento.sale.order
    comodel_name='magento.sale.order' string='Parent Magento Order'
  • openerp_id Many2one → sale.order
    comodel_name='sale.order' ondelete='cascade' required=True string='Sale Order'
  • store_id Many2one
    readonly=True related='storeview_id.store_id' string='Storeview'
  • storeview_id Many2one → magento.storeview
    comodel_name='magento.storeview' string='Magento Storeview'
  • total_amount Float
    digits_compute=dp.get_precision('Account') string='Total amount'
  • total_amount_tax Float
    digits_compute=dp.get_precision('Account') string='Total amount w. tax'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one
    readonly=True related='magento_order_id.backend_id' required=False store=True string='Magento Backend'
  • magento_order_id Many2one → magento.sale.order
    comodel_name='magento.sale.order' ondelete='cascade' required=True select=True string='Magento Sale Order'
  • notes Char
  • openerp_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order Line'
  • tax_rate Float
    digits_compute=dp.get_precision('Account') string='Tax Rate'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (3)
  • magento_order_id Many2one → magento.sale.order
    comodel_name='magento.sale.order' ondelete='set null' string='Magento Sale Order'
  • openerp_id Many2one → stock.picking
    comodel_name='stock.picking' ondelete='cascade' required=True string='Stock Picking'
  • picking_method Selection
    required=True selection=[('complete', 'Complete'), ('partial', 'Partial')] string='Picking Method'
Public methods (0)

No public methods.

New fields (7)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' readonly=True related='website_id.backend_id' required=False store=True string='Magento Backend'
  • create_invoice_on Selection
    default='paid' help="Should the invoice be created in Magento when it is validated or when it is paid in OpenERP?\nThis only takes effect if the sales order's related payment method is not giving an option for this by itself. (See Payment Methods)" required=True selection=[('open', 'Validate'), ('paid', 'Paid')] string='Create invoice on action'
  • name Char
  • send_invoice_paid_mail Boolean
    help='Does the invoice export/creation should send an email notification on Magento side?' string='Send email notification on invoice validated/paid'
  • send_picking_done_mail Boolean
    help='Does the picking export/creation should send an email notification on Magento side?' string='Send email notification on picking done'
  • storeview_ids One2many → magento.storeview
    comodel_name='magento.storeview' inverse_name='store_id' readonly=True string='Storeviews'
  • website_id Many2one → magento.website
    comodel_name='magento.website' ondelete='cascade' readonly=True required=True string='Magento Website'
Public methods (0)

No public methods.

New fields (11)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' readonly=True related='store_id.website_id.backend_id' required=False store=True string='Magento Backend'
  • catalog_price_tax_included Boolean
    string='Prices include tax'
  • code Char
    readonly=True
  • enabled Boolean
    readonly=True string='Enabled'
  • import_orders_from_date Datetime
    help='do not consider non-imported sale orders before this date. Leave empty to import all sale orders' string='Import sale orders from date'
  • lang_id Many2one → res.lang
    comodel_name='res.lang' string='Language'
  • name Char
    readonly=True required=True
  • no_sales_order_sync Boolean
    help='Check if the storeview is active in Magento but its sales orders should not be imported.' string='No Sales Order Synchronization'
  • section_id Many2one → crm.case.section
    comodel_name='crm.case.section' string='Sales Team'
  • sort_order Integer
    readonly=True string='Sort Order'
  • store_id Many2one → magento.store
    comodel_name='magento.store' ondelete='cascade' readonly=True string='Store'
Public methods (1)
  • import_sale_orders(self)
    @api.multi

New fields (6)
  • code Char
    readonly=True
  • import_partners_from_date Datetime
    string='Import partners from date'
  • name Char
    readonly=True required=True
  • product_binding_ids Many2many → magento.product.product
    comodel_name='magento.product.product' readonly=True string='Magento Products'
  • sort_order Integer
    readonly=True string='Sort Order'
  • store_ids One2many → magento.store
    comodel_name='magento.store' inverse_name='website_id' readonly=True string='Stores'
Public methods (1)
  • import_partners(self)
    @api.multi

New fields (1)
  • create_invoice_on Selection
    help='Should the invoice be created in Magento when it is validated or when it is paid in OpenERP?\nIf nothing is set, the option falls back to the same option on the Magento store related to the sales order.' selection=[('open', 'Validate'), ('paid', 'Paid')] string='Create invoice on action'
Public methods (0)

No public methods.

New fields (1)
  • magento_bind_ids One2many → magento.product.category
    comodel_name='magento.product.category' inverse_name='openerp_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (1)
  • magento_bind_ids One2many → magento.product.product
    comodel_name='magento.product.product' inverse_name='openerp_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (4)
  • birthday Date
    string='Birthday'
  • company Char
    string='Company'
  • magento_address_bind_ids One2many → magento.address
    comodel_name='magento.address' inverse_name='openerp_id' string='Magento Address Bindings'
  • magento_bind_ids One2many → magento.res.partner
    comodel_name='magento.res.partner' inverse_name='openerp_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (1)
  • magento_bind_ids One2many → magento.res.partner.category
    comodel_name='magento.res.partner.category' inverse_name='openerp_id' readonly=True string='Magento Bindings'
Public methods (0)

No public methods.

New fields (1)
  • magento_bind_ids One2many → magento.sale.order
    comodel_name='magento.sale.order' inverse_name='openerp_id' string='Magento Bindings'
Public methods (3)
  • copy_quotation(self)
    @api.multi
  • get_parent_id(self)
    @api.one@api.depends('magento_bind_ids', 'magento_bind_ids.magento_parent_id')
    Return the parent order. For Magento sales orders, the magento parent order is stored in the binding, get it from there.
  • write(self, vals)
    @api.multi

New fields (1)
  • magento_bind_ids One2many → magento.sale.order.line
    comodel_name='magento.sale.order.line' inverse_name='openerp_id' string='Magento Bindings'
Public methods (2)
  • copy_data(self, cr, uid, id, default=None, context=None)
  • create(self, vals)
    @api.model

New fields (1)
  • magento_bind_ids One2many → magento.stock.picking
    comodel_name='magento.stock.picking' inverse_name='openerp_id' string='Magento Bindings'
Public methods (0)

No public methods.

Loading…

Loading…