PrestaShop-Odoo connector

connector_prestashop
REPOSITORY
REPOSITORYOCA/connector-prestashop
GIT
GIThttps://github.com/OCA/connector-prestashop.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-prestashop/tree/14.0/connector_prestashop
VERSION
VERSION 2.0.2
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp, Mind And Go
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp, Mind And Go
COMMITTERS
COMMITTERSGitHub, Florian da Costa, Weblate, OCA-git-bot, Florent THOMAS, oca-ci, Hai Lang
WEBSITE
WEBSITEhttps://github.com/OCA/connector-prestashop
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:13
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
    - product_multi_image
OCA/queue:
    - queue_job
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_multi_image
    - base_exception
    - onchange_helper
odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
    - base_sparse_field
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - delivery
    - sale_management
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES bs4
freezegun
html2text
prestapyt
vcrpy
requests
cachetools
openupgradelib
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (42)
XML IDNameModelTypeStatus
account_tax_group_connector_prestashop_tree_view prestashop.account.tax.group tree New
combination_connector_presta_form_view prestashop.product.combination form New
combination_connector_presta_tree_view prestashop.product.combination tree New
image_prestashop_binding_form_view Multi image prestashop binding form prestashop.product.image xpath Inherits base_multi_image.image_form_view
prestashop_binding_tax_group_form_view account.tax.group form New
product_category_connector_prestashop_form_view prestashop.product.category.form.view prestashop.product.category form New
product_category_connector_prestashop_tree_view prestashop.product.category tree New
product_category_prestashop_binding_form_view product.category xpath Inherits product.product_category_form_view
product_connector_presta_form_view prestashop.product.template form New
product_connector_presta_search prestashop.product.template.search prestashop.product.template search New
product_connector_presta_tree_view prestashop.product.template tree New
product_normal_form_view product.product page Inherits connector_base_product.product_normal_form_view
product_normal_form_view_default_check product.product field Inherits product.product_normal_form_view
product_product_tree_prestashop_view product.product.prestashop.tree product.product field Inherits product.product_product_tree_view
product_template_common_form product.template page Inherits connector_base_product.product_template_common_form
product_template_default_category_form product.template field Inherits product_multi_category.product_template_only_form_view_add_categids
view_location_prestashop_inherited_form stock.location xpath Inherits stock.view_location_form
view_order_connector_prestashop_form sale.order.connector.prestashop.form sale.order page Inherits connector_ecommerce.view_order_connector_form
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 page Inherits connector.view_partner_connector_form
view_prestashop_address_form prestashop.address.form prestashop.address form New
view_prestashop_address_tree prestashop.address.tree prestashop.address tree New
view_prestashop_backend_form prestashop.backend.form prestashop.backend form New
view_prestashop_backend_tree prestashop.backend.tree prestashop.backend tree New
view_prestashop_delivery_carrier_form prestashop.delivery.carrier form New
view_prestashop_delivery_carrier_tree prestashop.delivery.carrier tree New
view_prestashop_partner_category_form prestashop.res.partner.category.form prestashop.res.partner.category form New
view_prestashop_partner_category_tree prestashop.res.partner.category.tree prestashop.res.partner.category tree New
view_prestashop_res_partner_form prestashop.res.partner.form prestashop.res.partner form New
view_prestashop_res_partner_tree prestashop.res.partner.tree prestashop.res.partner tree New
view_prestashop_sale_order_form prestashop.sale.order.form prestashop.sale.order form New
view_prestashop_sale_order_state_form prestashop.sale.order.state.form prestashop.sale.order.state form New
view_prestashop_sale_order_state_tree prestashop.sale.order.state.tree prestashop.sale.order.state tree New
view_prestashop_shop_form prestashop.shop.form prestashop.shop form New
view_prestashop_shop_group_form prestashop.shop.group.form prestashop.shop.group form New
view_prestashop_shop_group_tree prestashop.shop.group.tree prestashop.shop.group tree New
view_prestashop_shop_tree prestashop.shop.tree prestashop.shop tree New
view_queue_job_tree queue.job.tree queue.job field Inherits queue_job.view_queue_job_tree
view_sale_order_state_form sale.order.state.form sale.order.state form New
view_sale_order_state_tree sale.order.state.tree sale.order.state tree New
view_stock_form stock.warehouse xpath Inherits stock.view_warehouse
view_tax_group_tree account.tax.group account.tax.group tree New
Models touched (65)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • import_record(self, backend, prestashop_id, record=None, **kwargs)
    @api.model
    Import a record from PrestaShop

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.refund
    comodel_name='prestashop.refund' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (1)
  • action_post(self)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.account.tax
    comodel_name='prestashop.account.tax' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True string='Company'
  • prestashop_bind_ids One2many → prestashop.account.tax.group
    comodel_name='prestashop.account.tax.group' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
  • tax_ids One2many → account.tax
    comodel_name='account.tax' inverse_name='tax_group_id' string='Taxes'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.image
    comodel_name='prestashop.product.image' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.delivery.carrier
    comodel_name='prestashop.delivery.carrier' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.mail.message
    comodel_name='prestashop.mail.message' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax
    comodel_name='account.tax' ondelete='cascade' required=True string='Tax'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax.group
    comodel_name='account.tax.group' ondelete='cascade' required=True string='Tax Group'
Public methods (0)

No public methods.

New fields (6)
  • alias Char
    args: 'Prestashop Alias'
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='prestashop_partner_id.backend_id' store=True string='PrestaShop Backend'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' ondelete='cascade' required=True string='Partner'
  • prestashop_partner_id Many2one → prestashop.res.partner
    comodel_name='prestashop.res.partner' ondelete='cascade' required=True string='PrestaShop Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' readonly=True related='prestashop_partner_id.shop_group_id' store=True string='PrestaShop Shop Group'
  • vat_number Char
    args: 'PrestaShop VAT'
Public methods (0)

No public methods.

New fields (3)
  • company Char
    string='Address Company'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
Public methods (0)

No public methods.

New fields (31)
  • active Boolean
    default=True string='Active'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • debug Boolean
    help="Activate PrestaShop's webservice debug mode"
  • default_language Many2one → res.lang
    comodel_name='res.lang' default=<expr>
  • discount_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Discount Product'
  • import_orders_since Datetime
    args: 'Import Orders since'
  • import_partners_since Datetime
    args: 'Import partners since'
  • import_payment_mode_since Datetime
    args: 'Import Payment Modes since'
  • import_products_since Datetime
    args: 'Import Products since'
  • import_refunds_since Datetime
    args: 'Import Refunds since'
  • import_suppliers_since Datetime
    args: 'Import Suppliers since'
  • importable_order_state_ids Many2many → sale.order.state
    comodel_name='sale.order.state' help='If valued only orders matching these states will be imported.' string='Importable sale order states'
  • language_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='backend_id' string='Languages'
  • location Char
    args: 'Location'
  • matching_customer Boolean
    help='The selected fields will be matched to the ref field of the partner. Please adapt your datas consequently.' string='Matching Customer'
  • matching_product_ch Selection
    string='Matching Field for product' args: [('reference', 'Reference'), ('barcode', 'Barcode')]
  • matching_product_template Boolean
    string='Match product template'
  • name Char
    required=True string='Name'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' default=<expr> help='Pricelist used in sales orders' required=True string='Pricelist'
  • product_qty_field Selection
    default='qty_available' help='Select how you want to calculate the qty to push to PS. ' required=True selection=[('qty_available_not_res', 'Immediately usable qty'), ('qty_available', 'Qty available')] string='Product qty'
  • refund_journal_id Many2one → account.journal
    comodel_name='account.journal' string='Refund Journal'
  • sale_team_id Many2one → crm.team
    comodel_name='crm.team' help='Sales Team assigned to the imported sales orders.' string='Sales Team'
  • shipping_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Shipping Product'
  • state Selection
    default='draft' selection='_select_state' string='State'
  • stock_location_id Many2one → stock.location
    comodel_name='stock.location' help='Location used to import stock quantities.' string='Stock Location'
  • taxes_included Boolean
    args: 'Use tax included prices'
  • tz Selection
    help='The timezone of the backend. Used to synchronize the sale order date.' args: _tz_get, 'Timezone'
  • verbose Boolean
    help='Output requests details in the logs'
  • version Selection
    required=True selection='select_versions' string='Version'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
  • webservice_key Char
    help="You have to put it in 'username' of the PrestaShop Webservice api path invite" string='Webservice key'
Public methods (18)
  • button_check_connection(self)
  • button_reset_to_draft(self)
  • change_matching_customer(self)
    @api.onchange('matching_customer')
  • check_product_qty_field_dependencies_installed(self)
    @api.constrains('product_qty_field')
  • fill_matched_fields(self, backend_id)
  • get_version_ps_key(self, key)
  • import_carriers(self)
  • import_customers_since(self)
  • import_payment_modes(self)
  • import_products(self)
  • import_refunds(self)
  • import_sale_orders(self)
  • import_stock_qty(self)
  • import_suppliers(self)
  • select_versions(self)
    @api.model
    Available versions Can be inherited to add custom versions.
  • synchronize_basedata(self)
  • synchronize_metadata(self)
  • update_product_stock_qty(self)

New fields (4)
  • active Boolean
    default=True string='Active'
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' ondelete='restrict' required=True string='PrestaShop Backend'
  • no_export Boolean
    args: 'No export to PrestaShop'
  • prestashop_id Integer
    args: 'ID on PrestaShop'
Public methods (6)
  • check_active(self, backend)
  • export_delete_record(self, backend, external_id, attributes=None)
    Delete a record on PrestaShop
  • export_record(self, fields=None)
    Export a record on PrestaShop
  • import_batch(self, backend, filters=None, **kwargs)
    @api.model
    Prepare a batch import of records from PrestaShop
  • import_record(self, backend, prestashop_id, force=False)
    @api.model
    Import a record from PrestaShop
  • resync(self)

New fields (1)
  • odoo_id Reference
    ondelete='cascade' required=True selection=_get_selection string='Odoo binding'
Public methods (0)

No public methods.

New fields (5)
  • active_ext Boolean
    string='Active in PrestaShop'
  • export_tracking Boolean
    string='Export tracking numbers to PrestaShop'
  • id_reference Integer
    help="In PrestaShop, carriers can be copied with the same 'Reference ID' (only the last copied carrier will be synchronized with the ERP)" string='Reference ID'
  • name_ext Char
    string='Name in PrestaShop'
  • odoo_id Many2one → delivery.carrier
    comodel_name='delivery.carrier' ondelete='cascade' required=True string='Delivery carrier'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.pricelist
    comodel_name='product.pricelist' ondelete='cascade' required=True string='Odoo Pricelist'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → mail.message
    comodel_name='mail.message' ondelete='cascade' required=True string='Message'
Public methods (0)

No public methods.

New fields (5)
  • company Char
    string='Partner Company'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_category_id Many2one → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' help="This field is synchronized with the field 'Default customer group' in PrestaShop." string='PrestaShop default category'
  • group_ids Many2many → prestashop.res.partner.category
    column1='partner_id' column2='category_id' comodel_name='prestashop.res.partner.category' relation='prestashop_category_partner' string='PrestaShop Groups'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True string='Active'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop'
  • description Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • meta_description Char
    translate=True args: 'Meta description'
  • meta_keywords Char
    string='Meta keywords' translate=True
  • meta_title Char
    string='Meta title' translate=True
  • odoo_id Many2one → product.category
    comodel_name='product.category' ondelete='cascade' required=True string='Product Category'
  • position Integer
    string='Position'
Public methods (0)

No public methods.

New fields (4)
  • main_template_id Many2one → prestashop.product.template
    comodel_name='prestashop.product.template' ondelete='cascade' required=True string='Main Template'
  • odoo_id Many2one → product.product
    comodel_name='product.product' ondelete='cascade' required=True string='Odoo Product'
  • quantity Float
    help='Last computed quantity to send on PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
Public methods (3)
  • export_inventory(self, fields=None)
    Export the inventory configuration and quantity of a product.
  • export_product_quantities(self, backend)
    @api.model
  • set_product_image_variant(self, backend, combination_ids, **kwargs)

New fields (4)
  • group_type Selection
    default='select' string='Type' args: [('color', 'Color'), ('radio', 'Radio'), ('select', 'Select')]
  • odoo_id Many2one → product.attribute
    comodel_name='product.attribute' ondelete='cascade' required=True string='Odoo Attribute'
  • prestashop_position Integer
    args: 'PrestaShop Position'
  • public_name Char
    string='Public Name' translate=True
Public methods (0)

No public methods.

New fields (3)
  • id_attribute_group Many2one → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option'
  • odoo_id Many2one → product.attribute.value
    comodel_name='product.attribute.value' ondelete='cascade' required=True string='Odoo Option'
  • prestashop_position Integer
    default=1 string='PrestaShop Position'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → base_multi_image.image
    comodel_name='base_multi_image.image' ondelete='cascade' required=True string='Product image'
Public methods (1)
  • import_product_image(self, backend, product_tmpl_id, image_id, **kwargs)
    Import a product image

New fields (0)

No new fields.

Public methods (1)
  • recompute_prestashop_qty(self)

New fields (1)
  • odoo_id Many2one → product.supplierinfo
    comodel_name='product.supplierinfo' ondelete='cascade' required=True string='Supplier info'
Public methods (0)

No public methods.

New fields (19)
  • always_available Boolean
    default=True help='If checked, this product is considered always available' string='Active Prestashop'
  • available_for_order Boolean
    default=True string='Available for Order Taking'
  • combinations_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='main_template_id' string='Combinations'
  • date_add Datetime
    readonly=True string='Created at (in PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated at (in PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' required=True string='Default shop'
  • description_html Html
    help='HTML description from PrestaShop' string='Description HTML' translate=True
  • description_short_html Html
    string='Short Description' translate=True
  • link_rewrite Char
    required=True string='Friendly URL' translate=True
  • low_stock_alert Boolean
    string='Low Stock Alert'
  • low_stock_threshold Integer
    string='Low Stock Threshold'
  • odoo_id Many2one → product.template
    comodel_name='product.template' ondelete='cascade' required=True string='Template'
  • on_sale Boolean
    string='Show on sale icon'
  • out_of_stock Selection
    string='If stock shortage' args: [('0', 'Refuse order'), ('1', 'Accept order'), ('2', 'Default prestashop')]
  • quantity Float
    help='Last computed quantity to send to PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
  • show_price Boolean
    default=True string='Display Price'
  • visibility Selection
    default='both' selection=[('both', 'All shop'), ('catalog', 'Only Catalog'), ('search', 'Only search results'), ('none', 'Hidden')] string='Visibility'
  • wholesale_price Float
    digits='Product Price' string='Cost Price'
Public methods (4)
  • export_inventory(self, fields=None)
    Export the inventory configuration and quantity of a product.
  • export_product_quantities(self, backend=None)
  • import_inventory(self, backend)
  • import_products(self, backend, since_date=None, **kwargs)

New fields (1)
  • odoo_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
Public methods (1)
  • import_refunds(self, backend, since_date, **kwargs)

New fields (1)
  • odoo_id Many2one → res.country
    comodel_name='res.country' ondelete='cascade' required=True string='Country'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.currency
    comodel_name='res.currency' ondelete='cascade' required=True string='Odoo Currency'
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=False string='Active in PrestaShop'
  • odoo_id Many2one → res.lang
    comodel_name='res.lang' ondelete='cascade' required=True string='Language'
Public methods (0)

No public methods.

New fields (6)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='shop_group_id.backend_id' store=True string='PrestaShop Backend'
  • birthday Date
    string='Birthday'
  • newsletter Boolean
    string='Newsletter'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' ondelete='cascade' required=True string='Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='restrict' required=True string='PrestaShop Shop Group'
  • shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' string='PrestaShop Shop'
Public methods (1)
  • import_customers_since(self, backend_record=None, since_date=None, **kwargs)
    Prepare the import of partners modified on PrestaShop

New fields (3)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • odoo_id Many2one → res.partner.category
    comodel_name='res.partner.category' ondelete='cascade' required=True string='Partner Category'
Public methods (0)

No public methods.

New fields (9)
  • odoo_id Many2one → sale.order
    comodel_name='sale.order' ondelete='cascade' required=True string='Sale Order'
  • prestashop_delivery_number Char
    args: 'PrestaShop Delivery Number'
  • prestashop_discount_line_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='prestashop_order_id' string='PrestaShop Discount Lines'
  • prestashop_invoice_number Char
    args: 'PrestaShop Invoice Number'
  • prestashop_order_line_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='prestashop_order_id' string='PrestaShop Order Lines'
  • total_amount Float
    digits='Account' readonly=True string='Total amount in PrestaShop'
  • total_amount_tax Float
    digits='Account' readonly=True string='Total tax in PrestaShop'
  • total_shipping_tax_excluded Float
    digits='Account' readonly=True string='Total shipping without tax in PrestaShop'
  • total_shipping_tax_included Float
    digits='Account' readonly=True string='Total shipping with tax in PrestaShop'
Public methods (4)
  • export_sale_state(self)
  • export_tracking_number(self)
    Export the tracking number of a delivery order.
  • find_prestashop_state(self)
  • import_orders_since(self, backend, since_date=None, **kwargs)
    Prepare the import of orders modified on PrestaShop

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.state
    comodel_name='sale.order.state' ondelete='cascade' required=True string='Sale Order State'
  • openerp_state_ids One2many → sale.order.state.list
    comodel_name='sale.order.state.list' inverse_name='prestashop_state_id' string='Odoo States'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' compute='_compute_backend_id' store=True string='PrestaShop Backend'
  • default_url Char
    args: 'Default url'
  • name Char
    help='The name of the method on the backend' required=True string='Name'
  • odoo_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' ondelete='cascade' readonly=True required=True string='WareHouse'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='cascade' required=True string='PrestaShop Shop Group'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' related='backend_id.company_id' string='Company'
  • name Char
    required=True args: 'Name'
  • shop_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='shop_group_id' readonly=True string='Shops'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' ondelete='cascade' required=True string='Partner'
Public methods (1)
  • import_suppliers(self, backend, since_date, **kwargs)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option.value
    comodel_name='prestashop.product.combination.option.value' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.category
    comodel_name='prestashop.product.category' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_groups_bind_ids One2many → prestashop.groups.pricelist
    comodel_name='prestashop.groups.pricelist' inverse_name='odoo_id' string='PrestaShop user groups'
Public methods (0)

No public methods.

New fields (3)
  • default_on Boolean
    string='Default On'
  • impact_price Float
    digits='Product Price' string='Price Impact'
  • prestashop_combinations_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (6)
  • create(self, vals)
    @api.model
  • open_product_template(self)
    Utility method used to add an "Open Product Template" button in product.product views
  • unlink(self)
  • update_prestashop_qty(self)
  • update_prestashop_quantities(self)
  • write(self, vals)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.supplierinfo
    comodel_name='prestashop.product.supplierinfo' inverse_name='odoo_id' string='PrestaShop bindings'
Public methods (0)

No public methods.

New fields (3)
  • default_image_id Integer
    string='PrestaShop Default Image ID'
  • prestashop_bind_ids One2many → prestashop.product.template
    comodel_name='prestashop.product.template' copy=False inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_default_category_id Many2one → product.category
    comodel_name='product.category' ondelete='restrict' string='PrestaShop Default Category'
Public methods (1)
  • update_prestashop_quantities(self)

New fields (0)

No new fields.

Public methods (1)
  • related_action_record(self, binding_id_pos=0)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.country
    comodel_name='prestashop.res.country' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.currency
    comodel_name='prestashop.res.currency' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_address_bind_ids One2many → prestashop.address
    comodel_name='prestashop.address' inverse_name='odoo_id' string='PrestaShop Address Bindings'
  • prestashop_bind_ids One2many → prestashop.res.partner
    comodel_name='prestashop.res.partner' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_supplier_bind_ids One2many → prestashop.supplier
    comodel_name='prestashop.supplier' inverse_name='odoo_id' string='PrestaShop supplier bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.sale.order
    comodel_name='prestashop.sale.order' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_discount_bind_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='odoo_id' string='PrestaShop Discount Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' required=True string='Company'
  • name Char
    translate=True args: 'Name'
  • prestashop_bind_ids One2many → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • name Selection
    required=True selection=[('draft', 'Quotation'), ('sent', 'Quotation Sent'), ('sale', 'Sales Order'), ('done', 'Locked'), ('cancel', 'Cancelled')] string='Odoo State'
  • prestashop_id Integer
    readonly=True related='prestashop_state_id.prestashop_id' store=True string='PrestaShop ID'
  • prestashop_state_id Many2one → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' string='PrestaShop State'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_synchronized Boolean
    help='Check this option to synchronize this location with PrestaShop' string='Sync with PrestaShop'
Public methods (1)
  • get_prestashop_stock_locations(self)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • create(self, vals)
    @api.model
  • unlink(self)
  • write(self, vals)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/connector-prestashop
GIT
GIThttps://github.com/OCA/connector-prestashop.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-prestashop/tree/10.0/connector_prestashop
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp, Mind And Go
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp, Mind And Go
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Francisco Fernández @PlanetaTIC, OCA Transbot, oca-travis, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/connector-prestashop
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
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/product-variant:
    - product_variant_supplierinfo
OCA/queue:
    - queue_job
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_exception
    - base_multi_image
OCA/stock-logistics-warehouse:
    - stock_available
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
    - delivery
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES bs4
freezegun
html2text
prestapyt
vcr
requests
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (40)
XML IDNameModelTypeStatus
account_tax_group_connector_prestashop_tree_view prestashop.account.tax.group tree New
combination_connector_presta_form_view prestashop.product.combination form New
combination_connector_presta_tree_view prestashop.product.combination tree New
image_prestashop_binding_form_view Multi image prestashop binding form prestashop.product.image xpath Inherits base_multi_image.image_form_view
prestashop_binding_tax_group_form_view account.tax.group form New
product_category_connector_prestashop_form_view prestashop.product.category.form.view prestashop.product.category form New
product_category_connector_prestashop_tree_view prestashop.product.category tree New
product_category_prestashop_binding_form_view product.category xpath Inherits product.product_category_form_view
product_connector_presta_form_view prestashop.product.template form New
product_connector_presta_tree_view prestashop.product.template tree New
product_normal_form_view product.product page Inherits connector_base_product.product_normal_form_view
product_normal_form_view_default_check product.product field Inherits product.product_normal_form_view
product_product_tree_prestashop_view product.product.prestashop.tree product.product field Inherits product.product_product_tree_view
product_template_common_form product.template page Inherits connector_base_product.product_template_common_form
product_template_default_category_form product.template field Inherits product_multi_category.product_normal_form_view_add_categids
view_location_prestashop_inherited_form stock.location xpath Inherits stock.view_location_form
view_order_connector_prestashop_form sale.order.connector.prestashop.form sale.order page Inherits connector_ecommerce.view_order_connector_form
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 page Inherits connector.view_partner_connector_form
view_prestashop_address_form prestashop.address.form prestashop.address form New
view_prestashop_address_tree prestashop.address.tree prestashop.address tree New
view_prestashop_backend_form prestashop.backend.form prestashop.backend form New
view_prestashop_backend_tree prestashop.backend.tree prestashop.backend tree New
view_prestashop_delivery_carrier_form prestashop.delivery.carrier form New
view_prestashop_delivery_carrier_tree prestashop.delivery.carrier tree New
view_prestashop_partner_category_form prestashop.res.partner.category.form prestashop.res.partner.category form New
view_prestashop_partner_category_tree prestashop.res.partner.category.tree prestashop.res.partner.category tree New
view_prestashop_res_partner_form prestashop.res.partner.form prestashop.res.partner form New
view_prestashop_res_partner_tree prestashop.res.partner.tree prestashop.res.partner tree New
view_prestashop_sale_order_form prestashop.sale.order.form prestashop.sale.order form New
view_prestashop_sale_order_state_form prestashop.sale.order.state.form prestashop.sale.order.state form New
view_prestashop_sale_order_state_tree prestashop.sale.order.state.tree prestashop.sale.order.state tree New
view_prestashop_shop_form prestashop.shop.form prestashop.shop form New
view_prestashop_shop_group_form prestashop.shop.group.form prestashop.shop.group form New
view_prestashop_shop_group_tree prestashop.shop.group.tree prestashop.shop.group tree New
view_prestashop_shop_tree prestashop.shop.tree prestashop.shop tree New
view_sale_order_state_form sale.order.state.form sale.order.state form New
view_sale_order_state_tree sale.order.state.tree sale.order.state tree New
view_stock_form stock.warehouse xpath Inherits stock.view_warehouse
view_tax_group_tree account.tax.group account.tax.group tree New
Models touched (64)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • import_record(self, backend, prestashop_id, record=None, **kwargs)
    @job(default_channel='root.prestashop')@api.model
    Import a record from PrestaShop

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.refund
    comodel_name='prestashop.refund' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (1)
  • action_move_create(self)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.account.tax
    comodel_name='prestashop.account.tax' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True string='Company'
  • prestashop_bind_ids One2many → prestashop.account.tax.group
    comodel_name='prestashop.account.tax.group' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
  • tax_ids One2many → account.tax
    comodel_name='account.tax' inverse_name='tax_group_id' string='Taxes'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.image
    comodel_name='prestashop.product.image' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True string='Company'
  • prestashop_bind_ids One2many → prestashop.delivery.carrier
    comodel_name='prestashop.delivery.carrier' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.mail.message
    comodel_name='prestashop.mail.message' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax
    comodel_name='account.tax' oldname='openerp_id' ondelete='cascade' required=True string='Tax'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax.group
    comodel_name='account.tax.group' oldname='openerp_id' ondelete='cascade' required=True string='Tax Group'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='prestashop_partner_id.backend_id' store=True string='PrestaShop Backend'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • prestashop_partner_id Many2one → prestashop.res.partner
    comodel_name='prestashop.res.partner' ondelete='cascade' required=True string='PrestaShop Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' readonly=True related='prestashop_partner_id.shop_group_id' store=True string='PrestaShop Shop Group'
  • vat_number Char
    args: 'PrestaShop VAT'
Public methods (0)

No public methods.

New fields (2)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
Public methods (0)

No public methods.

New fields (28)
  • active Boolean
    default=True string='Active'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • debug Boolean
    help="Activate PrestaShop's webservice debug mode"
  • discount_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Discount Product'
  • import_orders_since Datetime
    args: 'Import Orders since'
  • import_partners_since Datetime
    args: 'Import partners since'
  • import_products_since Datetime
    args: 'Import Products since'
  • import_refunds_since Datetime
    args: 'Import Refunds since'
  • import_suppliers_since Datetime
    args: 'Import Suppliers since'
  • importable_order_state_ids Many2many → sale.order.state
    comodel_name='sale.order.state' help='If valued only orders matching these states will be imported.' string='Importable sale order states'
  • language_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='backend_id' string='Languages'
  • location Char
    args: 'Location'
  • matching_customer Boolean
    help='The selected fields will be matched to the ref field of the partner. Please adapt your datas consequently.' string='Matching Customer'
  • matching_product_ch Selection
    string='Matching Field for product' args: [('reference', 'Reference'), ('barcode', 'Barcode')]
  • matching_product_template Boolean
    string='Match product template'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' default=<expr> help='Pricelist used in sales orders' required=True string='Pricelist'
  • quantity_field Selection
    default='virtual_available' help="Some of this options may need some additionnal modules you'll have to install by yourself from https://github.com/OCA/stock-logistics-warehouse" required=True args: [('qty_available', 'Available Quantity'), ('virtual_available', 'Forecast quantity'), ('immediately_usable_qty', 'Available to promise'), ('potential_qty', 'Potential')]
  • refund_journal_id Many2one → account.journal
    comodel_name='account.journal' string='Refund Journal'
  • sale_team_id Many2one → crm.team
    comodel_name='crm.team' help='Sales Team assigned to the imported sales orders.' string='Sales Team'
  • shipping_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Shipping Product'
  • state Selection
    default='draft' selection='_select_state' string='State'
  • stock_location_id Many2one → stock.location
    comodel_name='stock.location' help='Location used to import stock quantities.' string='Stock Location'
  • taxes_included Boolean
    args: 'Use tax included prices'
  • tz Selection
    help='The timezone of the backend. Used to synchronize the sale order date.' size=64 args: _tz_get, 'Timezone'
  • verbose Boolean
    help='Output requests details in the logs'
  • version Selection
    required=True selection='select_versions' string='Version'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
  • webservice_key Char
    help="You have to put it in 'username' of the PrestaShop Webservice api path invite" string='Webservice key'
Public methods (18)
  • add_checkpoint(self, record, message='')
    @api.multi
    @param message: used with this https://github.com/OCA/connector/issues/37
  • button_check_connection(self)
    @api.multi
  • button_reset_to_draft(self)
    @api.multi
  • change_matching_customer(self)
    @api.onchange('matching_customer')
  • fill_matched_fields(self, backend_id)
    @api.multi
  • get_version_ps_key(self, key)
  • import_carriers(self)
    @api.multi
  • import_customers_since(self)
    @api.multi
  • import_payment_modes(self)
    @api.multi
  • import_products(self)
    @api.multi
  • import_refunds(self)
    @api.multi
  • import_sale_orders(self)
    @api.multi
  • import_stock_qty(self)
    @api.multi
  • import_suppliers(self)
    @api.multi
  • select_versions(self)
    @api.model
    Available versions Can be inherited to add custom versions.
  • synchronize_basedata(self)
    @api.multi
  • synchronize_metadata(self)
    @api.multi
  • update_product_stock_qty(self)
    @api.multi

New fields (4)
  • active Boolean
    default=True string='Active'
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' ondelete='restrict' required=True string='PrestaShop Backend'
  • no_export Boolean
    args: 'No export to PrestaShop'
  • prestashop_id Integer
    args: 'ID on PrestaShop'
Public methods (6)
  • check_active(self, backend)
  • export_delete_record(self, backend, external_id)
    @job(default_channel='root.prestashop')
    Delete a record on PrestaShop
  • export_record(self, fields=None)
    @job(default_channel='root.prestashop')@related_action(action='related_action_record')@api.multi
    Export a record on PrestaShop
  • import_batch(self, backend, filters=None, **kwargs)
    @job(default_channel='root.prestashop')@api.model
    Prepare a batch import of records from PrestaShop
  • import_record(self, backend, prestashop_id, force=False)
    @job(default_channel='root.prestashop')@api.model
    Import a record from PrestaShop
  • resync(self)
    @api.multi

New fields (1)
  • odoo_id Reference
    ondelete='cascade' required=True selection=_get_selection string='Odoo binding'
Public methods (0)

No public methods.

New fields (5)
  • active_ext Boolean
    string='Active in PrestaShop'
  • export_tracking Boolean
    string='Export tracking numbers to PrestaShop'
  • id_reference Integer
    help="In PrestaShop, carriers can be copied with the same 'Reference ID' (only the last copied carrier will be synchronized with the ERP)" string='Reference ID'
  • name_ext Char
    string='Name in PrestaShop'
  • odoo_id Many2one → delivery.carrier
    comodel_name='delivery.carrier' oldname='openerp_id' ondelete='cascade' required=True string='Delivery carrier'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.pricelist
    comodel_name='product.pricelist' oldname='openerp_id' ondelete='cascade' required=True string='Odoo Pricelist'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → mail.message
    comodel_name='mail.message' oldname='openerp_id' ondelete='cascade' required=True string='Message'
Public methods (0)

No public methods.

New fields (5)
  • company Char
    string='Company'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_category_id Many2one → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' help="This field is synchronized with the field 'Default customer group' in PrestaShop." string='PrestaShop default category'
  • group_ids Many2many → prestashop.res.partner.category
    column1='partner_id' column2='category_id' comodel_name='prestashop.res.partner.category' relation='prestashop_category_partner' string='PrestaShop Groups'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True string='Active'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop'
  • description Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • meta_description Char
    translate=True args: 'Meta description'
  • meta_keywords Char
    string='Meta keywords' translate=True
  • meta_title Char
    string='Meta title' translate=True
  • odoo_id Many2one → product.category
    comodel_name='product.category' oldname='openerp_id' ondelete='cascade' required=True string='Product Category'
  • position Integer
    string='Position'
Public methods (0)

No public methods.

New fields (4)
  • main_template_id Many2one → prestashop.product.template
    comodel_name='prestashop.product.template' ondelete='cascade' required=True string='Main Template'
  • odoo_id Many2one → product.product
    comodel_name='product.product' oldname='openerp_id' ondelete='cascade' required=True string='Product'
  • quantity Float
    help='Last computed quantity to send on PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
Public methods (4)
  • export_inventory(self, fields=None)
    @job(default_channel='root.prestashop')
    Export the inventory configuration and quantity of a product.
  • export_product_quantities(self, backend)
    @api.model@job(default_channel='root.prestashop')
  • recompute_prestashop_qty(self)
    @api.multi
  • set_product_image_variant(self, backend, combination_ids, **kwargs)
    @job(default_channel='root.prestashop')

New fields (4)
  • group_type Selection
    default='select' string='Type' args: [('color', 'Color'), ('radio', 'Radio'), ('select', 'Select')]
  • odoo_id Many2one → product.attribute
    comodel_name='product.attribute' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    args: 'PrestaShop Position'
  • public_name Char
    string='Public Name' translate=True
Public methods (0)

No public methods.

New fields (3)
  • id_attribute_group Many2one → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option'
  • odoo_id Many2one → product.attribute.value
    comodel_name='product.attribute.value' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    default=1 string='PrestaShop Position'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → base_multi_image.image
    comodel_name='base_multi_image.image' oldname='openerp_id' ondelete='cascade' required=True string='Product image'
Public methods (1)
  • import_product_image(self, backend, product_tmpl_id, image_id, **kwargs)
    @job(default_channel='root.prestashop')@api.multi
    Import a product image

New fields (1)
  • odoo_id Many2one → product.supplierinfo
    comodel_name='product.supplierinfo' oldname='openerp_id' ondelete='cascade' required=True string='Supplier info'
Public methods (0)

No public methods.

New fields (16)
  • always_available Boolean
    default=True help='If checked, this product is considered always available' string='Active'
  • available_for_order Boolean
    default=True string='Available for Order Taking'
  • combinations_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='main_template_id' string='Combinations'
  • date_add Datetime
    readonly=True string='Created at (in PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated at (in PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' required=True string='Default shop'
  • description_html Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • description_short_html Html
    string='Short Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • odoo_id Many2one → product.template
    comodel_name='product.template' oldname='openerp_id' ondelete='cascade' required=True string='Template'
  • on_sale Boolean
    string='Show on sale icon'
  • out_of_stock Selection
    string='If stock shortage' args: [('0', 'Refuse order'), ('1', 'Accept order'), ('2', 'Default prestashop')]
  • quantity Float
    help='Last computed quantity to send to PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
  • show_price Boolean
    default=True string='Display Price'
  • wholesale_price Float
    digits=dp.get_precision('Product Price') string='Cost Price'
Public methods (5)
  • export_inventory(self, fields=None)
    @job(default_channel='root.prestashop')
    Export the inventory configuration and quantity of a product.
  • export_product_quantities(self, backend=None)
    @job(default_channel='root.prestashop')
  • import_inventory(self, backend)
    @job(default_channel='root.prestashop')
  • import_products(self, backend, since_date=None, **kwargs)
    @job(default_channel='root.prestashop')
  • recompute_prestashop_qty(self)
    @api.multi

New fields (1)
  • odoo_id Many2one → account.invoice
    comodel_name='account.invoice' oldname='openerp_id' ondelete='cascade' required=True string='Invoice'
Public methods (1)
  • import_refunds(self, backend, since_date, **kwargs)

New fields (1)
  • odoo_id Many2one → res.country
    comodel_name='res.country' oldname='openerp_id' ondelete='cascade' required=True string='Country'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.currency
    comodel_name='res.currency' oldname='openerp_id' ondelete='cascade' required=True string='Currency'
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=False string='Active in PrestaShop'
  • odoo_id Many2one → res.lang
    comodel_name='res.lang' oldname='openerp_id' ondelete='cascade' required=True string='Language'
Public methods (0)

No public methods.

New fields (6)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='shop_group_id.backend_id' store=True string='PrestaShop Backend'
  • birthday Date
    string='Birthday'
  • newsletter Boolean
    string='Newsletter'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='restrict' required=True string='PrestaShop Shop Group'
  • shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' string='PrestaShop Shop'
Public methods (1)
  • import_customers_since(self, backend_record=None, since_date=None, **kwargs)
    @job(default_channel='root.prestashop')
    Prepare the import of partners modified on PrestaShop

New fields (3)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • odoo_id Many2one → res.partner.category
    comodel_name='res.partner.category' oldname='openerp_id' ondelete='cascade' required=True string='Partner Category'
Public methods (0)

No public methods.

New fields (9)
  • odoo_id Many2one → sale.order
    comodel_name='sale.order' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order'
  • prestashop_delivery_number Char
    args: 'PrestaShop Delivery Number'
  • prestashop_discount_line_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='prestashop_order_id' string='PrestaShop Discount Lines'
  • prestashop_invoice_number Char
    args: 'PrestaShop Invoice Number'
  • prestashop_order_line_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='prestashop_order_id' string='PrestaShop Order Lines'
  • total_amount Float
    digits=dp.get_precision('Account') readonly=True string='Total amount in PrestaShop'
  • total_amount_tax Float
    digits=dp.get_precision('Account') readonly=True string='Total tax in PrestaShop'
  • total_shipping_tax_excluded Float
    digits=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
  • total_shipping_tax_included Float
    digits=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
Public methods (4)
  • export_sale_state(self)
    @job(default_channel='root.prestashop')@related_action(action='related_action_unwrap_binding')@api.multi
  • export_tracking_number(self)
    @job(default_channel='root.prestashop')@related_action(action='related_action_unwrap_binding')@api.multi
    Export the tracking number of a delivery order.
  • find_prestashop_state(self)
    @api.multi
  • import_orders_since(self, backend, since_date=None, **kwargs)
    @job(default_channel='root.prestashop')
    Prepare the import of orders modified on PrestaShop

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.state
    comodel_name='sale.order.state' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order State'
  • openerp_state_ids One2many → sale.order.state.list
    comodel_name='sale.order.state.list' inverse_name='prestashop_state_id' string='Odoo States'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' compute='_compute_backend_id' store=True string='PrestaShop Backend'
  • default_url Char
    args: 'Default url'
  • name Char
    help='The name of the method on the backend' required=True string='Name'
  • odoo_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' oldname='openerp_id' ondelete='cascade' readonly=True required=True string='WareHouse'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='cascade' required=True string='PrestaShop Shop Group'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' related='backend_id.company_id' string='Company'
  • name Char
    required=True args: 'Name'
  • shop_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='shop_group_id' readonly=True string='Shops'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
Public methods (1)
  • import_suppliers(self, backend, since_date, **kwargs)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option.value
    comodel_name='prestashop.product.combination.option.value' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.category
    comodel_name='prestashop.product.category' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_groups_bind_ids One2many → prestashop.groups.pricelist
    comodel_name='prestashop.groups.pricelist' inverse_name='odoo_id' string='PrestaShop user groups'
Public methods (0)

No public methods.

New fields (4)
  • default_on Boolean
    string='Default On'
  • impact_price Float
    digits=dp.get_precision('Product Price') string='Price Impact'
  • lst_price Float
    compute='_compute_lst_price'
  • prestashop_combinations_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (6)
  • create(self, vals)
    @api.model
  • open_product_template(self)
    @api.multi
    Utility method used to add an "Open Product Template" button in product.product views
  • unlink(self)
    @api.multi
  • update_prestashop_qty(self)
    @api.multi
  • update_prestashop_quantities(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.supplierinfo
    comodel_name='prestashop.product.supplierinfo' inverse_name='odoo_id' string='PrestaShop bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.product.template
    comodel_name='prestashop.product.template' copy=False inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_default_category_id Many2one → product.category
    comodel_name='product.category' ondelete='restrict' string='PrestaShop Default Category'
Public methods (1)
  • update_prestashop_quantities(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • related_action_record(self, binding_id_pos=0)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.country
    comodel_name='prestashop.res.country' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.currency
    comodel_name='prestashop.res.currency' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_address_bind_ids One2many → prestashop.address
    comodel_name='prestashop.address' inverse_name='odoo_id' string='PrestaShop Address Bindings'
  • prestashop_bind_ids One2many → prestashop.res.partner
    comodel_name='prestashop.res.partner' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_supplier_bind_ids One2many → prestashop.supplier
    comodel_name='prestashop.supplier' inverse_name='odoo_id' string='PrestaShop supplier bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.sale.order
    comodel_name='prestashop.sale.order' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_discount_bind_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='odoo_id' string='PrestaShop Discount Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' required=True string='Company'
  • name Char
    translate=True args: 'Name'
  • prestashop_bind_ids One2many → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • name Selection
    required=True selection=[('draft', 'Quotation'), ('sent', 'Quotation Sent'), ('sale', 'Sales Order'), ('done', 'Locked'), ('cancel', 'Cancelled')] string='Odoo State'
  • prestashop_id Integer
    readonly=True related='prestashop_state_id.prestashop_id' store=True string='PrestaShop ID'
  • prestashop_state_id Many2one → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' string='PrestaShop State'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_synchronized Boolean
    help='Check this option to synchronize this location with PrestaShop' string='Sync with PrestaShop'
Public methods (1)
  • get_prestashop_stock_locations(self)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • create(self, vals)
    @api.model
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/connector-prestashop
GIT
GIThttps://github.com/OCA/connector-prestashop.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-prestashop/tree/9.0/connector_prestashop
VERSION
VERSION 1.0.6
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp
COMMITTERS
COMMITTERSGuewen Baconnier, Pedro M. Baeza, GitHub, Sergio Incaser, Sergio Teruel Albert, Simone Orsi, sergio.teruel
WEBSITE
WEBSITEhttps://github.com/OCA/connector-prestashop
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/bank-payment:
    - account_payment_sale
    - account_payment_partner
    - account_payment_mode
OCA/connector:
    - connector
    - connector_base_product
OCA/connector-ecommerce:
    - connector_ecommerce
OCA/product-attribute:
    - product_multi_category
    - product_multi_image
OCA/product-variant:
    - product_variant_supplierinfo
OCA/sale-workflow:
    - sale_automatic_workflow_payment_mode
    - sale_automatic_workflow
    - sale_exception
OCA/server-tools:
    - base_multi_image
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
    - delivery
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES bs4
freezegun
html2text
prestapyt
vcr
requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (40)
XML IDNameModelTypeStatus
account_tax_group_connector_prestashop_tree_view prestashop.account.tax.group tree New
combination_connector_presta_form_view prestashop.product.combination form New
combination_connector_presta_tree_view prestashop.product.combination tree New
image_prestashop_binding_form_view Multi image prestashop binding form prestashop.product.image xpath Inherits base_multi_image.image_form_view
prestashop_binding_tax_group_form_view account.tax.group form New
product_category_connector_prestashop_form_view prestashop.product.category.form.view prestashop.product.category form New
product_category_connector_prestashop_tree_view prestashop.product.category tree New
product_category_prestashop_binding_form_view product.category xpath Inherits product.product_category_form_view
product_connector_presta_form_view prestashop.product.template form New
product_connector_presta_tree_view prestashop.product.template tree New
product_normal_form_view product.product page Inherits connector_base_product.product_normal_form_view
product_normal_form_view_default_check product.product field Inherits product.product_normal_form_view
product_product_tree_prestashop_view product.product.prestashop.tree product.product field Inherits product.product_product_tree_view
product_template_common_form product.template page Inherits connector_base_product.product_template_common_form
product_template_default_category_form product.template field Inherits product_multi_category.product_normal_form_view_add_categids
view_location_prestashop_inherited_form stock.location xpath Inherits stock.view_location_form
view_order_connector_prestashop_form sale.order.connector.prestashop.form sale.order page Inherits connector_ecommerce.view_order_connector_form
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 page Inherits connector.view_partner_connector_form
view_prestashop_address_form prestashop.address.form prestashop.address form New
view_prestashop_address_tree prestashop.address.tree prestashop.address tree New
view_prestashop_backend_form prestashop.backend.form prestashop.backend form New
view_prestashop_backend_tree prestashop.backend.tree prestashop.backend tree New
view_prestashop_delivery_carrier_form prestashop.delivery.carrier form New
view_prestashop_delivery_carrier_tree prestashop.delivery.carrier tree New
view_prestashop_partner_category_form prestashop.res.partner.category.form prestashop.res.partner.category form New
view_prestashop_partner_category_tree prestashop.res.partner.category.tree prestashop.res.partner.category tree New
view_prestashop_res_partner_form prestashop.res.partner.form prestashop.res.partner form New
view_prestashop_res_partner_tree prestashop.res.partner.tree prestashop.res.partner tree New
view_prestashop_sale_order_form prestashop.sale.order.form prestashop.sale.order form New
view_prestashop_sale_order_state_form prestashop.sale.order.state.form prestashop.sale.order.state form New
view_prestashop_sale_order_state_tree prestashop.sale.order.state.tree prestashop.sale.order.state tree New
view_prestashop_shop_form prestashop.shop.form prestashop.shop form New
view_prestashop_shop_group_form prestashop.shop.group.form prestashop.shop.group form New
view_prestashop_shop_group_tree prestashop.shop.group.tree prestashop.shop.group tree New
view_prestashop_shop_tree prestashop.shop.tree prestashop.shop tree New
view_sale_order_state_form sale.order.state.form sale.order.state form New
view_sale_order_state_tree sale.order.state.tree sale.order.state tree New
view_stock_form stock.warehouse xpath Inherits stock.view_warehouse
view_tax_group_tree account.tax.group account.tax.group tree New
Models touched (58)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.refund
    comodel_name='prestashop.refund' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (1)
  • action_move_create(self)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.account.tax
    comodel_name='prestashop.account.tax' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True required=True string='Company'
  • prestashop_bind_ids One2many → prestashop.account.tax.group
    comodel_name='prestashop.account.tax.group' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
  • tax_ids One2many → account.tax
    comodel_name='account.tax' inverse_name='tax_group_id' string='Taxes'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.image
    comodel_name='prestashop.product.image' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True string='Company'
  • prestashop_bind_ids One2many → prestashop.delivery.carrier
    comodel_name='prestashop.delivery.carrier' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.mail.message
    comodel_name='prestashop.mail.message' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax
    comodel_name='account.tax' oldname='openerp_id' ondelete='cascade' required=True string='Tax'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax.group
    comodel_name='account.tax.group' oldname='openerp_id' ondelete='cascade' required=True string='Tax Group'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='prestashop_partner_id.backend_id' store=True string='PrestaShop Backend'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • prestashop_partner_id Many2one → prestashop.res.partner
    comodel_name='prestashop.res.partner' ondelete='cascade' required=True string='PrestaShop Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' readonly=True related='prestashop_partner_id.shop_group_id' store=True string='PrestaShop Shop Group'
  • vat_number Char
    args: 'PrestaShop VAT'
Public methods (0)

No public methods.

New fields (2)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
Public methods (0)

No public methods.

New fields (21)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • debug Boolean
    help="Activate PrestaShop's webservice debug mode"
  • discount_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Discount Product'
  • import_orders_since Datetime
    args: 'Import Orders since'
  • import_partners_since Datetime
    args: 'Import partners since'
  • import_products_since Datetime
    args: 'Import Products since'
  • import_refunds_since Datetime
    args: 'Import Refunds since'
  • import_suppliers_since Datetime
    args: 'Import Suppliers since'
  • importable_order_state_ids Many2many → sale.order.state
    comodel_name='sale.order.state' help='If valued only orders matching these states will be imported.' string='Importable sale order states'
  • language_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='backend_id' string='Languages'
  • location Char
    args: 'Location'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' default=<expr> help='Pricelist used in sales orders' required=True string='Pricelist'
  • refund_journal_id Many2one → account.journal
    comodel_name='account.journal' string='Refund Journal'
  • sale_team_id Many2one → crm.team
    comodel_name='crm.team' help='Sales Team assigned to the imported sales orders.' string='Sales Team'
  • shipping_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Shipping Product'
  • stock_location_id Many2one → stock.location
    comodel_name='stock.location' help='Location used to import stock quantities.' string='Stock Location'
  • taxes_included Boolean
    args: 'Use tax included prices'
  • verbose Boolean
    help='Output requests details in the logs'
  • version Selection
    required=True selection='_select_versions' string='Version'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
  • webservice_key Char
    help="You have to put it in 'username' of the PrestaShop Webservice api path invite" string='Webservice key'
Public methods (15)
  • button_check_connection(self)
    @api.multi
  • get_environment(self, model_name, session=None)
    @api.multi
  • get_version_ps_key(self, key)
  • import_carriers(self)
    @api.multi
  • import_customers_since(self)
    @api.multi
  • import_payment_modes(self)
    @api.multi
  • import_products(self)
    @api.multi
  • import_record(self, model_name, ext_id)
    @api.multi
  • import_refunds(self)
    @api.multi
  • import_sale_orders(self)
    @api.multi
  • import_stock_qty(self)
    @api.multi
  • import_suppliers(self)
    @api.multi
  • synchronize_basedata(self)
    @api.multi
  • synchronize_metadata(self)
    @api.multi
  • update_product_stock_qty(self)
    @api.multi

New fields (2)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' ondelete='restrict' required=True string='PrestaShop Backend'
  • prestashop_id Integer
    args: 'ID on PrestaShop'
Public methods (1)
  • resync(self)
    @api.multi

New fields (1)
  • odoo_id Reference
    ondelete='cascade' required=True selection=_get_selection string='Odoo binding'
Public methods (0)

No public methods.

New fields (5)
  • active_ext Boolean
    string='Active in PrestaShop'
  • export_tracking Boolean
    string='Export tracking numbers to PrestaShop'
  • id_reference Integer
    help="In PrestaShop, carriers can be copied with the same 'Reference ID' (only the last copied carrier will be synchronized with the ERP)" string='Reference ID'
  • name_ext Char
    string='Name in PrestaShop'
  • odoo_id Many2one → delivery.carrier
    comodel_name='delivery.carrier' oldname='openerp_id' ondelete='cascade' required=True string='Delivery carrier'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.pricelist
    comodel_name='product.pricelist' oldname='openerp_id' ondelete='cascade' required=True string='Odoo Pricelist'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → mail.message
    comodel_name='mail.message' oldname='openerp_id' ondelete='cascade' required=True string='Message'
Public methods (0)

No public methods.

New fields (5)
  • company Char
    string='Company'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_category_id Many2one → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' help="This field is synchronized with the field 'Default customer group' in PrestaShop." string='PrestaShop default category'
  • group_ids Many2many → prestashop.res.partner.category
    column1='partner_id' column2='category_id' comodel_name='prestashop.res.partner.category' relation='prestashop_category_partner' string='PrestaShop Groups'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True string='Active'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop'
  • description Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • meta_description Char
    translate=True args: 'Meta description'
  • meta_keywords Char
    string='Meta keywords' translate=True
  • meta_title Char
    string='Meta title' translate=True
  • odoo_id Many2one → product.category
    comodel_name='product.category' oldname='openerp_id' ondelete='cascade' required=True string='Product Category'
  • position Integer
    string='Position'
Public methods (0)

No public methods.

New fields (4)
  • main_template_id Many2one → prestashop.product.template
    comodel_name='prestashop.product.template' ondelete='cascade' required=True string='Main Template'
  • odoo_id Many2one → product.product
    comodel_name='product.product' oldname='openerp_id' ondelete='cascade' required=True string='Product'
  • quantity Float
    help='Last computed quantity to send on PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
Public methods (1)
  • recompute_prestashop_qty(self)
    @api.multi

New fields (4)
  • group_type Selection
    default='select' string='Type' args: [('color', 'Color'), ('radio', 'Radio'), ('select', 'Select')]
  • odoo_id Many2one → product.attribute
    comodel_name='product.attribute' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    args: 'PrestaShop Position'
  • public_name Char
    string='Public Name' translate=True
Public methods (0)

No public methods.

New fields (3)
  • id_attribute_group Many2one → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option'
  • odoo_id Many2one → product.attribute.value
    comodel_name='product.attribute.value' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    default=1 string='PrestaShop Position'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → base_multi_image.image
    comodel_name='base_multi_image.image' oldname='openerp_id' ondelete='cascade' required=True string='Product image'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.supplierinfo
    comodel_name='product.supplierinfo' oldname='openerp_id' ondelete='cascade' required=True string='Supplier info'
Public methods (0)

No public methods.

New fields (15)
  • always_available Boolean
    default=True help='If checked, this product is considered always available' string='Active'
  • available_for_order Boolean
    default=True string='Available for Order Taking'
  • combinations_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='main_template_id' string='Combinations'
  • date_add Datetime
    readonly=True string='Created at (in PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated at (in PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' required=True string='Default shop'
  • description_html Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • description_short_html Html
    string='Short Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • odoo_id Many2one → product.template
    comodel_name='product.template' oldname='openerp_id' ondelete='cascade' required=True string='Template'
  • on_sale Boolean
    string='Show on sale icon'
  • quantity Float
    help='Last computed quantity to send to PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
  • show_price Boolean
    default=True string='Display Price'
  • wholesale_price Float
    digits_compute=dp.get_precision('Product Price') string='Cost Price'
Public methods (1)
  • recompute_prestashop_qty(self)
    @api.multi

New fields (1)
  • odoo_id Many2one → account.invoice
    comodel_name='account.invoice' oldname='openerp_id' ondelete='cascade' required=True string='Invoice'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.country
    comodel_name='res.country' oldname='openerp_id' ondelete='cascade' required=True string='Country'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.currency
    comodel_name='res.currency' oldname='openerp_id' ondelete='cascade' required=True string='Currency'
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=False string='Active in PrestaShop'
  • odoo_id Many2one → res.lang
    comodel_name='res.lang' oldname='openerp_id' ondelete='cascade' required=True string='Language'
Public methods (0)

No public methods.

New fields (6)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='shop_group_id.backend_id' store=True string='PrestaShop Backend'
  • birthday Date
    string='Birthday'
  • newsletter Boolean
    string='Newsletter'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='restrict' required=True string='PrestaShop Shop Group'
  • shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' string='PrestaShop Shop'
Public methods (0)

No public methods.

New fields (3)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • odoo_id Many2one → res.partner.category
    comodel_name='res.partner.category' oldname='openerp_id' ondelete='cascade' required=True string='Partner Category'
Public methods (0)

No public methods.

New fields (9)
  • odoo_id Many2one → sale.order
    comodel_name='sale.order' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order'
  • prestashop_delivery_number Char
    args: 'PrestaShop Delivery Number'
  • prestashop_discount_line_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='prestashop_order_id' string='PrestaShop Discount Lines'
  • prestashop_invoice_number Char
    args: 'PrestaShop Invoice Number'
  • prestashop_order_line_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='prestashop_order_id' string='PrestaShop Order Lines'
  • total_amount Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total amount in PrestaShop'
  • total_amount_tax Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total tax in PrestaShop'
  • total_shipping_tax_excluded Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
  • total_shipping_tax_included Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
Public methods (0)

No public methods.

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.state
    comodel_name='sale.order.state' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order State'
  • openerp_state_ids One2many → sale.order.state.list
    comodel_name='sale.order.state.list' inverse_name='prestashop_state_id' string='Odoo States'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' compute='_compute_backend_id' store=True string='PrestaShop Backend'
  • default_url Char
    args: 'Default url'
  • name Char
    help='The name of the method on the backend' required=True string='Name'
  • odoo_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' oldname='openerp_id' ondelete='cascade' readonly=True required=True string='WareHouse'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='cascade' required=True string='PrestaShop Shop Group'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' related='backend_id.company_id' string='Company'
  • name Char
    required=True args: 'Name'
  • shop_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='shop_group_id' readonly=True string='Shops'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option.value
    comodel_name='prestashop.product.combination.option.value' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.category
    comodel_name='prestashop.product.category' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_groups_bind_ids One2many → prestashop.groups.pricelist
    comodel_name='prestashop.groups.pricelist' inverse_name='odoo_id' string='PrestaShop user groups'
Public methods (0)

No public methods.

New fields (5)
  • default_on Boolean
    string='Default On'
  • impact_price Float
    digits=dp.get_precision('Product Price') string='Price Impact'
  • lst_price Float
    compute='_compute_lst_price'
  • prestashop_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' copy=False inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_combinations_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (6)
  • create(self, vals)
    @api.model
  • open_product_template(self)
    @api.multi
    Utility method used to add an "Open Product Template" button in product.product views
  • unlink(self)
    @api.multi
  • update_prestashop_qty(self)
    @api.multi
  • update_prestashop_quantities(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.supplierinfo
    comodel_name='prestashop.product.supplierinfo' inverse_name='odoo_id' string='PrestaShop bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.product.template
    comodel_name='prestashop.product.template' copy=False inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_default_category_id Many2one → product.category
    comodel_name='product.category' ondelete='restrict' string='PrestaShop Default Category'
Public methods (1)
  • update_prestashop_quantities(self)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.country
    comodel_name='prestashop.res.country' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.currency
    comodel_name='prestashop.res.currency' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_address_bind_ids One2many → prestashop.address
    comodel_name='prestashop.address' inverse_name='odoo_id' string='PrestaShop Address Bindings'
  • prestashop_bind_ids One2many → prestashop.res.partner
    comodel_name='prestashop.res.partner' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_supplier_bind_ids One2many → prestashop.supplier
    comodel_name='prestashop.supplier' inverse_name='odoo_id' string='PrestaShop supplier bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.sale.order
    comodel_name='prestashop.sale.order' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_discount_bind_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='odoo_id' string='PrestaShop Discount Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' required=True string='Company'
  • name Char
    translate=True args: 'Name'
  • prestashop_bind_ids One2many → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • name Selection
    required=True selection=[('draft', 'Draft Quotation'), ('sent', 'Quotation Sent'), ('cancel', 'Cancelled'), ('waiting_date', 'Waiting Schedule'), ('progress', 'Sales Order'), ('manual', 'Sale to Invoice'), ('invoice_except', 'Invoice Exception'), ('done', 'Done')] string='Odoo State'
  • prestashop_id Integer
    readonly=True related='prestashop_state_id.prestashop_id' store=True string='PrestaShop ID'
  • prestashop_state_id Many2one → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' string='PrestaShop State'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_synchronized Boolean
    help='Check this option to synchronize this location with PrestaShop' string='Sync with PrestaShop'
Public methods (1)
  • get_prestashop_stock_locations(self)
    @api.model

New fields (0)

No new fields.

Public methods (3)
  • create(self, vals)
    @api.model
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/connector-prestashop
GIT
GIThttps://github.com/OCA/connector-prestashop.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-prestashop/tree/8.0/connector_prestashop
VERSION
VERSION 1.0.5
CATEGORY
CATEGORYConnector
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), AvanzOSC, Akretion, Camptocamp
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, OCA Transbot, Hugo Santos, oca-travis, Sergio Teruel Albert, sergio.teruel
WEBSITE
WEBSITEhttps://github.com/OCA/connector-prestashop
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - connector
    - connector_base_product
OCA/connector-ecommerce:
    - connector_ecommerce
OCA/product-attribute:
    - product_m2mcategories
    - product_multi_image
OCA/product-variant:
    - product_variant_supplierinfo
    - product_variant_cost_price
OCA/sale-workflow:
    - sale_payment_method_automatic_workflow
    - sale_payment_method
    - sale_automatic_workflow
    - sale_exceptions
OCA/server-tools:
    - base_multi_image
odoo/odoo:
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - sale
    - sales_team
    - web_kanban_sparkline
    - account_voucher
    - procurement
    - sale_stock
    - stock_account
    - stock
    - web_kanban_gauge
    - delivery
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES html2text
prestapyt
requests
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (35)
XML IDNameModelTypeStatus
account_tax_group_connector_prestashop_tree_view prestashop.account.tax.group tree New
combination_connector_presta_form_view prestashop.product.combination form New
combination_connector_presta_tree_view prestashop.product.combination tree New
image_prestashop_binding_form_view Multi image prestashop binding form prestashop.product.image xpath Inherits base_multi_image.image_form_view
prestashop_binding_tax_group_form_view account.tax.group xpath Inherits connector_ecommerce.view_tax_group_form
product_category_connector_prestashop_form_view prestashop.product.category.form.view prestashop.product.category form New
product_category_connector_prestashop_tree_view prestashop.product.category tree New
product_category_prestashop_binding_form_view product.category xpath Inherits product.product_category_form_view
product_connector_presta_form_view prestashop.product.template form New
product_connector_presta_tree_view prestashop.product.template tree New
product_normal_form_view product.product page Inherits connector_base_product.product_normal_form_view
product_normal_form_view_default_check product.product field Inherits product.product_normal_form_view
product_product_tree_prestashop_view product.product.prestashop.tree product.product field Inherits product.product_product_tree_view
product_template_common_form product.template page Inherits connector_base_product.product_template_common_form
view_location_prestashop_inherited_form stock.location xpath Inherits stock.view_location_form
view_order_form sale.order page Inherits sale.view_order_form
view_partner_category_form res.partner.category.form res.partner.category xpath Inherits base.view_partner_category_form
view_partner_form res.partner.form res.partner page Inherits connector.view_partner_connector_form
view_prestashop_address_form prestashop.address.form prestashop.address form New
view_prestashop_address_tree prestashop.address.tree prestashop.address tree New
view_prestashop_backend_form prestashop.backend.form prestashop.backend form New
view_prestashop_backend_tree prestashop.backend.tree prestashop.backend tree New
view_prestashop_delivery_carrier_form prestashop.delivery.carrier form New
view_prestashop_delivery_carrier_tree prestashop.delivery.carrier tree New
view_prestashop_res_partner_form prestashop.res.partner.form prestashop.res.partner form New
view_prestashop_res_partner_tree prestashop.res.partner.tree prestashop.res.partner tree New
view_prestashop_sale_order_state_form prestashop.sale.order.state.form prestashop.sale.order.state form New
view_prestashop_sale_order_state_tree prestashop.sale.order.state.tree prestashop.sale.order.state tree New
view_prestashop_shop_form prestashop.shop.form prestashop.shop form New
view_prestashop_shop_group_form prestashop.shop.group.form prestashop.shop.group form New
view_prestashop_shop_group_tree prestashop.shop.group.tree prestashop.shop.group tree New
view_prestashop_shop_tree prestashop.shop.tree prestashop.shop tree New
view_sale_order_state_form sale.order.state.form sale.order.state form New
view_sale_order_state_tree sale.order.state.tree sale.order.state tree New
view_stock_form stock.warehouse xpath Inherits stock.view_warehouse
Models touched (56)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.refund
    comodel_name='prestashop.refund' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (1)
  • action_move_create(self)

New fields (1)
  • prestashop_bind_ids One2many → prestashop.account.tax
    comodel_name='prestashop.account.tax' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True required=True string='Company'
  • prestashop_bind_ids One2many → prestashop.account.tax.group
    comodel_name='prestashop.account.tax.group' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.image
    comodel_name='prestashop.product.image' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • company_id Many2one → res.company
    comodel_name='res.company' index=True string='Company'
  • prestashop_bind_ids One2many → prestashop.delivery.carrier
    comodel_name='prestashop.delivery.carrier' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.mail.message
    comodel_name='prestashop.mail.message' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax
    comodel_name='account.tax' oldname='openerp_id' ondelete='cascade' required=True string='Tax'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.tax.group
    comodel_name='account.tax.group' oldname='openerp_id' ondelete='cascade' required=True string='Tax Group'
Public methods (0)

No public methods.

New fields (7)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' compute='_compute_backend_id' store=True string='PrestaShop Backend'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • prestashop_partner_id Many2one → prestashop.res.partner
    comodel_name='prestashop.res.partner' ondelete='cascade' required=True string='PrestaShop Partner'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' compute='_compute_shop_group_id' store=True string='PrestaShop Shop Group'
  • vat_number Char
    args: 'PrestaShop VAT'
Public methods (0)

No public methods.

New fields (15)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> index=True required=True string='Company'
  • discount_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Discount Product'
  • import_orders_since Datetime
    args: 'Import Orders since'
  • import_partners_since Datetime
    args: 'Import partners since'
  • import_products_since Datetime
    args: 'Import Products since'
  • import_refunds_since Datetime
    args: 'Import Refunds since'
  • import_suppliers_since Datetime
    args: 'Import Suppliers since'
  • language_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='backend_id' string='Languages'
  • location Char
    args: 'Location'
  • shipping_product_id Many2one → product.product
    comodel_name='product.product' index=True required=True string='Shipping Product'
  • stock_location_id Many2one → stock.location
    comodel_name='stock.location' help='Location used to import stock quantities.' string='Stock Location'
  • taxes_included Boolean
    args: 'Use tax included prices'
  • version Selection
    required=True selection='_select_versions' string='Version'
  • warehouse_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' help='Warehouse used to compute the stock quantities.' required=True string='Warehouse'
  • webservice_key Char
    help="You have to put it in 'username' of the PrestaShop Webservice api path invite" string='Webservice key'
Public methods (15)
  • get_environment(self, model_name, session=None)
    @api.multi
  • get_stock_locations(self)
    @api.multi
  • get_version_ps_key(self, key)
  • import_carriers(self)
    @api.multi
  • import_customers_since(self)
    @api.multi
  • import_payment_methods(self)
    @api.multi
  • import_products(self)
    @api.multi
  • import_record(self, model_name, ext_id)
    @api.multi
  • import_refunds(self)
    @api.multi
  • import_sale_orders(self)
    @api.multi
  • import_stock_qty(self)
    @api.multi
  • import_suppliers(self)
    @api.multi
  • synchronize_basedata(self)
    @api.multi
  • synchronize_metadata(self)
    @api.multi
  • update_product_stock_qty(self)
    @api.multi

New fields (2)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' ondelete='restrict' required=True string='PrestaShop Backend'
  • prestashop_id Integer
    args: 'ID on PrestaShop'
Public methods (1)
  • resync(self)
    @api.multi

New fields (1)
  • odoo_id Reference
    ondelete='cascade' required=True selection=_get_selection string='Odoo binding'
Public methods (0)

No public methods.

New fields (5)
  • active_ext Boolean
    string='Active in PrestaShop'
  • export_tracking Boolean
    string='Export tracking numbers to PrestaShop'
  • id_reference Integer
    help="In PrestaShop, carriers can be copied with the same 'Reference ID' (only the last copied carrier will be synchronized with the ERP)" string='Reference ID'
  • name_ext Char
    string='Name in PrestaShop'
  • odoo_id Many2one → delivery.carrier
    comodel_name='delivery.carrier' oldname='openerp_id' ondelete='cascade' required=True string='Delivery carrier'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.pricelist
    comodel_name='product.pricelist' oldname='openerp_id' ondelete='cascade' required=True string='Odoo Pricelist'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → mail.message
    comodel_name='mail.message' oldname='openerp_id' ondelete='cascade' required=True string='Message'
Public methods (0)

No public methods.

New fields (11)
  • active Boolean
    default=True string='Active'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop'
  • description Html
    help='HTML description from PrestaShop' string='Description' translate=True
  • link_rewrite Char
    string='Friendly URL' translate=True
  • meta_description Char
    translate=True args: 'Meta description'
  • meta_keywords Char
    string='Meta keywords' translate=True
  • meta_title Char
    string='Meta title' translate=True
  • odoo_id Many2one → product.category
    comodel_name='product.category' oldname='openerp_id' ondelete='cascade' required=True string='Product Category'
  • position Integer
    string='Position'
Public methods (0)

No public methods.

New fields (4)
  • main_template_id Many2one → prestashop.product.template
    comodel_name='prestashop.product.template' ondelete='cascade' required=True string='Main Template'
  • odoo_id Many2one → product.product
    comodel_name='product.product' oldname='openerp_id' ondelete='cascade' required=True string='Product'
  • quantity Float
    help='Last computed quantity to send on PrestaShop.' string='Computed Quantity'
  • reference Char
    string='Original reference'
Public methods (1)
  • recompute_prestashop_qty(self)
    @api.multi

New fields (4)
  • group_type Selection
    default='select' string='Type' args: [('color', 'Color'), ('radio', 'Radio'), ('select', 'Select')]
  • odoo_id Many2one → product.attribute
    comodel_name='product.attribute' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    args: 'PrestaShop Position'
  • public_name Char
    string='Public Name' translate=True
Public methods (0)

No public methods.

New fields (3)
  • id_attribute_group Many2one → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option'
  • odoo_id Many2one → product.attribute.value
    comodel_name='product.attribute.value' oldname='openerp_id' ondelete='cascade' required=True string='Attribute'
  • prestashop_position Integer
    default=1 string='PrestaShop Position'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → base_multi_image.image
    comodel_name='base_multi_image.image' oldname='openerp_id' ondelete='cascade' required=True string='Product image'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → product.supplierinfo
    comodel_name='product.supplierinfo' oldname='openerp_id' ondelete='cascade' required=True string='Supplier info'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → account.invoice
    comodel_name='account.invoice' oldname='openerp_id' ondelete='cascade' required=True string='Invoice'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.country
    comodel_name='res.country' oldname='openerp_id' ondelete='cascade' required=True string='Country'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.currency
    comodel_name='res.currency' oldname='openerp_id' ondelete='cascade' required=True string='Currency'
Public methods (0)

No public methods.

New fields (2)
  • active Boolean
    default=False string='Active in PrestaShop'
  • odoo_id Many2one → res.lang
    comodel_name='res.lang' oldname='openerp_id' ondelete='cascade' required=True string='Language'
Public methods (0)

No public methods.

New fields (12)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' readonly=True related='shop_group_id.backend_id' store=True string='PrestaShop Backend'
  • birthday Date
    string='Birthday'
  • company Char
    string='Company'
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • default_category_id Many2one → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' help="This field is synchronized with the field 'Default customer group' in PrestaShop." string='PrestaShop default category'
  • group_ids Many2many → prestashop.res.partner.category
    column1='partner_id' column2='category_id' comodel_name='prestashop.res.partner.category' relation='prestashop_category_partner' string='PrestaShop Groups'
  • newsletter Boolean
    string='Newsletter'
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
  • prestashop_address_bind_ids One2many → prestashop.address
    comodel_name='prestashop.address' inverse_name='odoo_id' string='PrestaShop Address Bindings'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='restrict' required=True string='PrestaShop Shop Group'
  • shop_id Many2one → prestashop.shop
    comodel_name='prestashop.shop' string='PrestaShop Shop'
Public methods (0)

No public methods.

New fields (3)
  • date_add Datetime
    readonly=True string='Created At (on PrestaShop)'
  • date_upd Datetime
    readonly=True string='Updated At (on PrestaShop)'
  • odoo_id Many2one → res.partner.category
    comodel_name='res.partner.category' oldname='openerp_id' ondelete='cascade' required=True string='Partner Category'
Public methods (0)

No public methods.

New fields (9)
  • odoo_id Many2one → sale.order
    comodel_name='sale.order' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order'
  • prestashop_delivery_number Char
    args: 'PrestaShop Delivery Number'
  • prestashop_discount_line_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='prestashop_order_id' string='PrestaShop Discount Lines'
  • prestashop_invoice_number Char
    args: 'PrestaShop Invoice Number'
  • prestashop_order_line_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='prestashop_order_id' string='PrestaShop Order Lines'
  • total_amount Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total amount in PrestaShop'
  • total_amount_tax Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total tax in PrestaShop'
  • total_shipping_tax_excluded Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
  • total_shipping_tax_included Float
    digits_compute=dp.get_precision('Account') readonly=True string='Total shipping in PrestaShop'
Public methods (0)

No public methods.

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.line
    comodel_name='sale.order.line' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order line'
  • prestashop_order_id Many2one → prestashop.sale.order
    comodel_name='prestashop.sale.order' index=True ondelete='cascade' required=True string='PrestaShop Sale Order'
Public methods (1)
  • create(self, vals)
    @api.model

New fields (2)
  • odoo_id Many2one → sale.order.state
    comodel_name='sale.order.state' oldname='openerp_id' ondelete='cascade' required=True string='Sale Order State'
  • openerp_state_ids One2many → sale.order.state.list
    comodel_name='sale.order.state.list' inverse_name='prestashop_state_id' string='Odoo States'
Public methods (0)

No public methods.

New fields (5)
  • backend_id Many2one → prestashop.backend
    comodel_name='prestashop.backend' compute='_compute_backend_id' store=True string='PrestaShop Backend'
  • default_url Char
    args: 'Default url'
  • name Char
    help='The name of the method on the backend' required=True string='Name'
  • odoo_id Many2one → stock.warehouse
    comodel_name='stock.warehouse' oldname='openerp_id' ondelete='cascade' readonly=True required=True string='WareHouse'
  • shop_group_id Many2one → prestashop.shop.group
    comodel_name='prestashop.shop.group' ondelete='cascade' required=True string='PrestaShop Shop Group'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='backend_id.company_id' string='Company'
  • name Char
    required=True args: 'Name'
  • shop_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='shop_group_id' readonly=True string='Shops'
Public methods (0)

No public methods.

New fields (1)
  • odoo_id Many2one → res.partner
    comodel_name='res.partner' oldname='openerp_id' ondelete='cascade' required=True string='Partner'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option
    comodel_name='prestashop.product.combination.option' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.combination.option.value
    comodel_name='prestashop.product.combination.option.value' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.category
    comodel_name='prestashop.product.category' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_groups_bind_ids One2many → prestashop.groups.pricelist
    comodel_name='prestashop.groups.pricelist' inverse_name='odoo_id' string='PrestaShop user groups'
Public methods (0)

No public methods.

New fields (5)
  • default_on Boolean
    string='Default On'
  • impact_price Float
    digits=dp.get_precision('Product Price') string='Price Impact'
  • lst_price Float
    compute='_compute_lst_price'
  • prestashop_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' copy=False inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_combinations_bind_ids One2many → prestashop.product.combination
    comodel_name='prestashop.product.combination' inverse_name='odoo_id' string='PrestaShop Bindings (combinations)'
Public methods (6)
  • create(self, vals)
    @api.model
  • open_product_template(self)
    @api.multi
    Utility method used to add an "Open Product Template" button in product.product views
  • unlink(self)
    @api.multi
  • update_prestashop_qty(self)
    @api.multi
  • update_prestashop_quantities(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.product.supplierinfo
    comodel_name='prestashop.product.supplierinfo' inverse_name='odoo_id' string='PrestaShop bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.country
    comodel_name='prestashop.res.country' inverse_name='odoo_id' readonly=True string='prestashop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.currency
    comodel_name='prestashop.res.currency' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.lang
    comodel_name='prestashop.res.lang' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_address_bind_ids One2many → prestashop.address
    comodel_name='prestashop.address' inverse_name='odoo_id' string='PrestaShop Address Bindings'
  • prestashop_bind_ids One2many → prestashop.res.partner
    comodel_name='prestashop.res.partner' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_supplier_bind_ids One2many → prestashop.supplier
    comodel_name='prestashop.supplier' inverse_name='odoo_id' string='PrestaShop supplier bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.res.partner.category
    comodel_name='prestashop.res.partner.category' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_bind_ids One2many → prestashop.sale.order
    comodel_name='prestashop.sale.order' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (2)
  • prestashop_bind_ids One2many → prestashop.sale.order.line
    comodel_name='prestashop.sale.order.line' inverse_name='odoo_id' string='PrestaShop Bindings'
  • prestashop_discount_bind_ids One2many → prestashop.sale.order.line.discount
    comodel_name='prestashop.sale.order.line.discount' inverse_name='odoo_id' string='PrestaShop Discount Bindings'
Public methods (0)

No public methods.

New fields (3)
  • company_id Many2one → res.company
    comodel_name='res.company' required=True string='Company'
  • name Char
    translate=True args: 'Name'
  • prestashop_bind_ids One2many → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' inverse_name='odoo_id' string='PrestaShop Bindings'
Public methods (0)

No public methods.

New fields (3)
  • name Selection
    required=True selection=[('draft', 'Draft Quotation'), ('sent', 'Quotation Sent'), ('cancel', 'Cancelled'), ('waiting_date', 'Waiting Schedule'), ('progress', 'Sales Order'), ('manual', 'Sale to Invoice'), ('invoice_except', 'Invoice Exception'), ('done', 'Done')] string='Odoo State'
  • prestashop_id Integer
    readonly=True related='prestashop_state_id.prestashop_id' store=True string='PrestaShop ID'
  • prestashop_state_id Many2one → prestashop.sale.order.state
    comodel_name='prestashop.sale.order.state' string='PrestaShop State'
Public methods (0)

No public methods.

New fields (1)
  • prestashop_synchronized Boolean
    help='Check this option to synchronize this location with PrestaShop' string='Sync with PrestaShop'
Public methods (1)
  • get_prestashop_stock_locations(self)
    @api.model

New fields (0)

No new fields.

Public methods (1)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (3)
  • create(self, vals)
    @api.model
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (1)
  • prestashop_bind_ids One2many → prestashop.shop
    comodel_name='prestashop.shop' inverse_name='odoo_id' readonly=True string='PrestaShop Bindings'
Public methods (0)

No public methods.