Magento Connector

connector_magento
REPOSITORY
REPOSITORYOCA/connector-magento
GIT
GIThttps://github.com/OCA/connector-magento.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-magento/tree/12.0/connector_magento
VERSION
VERSION 1.1.7
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Camptocamp, Sodexis
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Camptocamp, Sodexis
COMMITTERS
COMMITTERSStefan Rijnhart, Holger Brunn, sebalix, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Martin Pishpecki
WEBSITE
WEBSITEhttp://www.odoo-magento-connector.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_sale
    - account_payment_partner
    - account_payment_mode
OCA/connector:
    - connector
    - component
    - component_event
    - connector_base_product
OCA/connector-ecommerce:
    - connector_ecommerce
OCA/product-attribute:
    - product_multi_category
OCA/queue:
    - queue_job
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_technical_user
    - base_exception
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - delivery
    - sale_stock
    - sale
    - sales_team
    - payment
    - stock_account
    - stock
    - barcodes
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES magento
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (32)
XML IDNameModelTypeStatus
account_payment_mode_form_inherit account.payment.mode group Inherits connector_ecommerce.account_payment_mode_form_inherit
magento_binding_backend_read_form_view magento.binding.backend.read.form (in connector_magento) magento.binding.backend.read form New
product_normal_form_view product.product.form product.product page Inherits connector_base_product.product_normal_form_view
view_invoice_magento_form account.invoice.magento.form account.invoice page 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_delivery_carrier_form magento.delivery.carrier.form delivery.carrier xpath 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_sale_order_form magento.sale.order.form magento.sale.order form New
view_magento_sale_order_tree magento.sale.order.tree magento.sale.order 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 field Inherits base.view_partner_category_form
view_partner_form res.partner.form res.partner field Inherits connector.view_partner_connector_form
view_product_category_form product.category.form.magento product.category xpath Inherits product.product_category_form_view
view_sale_order_magento_form sale.order.magento.form sale.order page Inherits connector_ecommerce.view_order_connector_form
view_stock_picking_out_magento_form stock.picking.magento.form stock.picking page Inherits connector_ecommerce.view_stock_picking_out_connector_form
Models touched (27)

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

No public methods.

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 Odoo?\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 (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'
  • odoo_id Many2one → account.invoice
    comodel_name='account.invoice' ondelete='cascade' required=True string='Invoice'
Public methods (1)
  • export_record(self)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a validated or paid invoice.

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'
  • odoo_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 (26)
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' help='If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view.' string='Analytic account'
  • 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'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' help='If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Fiscal position'
  • import_categories_from_date Datetime
    string='Import categories from date'
  • import_products_from_date Datetime
    string='Import products from date'
  • is_multi_company Boolean
    help='If this flag is set, it is possible to choose warehouse at each level. When import partner, ignore company_id if this flag is set.' string='Is Backend Multi-Company'
  • location Char
    help='Url to magento application' required=True string='Location'
  • name Char
    required=True string='Name'
  • order_import_delay Integer
    default=0 help='Only import orders created earlier than ... minutes ago.'
  • 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 Odoo." string='Sale Prefix'
  • token Char
    help='Authentication token for Magento 2.0+. See https://devdocs. magento.com/guides/v2.3/get-started/authentication/gs-authentication-token.html'
  • 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'
  • verify_ssl Boolean
    default=True help='Only for Magento 2.0+' string='Verify SSL certificate'
  • 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 (11)
  • add_checkpoint(self, record)
    @api.multi
  • 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
  • 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
  • work_on(self, model_name, **kwargs)
    @contextmanager@api.multi

New fields (2)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' ondelete='restrict' required=True string='Magento Backend'
  • external_id Char
    oldname='magento_id' string='ID on Magento'
Public methods (4)
  • export_delete_record(self, backend, external_id)
    @job(default_channel='root.magento')@related_action(action='related_action_magento_link')
    Delete a record on Magento
  • export_record(self, fields=None)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a record on Magento
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model
    Prepare the import of records modified on Magento
  • import_record(self, backend, external_id, force=False)
    @job(default_channel='root.magento')@related_action(action='related_action_magento_link')@api.model
    Import a Magento record

New fields (6)
  • data Binary
    readonly=True args: 'File'
  • magento_backend_id Many2one → magento.backend
    default=_default_magento_backend_id readonly=True required=True args: 'magento.backend'
  • magento_binding_model Selection
    required=True args: '_get_magento_binding_model'
  • magento_id Char
    required=True args: 'Magento Id'
  • name Char
    readonly=True args: 'File Name'
  • state Selection
    default='choose' args: [('choose', 'choose'), ('get', 'get')]
Public methods (1)
  • action_get_info(self)
    @api.multi

New fields (6)
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' compute='_compute_account_analytic_id' string='Analytic account'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' compute='_compute_fiscal_position_id' string='Fiscal position'
  • specific_account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' help='If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view.' string='Specific analytic account'
  • specific_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' help='If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Specific fiscal position'
  • specific_warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='If specified, this warehouse will be used to load fill the field warehouse (and company) on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Specific warehouse'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' compute='_compute_warehouse_id' string='warehouse'
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'
  • odoo_id Many2one → product.category
    comodel_name='product.category' ondelete='cascade' required=True string='Product Category'
Public methods (0)

No public methods.

New fields (10)
  • 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_internal_id Char
    help='In Magento2, we have to keep track of both the external_id (the product SKU) which is used in the Magento2 REST API, as well as the Magento internal id as used in the admin URL.'
  • 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'
  • odoo_id Many2one → product.product
    comodel_name='product.product' ondelete='restrict' required=True string='Odoo 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 (3)
  • export_inventory(self, fields=None)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export the inventory configuration and quantity of a product.
  • 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'
  • odoo_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)
  • odoo_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'
  • odoo_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=dp.get_precision('Account') string='Total amount'
  • total_amount_tax Float
    digits=dp.get_precision('Account') string='Total amount w. tax'
Public methods (2)
  • export_state_change(self, allowed_states=None, comment=None, notify=None)
    @job(default_channel='root.magento')@api.multi
    Change state of a sales order on Magento
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model
    Prepare the import of Sales Orders from Magento

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' index=True ondelete='cascade' required=True string='Magento Sale Order'
  • notes Char
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order Line'
  • tax_rate Float
    digits=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'
  • odoo_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 (2)
  • export_picking_done(self, with_tracking=True)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a complete or partial delivery order.
  • export_tracking_number(self)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export the tracking number of a delivery order.

New fields (8)
  • 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 Odoo?\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'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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 (13)
  • 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'
  • base_media_url Char
    help='Base URL to retrieve product images. Used for Magento2 only. For example: http://magento/media'
  • 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'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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'
  • sort_order Integer
    readonly=True string='Sort Order'
  • store_id Many2one → magento.store
    comodel_name='magento.store' ondelete='cascade' readonly=True string='Store'
  • team_id Many2one → crm.team
    comodel_name='crm.team' string='Sales Team'
Public methods (1)
  • import_sale_orders(self)
    @api.multi

New fields (7)
  • code Char
    readonly=True
  • import_partners_from_date Datetime
    string='Import partners from date'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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)
  • magento_bind_ids One2many → magento.product.category
    comodel_name='magento.product.category' inverse_name='odoo_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='odoo_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • related_action_magento_link(self, backend_id_pos=0, external_id_pos=1)
    @api.multi
    Open a Magento URL on the admin page to view/edit the record related to the job.

New fields (4)
  • birthday Date
    string='Birthday'
  • company Char
    string='Company name (in Magento)'
  • magento_address_bind_ids One2many → magento.address
    comodel_name='magento.address' inverse_name='odoo_id' string='Magento Address Bindings'
  • magento_bind_ids One2many → magento.res.partner
    comodel_name='magento.res.partner' inverse_name='odoo_id' string='Magento Bindings'
Public methods (1)
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model

New fields (1)
  • magento_bind_ids One2many → magento.res.partner.category
    comodel_name='magento.res.partner.category' inverse_name='odoo_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='odoo_id' string='Magento Bindings'
Public methods (3)
  • copy(self, default=None)
    @api.multi
  • get_parent_id(self)
    @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='odoo_id' string='Magento Bindings'
Public methods (2)
  • copy_data(self, default=None)
    @api.multi
  • create(self, vals)
    @api.model

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

No public methods.

REPOSITORY
REPOSITORYOCA/connector-magento
GIT
GIThttps://github.com/OCA/connector-magento.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-magento/tree/10.0/connector_magento
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Camptocamp, Sodexis
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Camptocamp, Sodexis
COMMITTERS
COMMITTERSYannick Vaucher, Guewen Baconnier, GitHub, Cédric Pigeon, Laurent Mignon (ACSONE), Stéphane Bidoul (ACSONE), Jared Kipe, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.odoo-magento-connector.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_sale
    - account_payment_partner
    - account_payment_mode
OCA/connector:
    - connector
    - component
    - component_event
    - connector_base_product
OCA/connector-ecommerce:
    - connector_ecommerce
OCA/product-attribute:
    - product_multi_category
OCA/queue:
    - queue_job
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_technical_user
    - base_exception
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - delivery
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES magento
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (32)
XML IDNameModelTypeStatus
account_payment_mode_form_inherit account.payment.mode group Inherits connector_ecommerce.account_payment_mode_form_inherit
magento_binding_backend_read_form_view magento.binding.backend.read.form (in connector_magento) magento.binding.backend.read form New
product_normal_form_view product.product.form product.product page Inherits connector_base_product.product_normal_form_view
view_invoice_magento_form account.invoice.magento.form account.invoice page 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_delivery_carrier_form magento.delivery.carrier.form delivery.carrier xpath 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_sale_order_form magento.sale.order.form magento.sale.order form New
view_magento_sale_order_tree magento.sale.order.tree magento.sale.order 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 field Inherits base.view_partner_category_form
view_partner_form res.partner.form res.partner field Inherits connector.view_partner_connector_form
view_product_category_form product.category.form.magento product.category xpath Inherits product.product_category_form_view
view_sale_order_magento_form sale.order.magento.form sale.order page Inherits connector_ecommerce.view_order_connector_form
view_stock_picking_out_magento_form stock.picking.magento.form stock.picking page Inherits connector_ecommerce.view_stock_picking_out_connector_form
Models touched (27)

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

No public methods.

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 Odoo?\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 (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'
  • odoo_id Many2one → account.invoice
    comodel_name='account.invoice' ondelete='cascade' required=True string='Invoice'
Public methods (1)
  • export_record(self)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a validated or paid invoice.

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'
  • odoo_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 (22)
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' help='If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view.' string='Analytic account'
  • 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'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' help='If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Fiscal position'
  • import_categories_from_date Datetime
    string='Import categories from date'
  • import_products_from_date Datetime
    string='Import products from date'
  • is_multi_company Boolean
    help='If this flag is set, it is possible to choose warehouse at each level. When import partner, ignore company_id if this flag is set.' string='Is Backend Multi-Company'
  • 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 Odoo." 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 (11)
  • add_checkpoint(self, record)
    @api.multi
  • 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
  • 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
  • work_on(self, model_name, **kwargs)
    @contextmanager@api.multi

New fields (2)
  • backend_id Many2one → magento.backend
    comodel_name='magento.backend' ondelete='restrict' required=True string='Magento Backend'
  • external_id Char
    string='ID on Magento'
Public methods (4)
  • export_delete_record(self, backend, external_id)
    @job(default_channel='root.magento')@related_action(action='related_action_magento_link')
    Delete a record on Magento
  • export_record(self, fields=None)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a record on Magento
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model
    Prepare the import of records modified on Magento
  • import_record(self, backend, external_id, force=False)
    @job(default_channel='root.magento')@related_action(action='related_action_magento_link')@api.model
    Import a Magento record

New fields (6)
  • data Binary
    readonly=True args: 'File'
  • magento_backend_id Many2one → magento.backend
    default=_default_magento_backend_id readonly=True required=True args: 'magento.backend'
  • magento_binding_model Selection
    required=True args: '_get_magento_binding_model'
  • magento_id Char
    required=True args: 'Magento Id'
  • name Char
    readonly=True args: 'File Name'
  • state Selection
    default='choose' args: [('choose', 'choose'), ('get', 'get')]
Public methods (1)
  • action_get_info(self)
    @api.multi

New fields (6)
  • account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' compute='_compute_account_analytic_id' string='Analytic account'
  • fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' compute='_compute_fiscal_position_id' string='Fiscal position'
  • specific_account_analytic_id Many2one → account.analytic.account
    comodel_name='account.analytic.account' help='If specified, this analytic account will be used to fill the field on the sale order created by the connector. The value can also be specified on website or the store or the store view.' string='Specific analytic account'
  • specific_fiscal_position_id Many2one → account.fiscal.position
    comodel_name='account.fiscal.position' help='If specified, this fiscal position will be used to fill the field fiscal position on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Specific fiscal position'
  • specific_warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='If specified, this warehouse will be used to load fill the field warehouse (and company) on the sale order created by the connector.The value can also be specified on website or the store or the store view.' string='Specific warehouse'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' compute='_compute_warehouse_id' string='warehouse'
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'
  • odoo_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'
  • odoo_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 (3)
  • export_inventory(self, fields=None)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export the inventory configuration and quantity of a product.
  • 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'
  • odoo_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)
  • odoo_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'
  • odoo_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=dp.get_precision('Account') string='Total amount'
  • total_amount_tax Float
    digits=dp.get_precision('Account') string='Total amount w. tax'
Public methods (2)
  • export_state_change(self, allowed_states=None, comment=None, notify=None)
    @job(default_channel='root.magento')@api.multi
    Change state of a sales order on Magento
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model
    Prepare the import of Sales Orders from Magento

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' index=True ondelete='cascade' required=True string='Magento Sale Order'
  • notes Char
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order Line'
  • tax_rate Float
    digits=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'
  • odoo_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 (2)
  • export_picking_done(self, with_tracking=True)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export a complete or partial delivery order.
  • export_tracking_number(self)
    @job(default_channel='root.magento')@related_action(action='related_action_unwrap_binding')@api.multi
    Export the tracking number of a delivery order.

New fields (8)
  • 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 Odoo?\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'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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 (12)
  • 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'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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'
  • sort_order Integer
    readonly=True string='Sort Order'
  • store_id Many2one → magento.store
    comodel_name='magento.store' ondelete='cascade' readonly=True string='Store'
  • team_id Many2one → crm.team
    comodel_name='crm.team' string='Sales Team'
Public methods (1)
  • import_sale_orders(self)
    @api.multi

New fields (7)
  • code Char
    readonly=True
  • import_partners_from_date Datetime
    string='Import partners from date'
  • is_multi_company Boolean
    related='backend_id.is_multi_company'
  • 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)
  • magento_bind_ids One2many → magento.product.category
    comodel_name='magento.product.category' inverse_name='odoo_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='odoo_id' string='Magento Bindings'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • related_action_magento_link(self, backend_id_pos=0, external_id_pos=1)
    @api.multi
    Open a Magento URL on the admin page to view/edit the record related to the job.

New fields (4)
  • birthday Date
    string='Birthday'
  • company Char
    string='Company'
  • magento_address_bind_ids One2many → magento.address
    comodel_name='magento.address' inverse_name='odoo_id' string='Magento Address Bindings'
  • magento_bind_ids One2many → magento.res.partner
    comodel_name='magento.res.partner' inverse_name='odoo_id' string='Magento Bindings'
Public methods (1)
  • import_batch(self, backend, filters=None)
    @job(default_channel='root.magento')@api.model

New fields (1)
  • magento_bind_ids One2many → magento.res.partner.category
    comodel_name='magento.res.partner.category' inverse_name='odoo_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='odoo_id' string='Magento Bindings'
Public methods (3)
  • copy(self, default=None)
    @api.multi
  • get_parent_id(self)
    @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='odoo_id' string='Magento Bindings'
Public methods (2)
  • copy_data(self, default=None)
    @api.multi
  • create(self, vals)
    @api.model

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

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/connector-magento
PULL REQUEST
PULL REQUEST[11.0] [MIG] connector_magento (#274)